10 November 2014
Five years ago we launched the Go project. It seems like only yesterday that we
were preparing the initial public release: our
a lovely shade of yellow, we were calling Go a "systems language", and you had
to terminate statements with a semicolon and write Makefiles to build your
code. We had no idea how Go would be received. Would people share our vision
and goals? Would people find Go useful?
At launch, there was a flurry of attention. Google had produced a new
programming language, and everyone was eager to check it out. Some programmers
were turned off by Go's conservative feature set—at first glance they saw
"nothing to see here"—but a smaller group saw the beginnings of an ecosystem
tailored to their needs as working software engineers. These few would form the
kernel of the Go community.
Gopher illustration by Renee French
After the initial release, it took us a while to properly communicate the
goals and design ethos behind Go. Rob Pike did so eloquently in his 2012 essay
Go at Google: Language Design in the Service of Software Engineering and
more personally in his blog post
Less is exponentially more.
Code that grows with grace
Go for Gophers
(slides) give a
more in-depth, technical take on Go's design philosophy.
Over time, the few became many. The turning point for the project was the
release of Go 1 in March 2012, which provided a stable language and standard
library that developers could trust. By 2014, the project had hundreds of core
contributors, the ecosystem had countless libraries and tools
maintained by thousands of developers, and the greater community had
many passionate members (or, as we call them, "gophers"). Today, by our current
metrics, the Go community is growing faster than we believed possible.
Where can those gophers be found? They are at the many Go events that are
popping up around the world. This year we saw several dedicated Go conferences:
the inaugural GopherCon and
dotGo conferences in Denver and Paris, the
Go DevRoom at FOSDEM and two more
instances of the biannual GoCon conference
in Tokyo. At each event, gophers from around the globe eagerly presented their
Go projects. For the Go team, it is very satisfying to meet so many programmers
that share our vision and excitement.
More than 1,200 gophers attended GopherCon in Denver and dotGo in Paris.
There are also dozens of community-run
Go User Groups spread across cities
worldwide. If you haven't visited your local group, consider going along. And
if there isn't a group in your area, maybe you should
Today, Go has found a home in the cloud. Go arrived as the industry underwent a
tectonic shift toward cloud computing, and we were thrilled to see it quickly
become an important part of that movement. Its simplicity, efficiency, built-in
concurrency primitives, and modern standard library make it a great fit for
cloud software development (after all, that's what it was designed for).
Significant open source cloud projects like
Kubernetes have been
written in Go, and infrastructure companies like Google, CloudFlare, Canonical,
Digital Ocean, GitHub, Heroku, and Microsoft are now using Go to do some heavy
So, what does the future hold? We think that 2015 will be Go's biggest year yet.
Go 1.4—in addition to its new features and fixes—lays
the groundwork for a new low-latency garbage collector and support for running
Go on mobile devices. It is due to be released on December 1st 2014.
We expect the new GC to be available in Go 1.5, due June 1st 2015, which will
make Go appealing for a broader range of applications.
We can't wait to see where people take it.
And there will be more great events, with GothamGo in
New York (15 Nov), another Go DevRoom at FOSDEM in Brussels (Jan 31 and Feb 1;
GopherCon India in Bengaluru (19-21 Feb),
the original GopherCon back at Denver in July, and
dotGo on again at Paris in November.
The Go team would like to extend its thanks to all the gophers out there.
Here's to the next five years.
To celebrate 5 years of Go, over the coming month the
will publish a series of articles by prominent Go users. Be sure to check out
for more Go action.