Rhinos and Tigers — cover art: a calm storybook rhinoceros standing in a sunlit Victorian garden, looking down at a small paper tiger posed fiercely in front of its forefoot. 🤓

2008 · Stevey's Blog Rants · Talk transcript

“If you're impatient, and I wouldn't blame you a bit, the best part is probably 'Static Typing's Paper Tigers'.”
— From Rhinos and Tigers, June 2008
Read the essay

© 2008 Steve Yegge. Originally published at Stevey's Blog Rants.

Author’s note

This one is long. It has a lot of disclaimers in the beginning, and I ignored them and tried to read it. It's long.

Mozilla Rhino was an implementation of JavaScript for the JVM. It was very cool. I talk about a bunch of the ways it's cool, such as how it improves your unit testing for regular Java code. I learned a ton about JavaScript using Rhino, and even contributed fixes to the parser for tooling.

If I were going to do my game all over again, starting 15 years later, I am almost certain I would have chosen TypeScript, and been pretty happy with it.

AI Notes

A near-verbatim transcript with the seams left in: Steve blanks on the name "Google App Engine" while standing on a Google stage, and keeps breaking off mid-argument to wave the overflow crowd toward the empty front rows. The digressions carry it. There's a Foo Camp tent where the assembled VM implementors of the world argued for three hours over one innocent question about how their languages might call each other, and a boyhood tropical-fish tank pressed into service to explain why the JSON and XML camps can't stop biting each other. Steve is hauling the Scala language spec around in his backpack so he can diss it "from a position of sort of knowledge, not ignorance." The typing section itself hangs on one very old joke about keeping tigers away, and the joke arrives intact.

What reads strangest now is that the prophecy landed while the vehicle sank. Server-side JavaScript arrived for real within about a year of this talk, on Node's single-threaded engine rather than the JVM, and the native threads Rhino gets pitched on here were precisely what Node threw away. RnR, the Rails port promised for open-sourcing "this year," never shipped at all; the JSCompiler promised on the final slide did, as Closure Compiler. In between sits the emailer who told Steve he was "today's Paul Graham" and RnR "the next Arc" — meaning it as an insult, and calling the odds right.

Related listings