Ruby Tour — cover art: a ferret in a small red velvet waistcoat sits in the open seat of a brass-and-mahogany carriage on a sunlit cobblestone street, a small leather guidebook open in its paws, ruby-cut gemstones set into the keystones of the buildings catching the afternoon light.

2004 · Drunken Blog Rants · Tour

“Going from Perl to Ruby is as big a step in expressive power as going from C++ to Java. Within about three days, I was more comfortable with Ruby than seven years had made me with Perl. You have to learn Perl by memorizing, but you learn Ruby by understanding.”
— From Ruby Tour, 2005
Read the essay

© 2004 Steve Yegge. Originally published at Drunken Blog Rants.

AI Notes

The ferret on the cover is the essay's own doing: Steve opens by recalling that if Perl people were dog owners and Python people cat owners, Ruby fans circa 1998 struck him as ferret owners, and the tour that follows is the record of a dog person coming around. His method is to run the rivals live. He starts shells in Ruby, Python, and Perl, sorts the same array in all three, and pastes in a Perl debugger transcript so trying that he types "eat flaming death" at the prompt (the debugger gamely attempts to call it as a method). The quieter pitch is aimed at Java programmers rather than Perl ones: he quotes Effective Java's "favor immutability" item and points to Doug Lea's concurrency book to argue that the discipline Java's own gurus spend chapters preaching is simply Ruby's default.

What the love-letter reputation hides is that the final section is all reservations. Ruby's green threads scare him, he suspects nobody fully understands how they interact with the rest of the language, and he admits he can't decide whether a large system should give up static types. The essay closes not on a verdict but on a request that readers who've built one write in and tell him. That undecidedness has worn better than most of the period's language-war certainty, and the period detail is half the fun now: Ruby 1.8.1 on his laptop, irb inside an Emacs buffer, and zero mentions of Rails — the whole sales job is the language itself.

Related listings

  • 2005

    A Little Anti-Anti-Hype

    Same year — the marketing argument that frames Ruby Tour. Steve in this piece is the enthusiastic Ruby evangelist whose existence Bruce Eckel was complaining about.

  • 2005

    Lisp Wins (I think)

    Same year — the more theoretical companion. Ruby Tour shows what comfortable looks like in practice; Lisp Wins explains why comfort is structurally limited in languages without real metaprogramming.

  • 2004

    Tour de Babel

    A year earlier — the broader language survey. Ruby Tour is the long-form chapter that Tour de Babel kept hinting at and finally got.