diff options
Diffstat (limited to 'content/go1-preview.article')
-rw-r--r-- | content/go1-preview.article | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/content/go1-preview.article b/content/go1-preview.article new file mode 100644 index 0000000..6e3f474 --- /dev/null +++ b/content/go1-preview.article @@ -0,0 +1,49 @@ +# A preview of Go version 1 +5 Oct 2011 +Tags: go1, release +Summary: What the Go team is planning for Go version 1. +OldURL: /preview-of-go-version-1 + +Russ Cox + +## + +We want to be able to provide a stable base for people using Go. +People should be able to write Go programs and expect that they will continue +to compile and run without change, +on a timescale of years. +Similarly, people should be able to write books about Go, +be able to say which version of Go the book is describing, +and have that version number still be meaningful much later. +None of these properties is true for Go today. + +We propose to issue a Go release early next year that will be called “Go version 1”, +Go 1 for short, that will be the first Go release to be stable in this way. +Code that compiles in Go version 1 should, +with few exceptions, continue to compile throughout the lifetime of that version, +as we issue updates and bug fixes such as Go version 1.1, 1.2, and so on. +It will also be maintained with fixes for bugs and security flaws even as +other versions may evolve. +Also, production environments such as Google App Engine will support it +for an extended time. + +Go version 1 will be a stable language with stable libraries. +Other than critical fixes, changes made to the library and packages for versions 1.1, +1.2 and so on may add functionality but will not break existing Go version 1 programs. + +Our goal is for Go 1 to be a stable version of today’s Go, +not a wholesale rethinking of the language. +In particular, we are explicitly resisting any efforts to design new language +features “by committee.” + +However, there are various changes to the Go language and packages that +we have intended for some time and prototyped but have not deployed yet, +primarily because they are significant and backwards-incompatible. +If Go 1 is to be long-lasting, it is important that we plan, +announce, implement, and test these changes as part of the preparation of Go 1, +rather than delay them until after it is released and thereby introduce +divergence that contradicts our goals. + +Today, we are publishing our preliminary [plan for Go 1](https://docs.google.com/document/pub?id=1ny8uI-_BHrDCZv_zNBSthNKAMX_fR_0dc6epA6lztRE) +for feedback from the Go community. +If you have feedback, please reply to the [thread on the golang-nuts mailing list](http://groups.google.com/group/golang-nuts/browse_thread/thread/badc4f323431a4f6). |