Initial Thoughts on Google Go
I read the “tutorial”: and thought, “the syntax is Frankenstein ugly. They have Guido on staff, but this looks like they consulted Larry Wall. Why didn’t they just write an open source D compiler?”
Then I read the FAQ. Some very interesting ideas, and personally, ever since using C++ for some large embedded programming projects (large? embedded? not as oxymoronic as you might think), I’ve been thinking these same things for a while now:
No major systems language has emerged in over a decade, but over that time the computing landscape has changed tremendously. There are several trends:
- Computers are enormously quicker but software development is not faster.
- Dependency management is a big part of software development today but the “header files” of languages in the C tradition are antithetical to clean dependency analysis—and fast compilation.
- There is a growing rebellion against cumbersome type systems like those of Java and C++, pushing people towards dynamically typed languages such as Python and JavaScript.
- Some fundamental concepts such as garbage collection and parallel computation are not well supported by popular systems languages.
- The emergence of multicore computers has generated worry and confusion.
We believe it’s worth trying again with a new language, a concurrent, garbage-collected language with fast compilation.
D has been around a while, but it just doesn’t seem to be catching on; maybe because it just doesn’t have a large corporation behind it. Maybe because it’s not fully open source. Or, maybe because it doesn’t have all the features of Go.
Bryan
Comments