A couple of months ago I rather rashly announced that I wanted to learn Ruby in the New Year. For those of you who don’t know, Ruby is a free programming language, and it is used for all kinds of things, but most notably these days in the web framework, Ruby on Rails (ROR). It was a stupid resolution, because although I have knowledge of other programming languages, such as VB and Python, I am not a natural programmer. I work in IT, and have for many years, and have coded a lot of stuff, but I’m an artist at heart and find programming hard work. But I wanted to find out more about ROR, and to do that I needed to learn Ruby first.
Well, here we are nearly three months later. How did I get on? Well, I’ve got to say it, after learning Python a few years back I was convinced that it would be the language of choice for me, the mother language that I would always reach for when I had a problem that I couldn’t solve any other way. Now, after reading Peter Cooper’s book Beginning Ruby, I wont go back to Python again.
What made me change my mind? It has got to do as much with the effectiveness and good design of the Ruby language itself as the brilliant way the Beginning Ruby book is written. I have read several "how to" and introduction to programming books over the years. My problem with them is this, they start out easy. Great. Then they get a little harder as they progress. Fine. Then BAM! They hit you with a barrage of unintelligible stuff, and you think, "How did we get to here?"
Well Beginning Ruby isn’t like that. Yes it starts out gentle, although it does introduce object oriented stuff very early, which it has to considering Ruby’s got it built in everywhere. But it doesn’t then dump you floundering about in a mire of complexity. It slowly ramps up, explaining and showing as we progress. I think it is the best "beginning" programming book out there. The examples are fresh and completely usable. And it doesn’t feel "dated" like some programming books I have read in the past. This book is a breath of fresh air in programming languages.
Now as I’ve said, that might be the outcome of having a modern, well designed language to work with, but I have started books and been to several web sites that have tried to explain Ruby to me before, but they didnt succeed. So I have to assume that it is down to the writing and explaining skills of Peter Cooper that I have to thank for my new excitement with Ruby. I haven’t quite finished the book yet, but I’m getting there. A recommended read.
Disclamier: I am not an avid fan of Ruby JUST because I live in a street called Ruby Street. But that is a cool coincidence.