Many of today’s programmers – sorry, software engineers– consider themselves “creators”. Artists of a kind. They are given to ostentatious personal websites with cleverly hidden easter eggs and parallax scrolling; they assign themselves titles with a few hyphens (“former Amazon engineer-investor-author”) and crowd their laptops with vinyl ID stickers. Some consider themselves literary sophisticates. Consider the references broken down into specific product names: Apache Kafka, ScyllaDB, Claude 3.5 Sonnet.
Much of this, I admit, applies to me. The difference is that I lack hyphenation talents, and my toy projects — with names like “Nabokov” (I know, I know) — are better off staying on my laptop. I entered this world almost at the moment when software engineering overtook banking as the most valued profession. There is a lot of hate and self-loathing to contend with.
Perhaps this is why I see the spirit behind the Go programming language as both a rebuke and a potential corrective to my generation of aspirants. Its creators hail from an era when programmers had less ego and less commercial ambition, and it is, for my money, the best general-purpose language of the new millennium – not the best at anything , but pretty much the best at pretty much everything . A model for our lightning time.
If I were to categorize programming languages as art movements, there would be mid-century utilitarianism (Fortran, COBOL), high theory formalism (Haskell, Agda), American corporate pragmatism (C#, Java), grassroots communitarianism (Python, Ruby) and esoteric hedonism (Befunge, Brainfuck). And I’d argue that Go, often described as “C for the 21st century,” represents neoclassicism: not so much a revolution as a throwback.
In 2007 three programmers at Google have come together around a shared feeling that standard languages like C++ and Java have become difficult to use and ill-adapted to the current, more cloud-oriented computing environment. One was Ken Thompson, a former Bell Labs employee and Turing Award winner for his work on Unix, the mitochondrial Eve of operating systems. (These days, OS people don’t mess with programming languages—doing both is akin to an Olympic high jump that also qualifies for the marathon.) He was joined by Rob Pike, another Bell Labs alum who together with Thompson created the Unicode encoding standard UTF-8. You can thank them for your emoticons.
Watching these doyens of programming create Go was like seeing Scorsese, De Niro, and Pesci reunite for The Irishman. Even its flippantly SEO-unfriendly name can be forgiven. I mean, the sheer sass of it. A move only the king of search engines would dare.