BT
x Your opinion matters! Please fill in the InfoQ Survey about your reading habits!

Go 1–The First Major Release of the Google Go Language

by Abel Avram on Mar 29, 2012 |

Go has reached the first major release, Google promising it will be stable for the years to come. YouTube uses Go in their core infrastructure.

Announced in November 2009, Google Go has reached the first major milestone: Go Version 1, or Go 1. After 2 years of working on its specifications and stability, Google says that Go is ready for adoption and any Go 1 program will be compiled and run without changes with future point releases of the language for years to come. Compatibility is to be maintained at source code level and may require recompilation between point releases. Major releases, such as Go 2, may break the compatibility even at source code level when the specs may need to change, for example due to security reasons. Go 1 and the Future of Go Programs explains the Go compatibility issues developers may have in the future and how to prevent them. Programs written prior to this release can be automatically updated to run with Go 1 using the go fix tool.

Go comes with some new additions: Unicode characters aka the rune type, the error type and package, a time package and others detailed in the Release Notes.

Currently, Go 1 programs can run on Linux, FreeBSD, Mac OS X and Windows, the standard distribution including compilers for x86, AMD-64 and ARM CPUs. A PowerPC compiler is in the works.

The App Engine SDK 1.6.4 has been updated to support Go 1 running on Linux and Max OS X platforms, both 32 and 64 bit. Google has been using Go internally but without offering many details until recently. Andrew Gerrand, a Google Engineer, declared that YouTube uses Go in “their core infrastructure, serving more than a billion requests per day with this service alone.” Also, Vitess, a Google project meant to help scaling up MySQL, is written in Go.

Some users of Go are: Canonical uses Go for their backend infrastructure, Atlassian uses Go for provisioning and monitoring test servers, Doozer, an open source consistent and distributed data store is implemented in Go and run on Heroku, , and others. Nonetheless, the language has not gained minimal adoption and it just dropped from Tiobe’s Top 50 Languages this month which poses significant questions regarding its future.

Go is a compiled static language meant to replace native languages such as C and C++ by having a simpler syntax, fast execution time and cross-platform support. The Tour of Go interactively shows its basic features.

Google is proposing yet another language, Dart, which is a dynamic language meant to replace JavaScript. Like Go, Dart has not yet seen significant adoption, making one wonder if Google will end up being the only one using it in the future.

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

A fun blog about Go programming language. by Sai Matam

This article in no way criticizes or makes fun of the Google's GO language. This article should be read in a lighter vien. Who says software engineers don't have a sense of humor about their profession?

www.codewalk.com/2012/03/humor-fun-definitions-...

Sai Matam
Http://www.codewalk.com

Debugging tools? by Julien Bérubé

They should call the debugger "go figure". ;)

Re: Debugging tools? by Jörg W Mittag

Actually, they want to call it "ogle".

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

3 Discuss

Educational Content

General Feedback
Bugs
Advertising
Editorial
InfoQ.com and all content copyright © 2006-2014 C4Media Inc. InfoQ.com hosted at Contegix, the best ISP we've ever worked with.
Privacy policy
BT