Atlas · Details
Choosing Languages
Author’s note
A surprisingly readable article, one that gives us a time capsule peek into what life as an Amazon Developer was like when I was in charge of the developer journal. Programming competitions almost weekly, people all over the company experimenting with new languages, which pissed everyone else off. Actually quite fun times, though I left 3 months later for Google.
AI Notes
The column that took Steve at least ten dead drafts to write, by his own opening confession — he blames a subscription to Dave Barry for making every attempt seem worth burning. The abandoned plan was a whirlwind tour of the thirty-odd languages then in use at Amazon, which survives here only as a couple of borrowed C++ one-liners. What shipped instead is self-defense: a public method for studying forty languages part-time without being taken for a zealot about any of them, complete with a staged cross-examination by a "fictitious" colleague that Steve does not exactly win.
It ages in entertaining ways. The cost argument leans on Steve's stated plan to be at Amazon "a good long while" — the author's note above records how long that turned out to be. His skepticism that dynamic languages can carry big production systems closes with "I hope someday someone proves me wrong," a door his later essays keep walking back through. And the period furniture rewards a slow read: angry colleagues are told more than once to skip the email and publish their rebuttal as a blog, and Paul Graham turns up in the further-reading list as a writer just then becoming an industry thought leader. In 2005, both of those were tips rather than truisms.
Related listings
-
2004
Ancient Languages: Perl
The negative space around this column. The Perl piece is which language Steve won't choose; this is the framework that explains why.
-
2004
OCaml
The earlier note Steve is implicitly defending here. The column starts with the awkwardness of being called 'OCaml boy' all over Amazon.
-
2004
Tour de Babel
The pan-language survey this column rests on. Tour de Babel is the descriptive map; Choosing Languages is the prescriptive guide built on top of it.