Call of the lemming
True, the reference implementation of Ruby has some problems. But, Rubinius has a precise, generational garbage collector. It is definitely not “technically stagnant”, nor is it “in implementation limbo”. It was only in May of this year, before RailsConf, that we first got Rails running on Rubinius. We are close to getting it running again on the new VM. If we do that by year’s end, we will surely have some kind of record. For all the thousands of lines of Ruby code he’s written, KirinDave hasn’t contributed any code to Rubinius. That’s too bad.
Ruby isn’t that extraordinary as a language. But it is a very good language. What is more, Ruby is a humane language, in the spirit of Jef Raskin’s The Humane Interface. Furthermore, now like never before is the age of the dynamic programming language. The technical hurdles are being explored all around us. In fact, before the year is over, you should spend a few quality hours with one or more of the following languages.
Factor. This fascinating concatenative language will definitely get you thinking outside of the box. Rubinius is a stack-based VM. Writing some Factor code is a little like peeling back the syntax layer of Ruby and watching the muscles and tendons work. Check out the quotations and combinators and think about how you write functional code with Ruby. Don’t miss the Google tech talk by Factor’s creator, Slava Pestov.
Clojure. This is another fascinating language by another wicked smart guy, Rich Hickey (check out the video). In fact, this is currently my favorite language to study. It’s the Ruby of Lisps, in my opinion. And it contains a wealth of ideas that could be useful for implementing Rubinius, not to mention, thinking about writing concurrent programs.
Haskell. Amaze your friends and improve your sex life. Jump stateful, side-effect tangled heaps of code with a single Monad. There is a cool new online book that will soon be released in print as well.