TITLE: Ruby Friday AUTHOR: Eugene Wallingford DATE: September 23, 2005 7:26 PM DESC: After writing about Scheme, I will now give you some Ruby pointers, two of which are fun and two of which are educational. ----- BODY: I have written about Scheme my last two times out, so I figured I should give some love to another of my favorite languages. Like many folks these days, I am a big fan of Ruby. I took a Ruby tutorial at OOPSLA several years ago from Dave Thomas and Andy Hunt, author of the already-classic Programming Ruby. At the time, the only Ruby interpreter I could find for Mac OS 9 was a port written by a Japanese programmer, almost of whose documentation was written in, you guessed, Japanese. But I made it run and learned how to be functional in Ruby within a few hours. That told me something about the language. (Recalling these tutorial reminds me of two things. One, Dave and Andy give a great tutorial. If you get the chance, learn from them in person. The same can be sai for many OOPSLA tutorials. Two, thank you, Apple, for OS X as a Unix -- and for shipping it with such a nice collction of programming tools.)
Java coding need not be a life-long debilitation. With the proper treatment, and a copy of Programming Ruby, you can return to a life of happy, productive software development.Just imagine how much more fun Java would be if it gave itself over to the higher power of higher-order procedures...So, give yourself over to a higher power! Learn Ruby...
Reinventing Smalltalk, one decade at a timePaul Graham says that we are reinventing Lisp, and he has a strong case. With either language as a target, the lives of programmers can only get better. The real question is whether objects as abstractions ultimately displace functions as the starting level of abstraction for the program. Another question, perhaps more important, is whether the language-as-environment can ever displace the minimalism of the scripting language as the programmer's preferred habitat. I have a hunch that the answer to both questions will be the same. -----