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

Steve's transcript of a Google I/O 2008 talk deliberately titled "Server-Side JavaScript on the Java Virtual Machine" to keep the room small — forty people walked in, four hundred were standing by the end. The talk is two arguments in one. The project-announcement half is the case for server-side JavaScript on the JVM as a near-term practical thing, via Mozilla's Rhino engine and a Ruby-on-Rails port Steve was building on top of it. The middle section, "Static Typing's Paper Tigers," is the part the industry still quotes: Steve walks through the failure modes static-typing advocates warn dynamic-language users about and argues each one is folded out of paper — fierce in argument, absent in production.

It pairs with Dynamic Languages Strike Back from a month earlier. Rhinos and Tigers is the more practical of the two — the one with the project announcement — and the source of the "paper tigers" framing that has outlived the Rhino-on-Rails project it was attached to.

Related listings