Google Go 1.3: Better than C?
With zippier performance, better tooling, and additional support for diverse environments, Chocolate Factory language gives C a run for its money.
First launched in 2009, Google’s home-brew language
was backed by early adopters as the language to supplant
Java in popularity. It was developed to be a modern language for
low-level programming, and takes a good degree of inspiration from
the C family. The Go-syntax is similar to C, though enriched by
elements of the Pascal / Modula / Oberon family as well as from
Newsqueak and Limbo (concurrency).
According to Google, it incorporates the
advantages of an interpreted high level language with the
efficiency and safety of a statically typed, compiled language.
Memory management comes courtesy of a Java style garbage collector,
and there’s a Type-safety swirled in to protect against variables
chaos. Go also has support for multi-core programming, closures,
reflection and classless object orientation with interfaces and
This week’s release of Go 1.3 may go
some way to helping the Chocolate Factory language further its
reach, offering faster performance, improved tooling, and support
for additional environments. Rather than focusing on fancy new
language features, Google has put the emphasis on optimization over
implementation. It’s also very nearly fully compatible with older
versions of the language, with the release notes stating that
“almost everything will continue to compile and run without change
when moved to 1.3.”
For example, a revision to the compiler tool
should mean faster builds. Additionally, the the instruction
selection phases, which was previously included in the linked, has
now been set into the compiler, which could help accelerate
incremental builds for large projects.
Go’s garbage collector now works with a greater
deal of precision, in particular when it comes to stacking
analysis. And finally, the memory model has also been refined to
help users achieve better synchronization results. DragonFly BSD,
Solaris, Plan 9 and Google’s Native Client Architecture (NaCl) are
now supported (though on an “experimental” basis) as new
Though it’s footprint is fairly miniscule compared to Java
and other rising JVM stars, Go is steadily gaining followers, who
are likely moving away from other alternative languages. As RedMonk
Language Popularity Rankings
show, it’s certainly gaining traction in StackOverflow and
GitHub. Currently sitting at number 21 on the analysts’ rankings,
it’s predicted Google’s pet project could break into RedMonk’s top
twenty within the next six months.