| Go: What's New in March 2010 |
| 18 Mar 2010 |
| |
| Andrew Gerrand |
| |
| * Introduction |
| |
| Welcome to the official Go Blog. We, the Go team, |
| hope to use this blog to keep the world up-to-date on the development of |
| the Go programming language and the growing ecosystem of libraries and applications surrounding it. |
| |
| It's been a few months since we launched (November last year), |
| so let's talk about what's been happening in Go World since then. |
| |
| The core team at Google has continued to develop the language, |
| compilers, packages, tools, and documentation. |
| The compilers now produce code that is in some cases between 2x and an order |
| of magnitude faster than at release. |
| We have put together some graphs of a selection of [[http://godashboard.appspot.com/benchmarks][Benchmarks]], |
| and the [[http://godashboard.appspot.com/][Build Status]] page tracks the |
| reliability of each changeset submitted to the repository. |
| |
| We have made syntax changes to make the language more concise, |
| regular, and flexible. |
| Semicolons have been [[http://groups.google.com/group/golang-nuts/t/5ee32b588d10f2e9][almost entirely removed]] from the language. |
| The [[https://golang.org/doc/go_spec.html#Function_types][...T syntax]] |
| makes it simpler to handle an arbitrary number of typed function parameters. |
| The syntax x[lo:] is now shorthand for x[lo:len(x)]. |
| Go also now natively supports complex numbers. |
| See the [[https://golang.org/doc/devel/release.html][release notes]] for more. |
| |
| [[https://golang.org/cmd/godoc/][Godoc]] now provides better support for |
| third-party libraries, |
| and a new tool - [[https://golang.org/cmd/goinstall][goinstall]] - has been |
| released to make it easy to install them. |
| Additionally, we've started working on a package tracking system to make |
| it easier to find what you need. |
| You can view the beginnings of this on the [[http://godashboard.appspot.com/package][Packages page]]. |
| |
| More than 40,000 lines of code have been added to [[https://golang.org/pkg/][the standard library]], |
| including many entirely new packages, a sizable portion written by external contributors. |
| |
| Speaking of third parties, since launch a vibrant community has flourished |
| on our [[http://groups.google.com/group/golang-nuts/][mailing list]] and |
| irc channel (#go-nuts on freenode). |
| We have officially added [[https://golang.org/CONTRIBUTORS][more than 50 people]] to the project. |
| Their contributions range from bug fixes and documentation corrections to |
| core packages and support for additional operating systems (Go is now supported under FreeBSD, |
| and a [[http://code.google.com/p/go/wiki/WindowsPort][Windows port]] is underway). |
| We regard these community contributions our greatest success so far. |
| |
| We've received some good reviews, too. This [[http://www.pcworld.idg.com.au/article/337773/google_go_captures_developers_imaginations/][recent article in PC World]] |
| summarized the enthusiasm surrounding the project. |
| Several bloggers have begun documenting their experiences in the language |
| (see [[http://golang.tumblr.com/][here]], |
| [[http://www.infi.nl/blog/view/id/47][here]], |
| and [[http://freecella.blogspot.com/2010/01/gospecify-basic-setup-of-projects.html][here]] |
| for example) The general reaction of our users has been very positive; |
| one first-timer remarked [[https://groups.google.com/group/golang-nuts/browse_thread/thread/5fabdd59f8562ed2]["I came away extremely impressed. Go walks an elegant line between simplicity and power."]] |
| |
| As to the future: we have listened to the myriad voices telling us what they need, |
| and are now focused on getting Go ready for the prime time. |
| We are improving the garbage collector, runtime scheduler, |
| tools, and standard libraries, as well as exploring new language features. |
| 2010 will be an exciting year for Go, and we look forward to collaborating |
| with the community to make it a successful one. |