diff --git a/Go2.md b/Go2.md new file mode 100644 index 00000000..782744b8 --- /dev/null +++ b/Go2.md @@ -0,0 +1,45 @@ +# Go2 status + +This page tracks the status of "Go 2". + +Go 2 is in a very early, planning phase. + +## Bugs + +* [Open Go2 bugs](https://github.com/golang/go/issues?q=is%3Aissue+is%3Aopen+label%3AGo2) +* + +## Talks + +* [GopherCon 2017: Russ Cox - The Future of Go](https://www.youtube.com/watch?v=0Zbh_vmAKvk) +* [GopherCon Russia 2018: Brad Fitzpatrick - Go: Looking back and looking forward](https://www.youtube.com/watch?v=ZCB-g2B4Y5A) (Go2 stuff is at about 20 minutes in) + +## Scope + +From talk above: + +* "maybe three major changes" +* plus minor housekeep tasks +* TBD + +Examples of major changes: + +* [generics](https://github.com/golang/go/issues/15292)? +* [simplified, improved error handling](https://github.com/golang/go/issues/21161)? +* ... + +Examples of housekeeping: + +* [Open Go2Cleanup bugs](https://github.com/golang/go/issues?q=is%3Aissue+is%3Aopen+label%3AGo2Cleanup) (please don't add this label to things without discussion) + +## Compatibility + +We do not want to break the ecosystem. Go 1 and Go 2 code must be able to interoperate in programs with ease. + +## Standard library + +The standard library would probably be versioned and permit out-of-cycle updates, but be included with Go releases. Maybe "encoding/foo" become shorthand for "golang.org/x/std/encoding/foo". TBD. Some package would probably get v2 major versions, but the v1 versions would be minimally maintained, at least for security. + +## Roadmap + +TBD \ No newline at end of file