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
Written for the Amazon Developers Journal after enough co-workers had started greeting Steve as "OCaml boy" that the joke accumulated mass. He spends the opening politely pushing back — he wasn't telling Amazon to switch to OCaml; he was studying it, the way he was studying twenty or thirty other languages — and uses the rest to publish a working framework for actually choosing one. Every language goes into one of four buckets (Production, Scripting, Studyable, Stuck-with); the right pick is almost always the highest-level option in the right bucket; for "real" work, only consider popular languages. The middle detours through pattern-matching as a Design Pattern in the Gang of Four sense — the characteristic teaching move, where instead of evangelising OCaml he extracts the transferable idea (you do dispatch all the time; languages with native syntax for it are easier) and hands it back as a general lesson.
The cleanest summary of Steve's language-selection thinking in the Drunken era. The four-bucket framework is the rule implicitly running under every other 2004–2006 language piece; the then-current picks (Java for big systems, Ruby for everything else) date the column precisely. Read alongside Tour de Babel for the map, Ancient Languages: Perl for the most thoroughly worked counter-pick.
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.