July 1, 2003

Programming Ruby

A concise introduction and reference manual for an interesting, concise, and powerful new programming language. Ruby brings thoughtful and consistent object-oriented design to the AWK/Perl/Python lineage of languages -- all the string power of Perl with the clean lines of Smalltalk.

I do wish, though, that programming manuals for professionals were written for professionals. Wouldn't it be nice, for example, to have an introduction (or an appendix) that summarizes the language briefly for people who have the necessary background? "Everything is an object. Every object has a class. Class names are begin with uppercase letters, methods begin with lowercase letters. and instance variables begin with '@'. Objects are automatically allocated by their #new method and automatically deallocated and garbage-collected when no longer referenced. Variables (and function parameters) are always references to objects. Single inheritance (like Smalltalk), plus mixins (takes you back, doesn't it?). Built-in classes include strings, regular expressions, numbers (including Bignums), arrays, hashes (Perl), and closures (LISP and Smalltalk) among others, and the standard library provides threading, network protocols, and unit testing. Ruby has been widely adopted in Extreme Programming." This is doubtless Greek to lots of people, but should be easy reading to someone with a few years of undergraduate computer science -- and could save the educated reader a lot of time.