Atlas · Details
Is Weak Typing Strong Enough?
Author’s note
Not a bad read. It starts off with a bunch of kind of obvious distinctions, but then it becomes clear why. My Java/Perl showdown from Customer Service Apps at Amazon made it clear, over a period of several years, that all the FUD around dynamic languages was over nothing.
Back then, it was pretty unusual for a "real" company to be written entirely in a dynamic language. Today we have lots of examples, like Stripe using mostly Ruby, and Booking.com using mostly Perl.
Node and TypeScript had a huge impact on the ecosystem and adoption of dynamic languages. Now they're everywhere, but back when I wrote this, they were definitely considered to be for Losers Only. That's why I'd do these rants.
AI Notes
Unusually even-handed for something running under the Drunken Blog Rants banner: the title is a genuine question, posed by someone who was, on his own account, "a die-hard Java guy" when the evidence started piling up against his side. The essay also treats typing as a bigger issue than programming languages — the same strong-versus-weak choice shows up in relational schemas and XML modeling, and some of the best material concerns the untyped name/value attribute system, a "gaping hole" in the customer-contacts data model that kept rescuing the team from requirements no schema had anticipated. The war stories are the draw, among them weeks of corporate angst over letting sports fans put custom initials on a jersey, a request the rigid order model simply could not pass through to the backend. And the bureaucracy line quoted above has an origin story the page doesn't give: Steve had just watched the Vogons in the new Hitchhiker's Guide movie that weekend.
Read it knowing that in May 2005 Steve could not point to a single large production service built on a dynamic language; he closes still asking readers for evidence, too wary of Ruby's performance to bet on it and unconvinced Common Lisp had momentum. The shape he endorses (types added selectively, where they pay) is roughly where the mainstream eventually landed, arriving by way of TypeScript and Python type hints instead of Lisp. The weakest stretch is the cons-of-static-typing list, where a couple of entries run on pure vibes; Steve knows it, hedging one claim himself with "Maybe it's my imagination, though."
Related listings
-
2004
When Polymorphism Fails
The design-essay companion. Polymorphism Fails is about where class-based OO breaks; Weak Typing is about where static type-systems break. Same underlying complaint, two scales.
-
2005
Choosing Languages
Same arc — the framework piece. Weak Typing is the empirical evidence that put Steve in the four-bucket framework's dynamic-by-default position.
-
2004
Tour de Babel
Same year — the broad survey this piece updates. Tour de Babel ranks languages by feel; Weak Typing tests that ranking against a multi-year side-by-side at Amazon.