Skip to content

Google Go

Java was the groundbreaker a bit more than ten years ago. It looked to consolidate much that had been learned about programming languages. Advances since then have been signficiant and that has led to a lot of cruft in Java, many followers-on, and significant distractions in the many scripting languages that have popped up with new ideas trying to meet demand.

Google has joined the fray. Ostatic describes the effort in Google Unleashes Go: A Brand New Systems Programming Language.

If its pedigree is any indication, Go is in good shape. The initial design for Go was scoped out by Rob Pike, Ken Thompson, and Robert Griesemer. You might remember some of those names from such projects as Unix, C, and Plan 9.

At the Go website, there is a Language Design FAQ that describes the stimulus for yet another computer language

Go was born out of frustration with existing languages and environments for systems programming. Programming had become too difficult and the choice of languages was partly to blame. One had to choose either efficient compilation, efficient execution, or ease of programming; all three were not available in the same mainstream language. Programmers who could were choosing ease over safety and efficiency by moving to dynamically typed languages such as Python and JavaScript rather than C++ or, to a lesser extent, Java.

I like this guiding principle comment

Programming today involves too much bookkeeping, repetition, and clerical work. As Dick Gabriel says, “Old programs read like quiet conversations between a well-spoken research worker and a well-studied mechanical colleague, not as a debate with a compiler. Who’d have guessed sophistication bought such noise?” The sophistication is worthwhile—no one wants to go back to the old languages—but can it be more quietly achieved?

Over on Slashdot, someone noted that there isn’t a big library defined for Go (yet). Responses indicated how this sort of gap could be provided using examples such as CPAN or a JVM translator. The key, though, is to keep it simple. Make a lean, mean, efficient, modern programming language and the rest will come.

This effort has a small team with undisputed pedigree in an environment that at the top of the heap in the modern software paradigm. The values are appealing, at least to me. It will be worth keeping track of this one.

Post a Comment

You must be logged in to post a comment.