In my view, Ruby has suffered from its own pre-publicity. Ruby enthusiasts often get so excited about the language that they can’t help overstating its virtues. One of the features that has definitely been overstated is Ruby’s simplicity. On the one hand it is certainly true that you can write Ruby programs in a fraction of the number of lines that you might use in many other languages.
But - and here’s the catch - Ruby is not really a ‘simple’ language at all. It is, on the contrary, a very complex language. It has a huge number of programming constructs and the differences between them can be subtle and confusing (there are different precedences for two sets of apparently similar Boolean operators, for instance, and different precedences for two syntaxes of block delimiters), the scoping of variables and methods is not always obvious, lambda methods can be tricky to understand, it has a fairly big class library and its dynamic programming may be unlike anything you’ve ever seen before. And that’s just for starters...
I’ve been involved with Ruby programming on a daily basis ever since forming my company, SapphireSteel Software (to develop the Ruby In Steel IDE for Visual Studio), a few years ago. I quickly realised that many people switching to Ruby from other languages were falling, if not at the first hurdle, then at the second or third. I know from personal experience that, at first sight, Ruby seems such an easy language that there is a great temptation to rush into it without stopping to think. Several thousand lines of code later the complexity of Ruby suddenly hits you - and you realize that there are things in the code you’ve written that you don’t even understand and bugs that you may have no idea how to fix.
In order to help people understand Ruby better - and avoid falling into its hidden traps - I wrote a small eBook, The Little Book Of Ruby, a couple of years ago. It proved to be more popular than I had expected. After it was downloaded 50,000 times (that was over a year ago) I stopped counting the downloads. The Little Book Of Ruby is simple and to the point but it doesn’t go into the more arcane aspects of the Ruby language. Which is why I decided to write a much longer book called, simple, The Book Of Ruby.
The Book Of Ruby is a free download over on the SapphireSteel site (http://www.sapphiresteel.com/The-Book-Of-Ruby). So far, it has seven chapters (eventually it will have 20), each of which comes with a large number of small ready-to-run demo programs. I uploaded a new version of The Book Of Ruby just today and I will keep adding to it over the coming months until all 20 chapters are complete.
Anyway, if you are interested in finding what this Ruby thing is all about or if you’ve tried Ruby before but couldn’t make head or tail of it, maybe I can encourage you to take a look at The Book Of Ruby. It’s free - so there’s nothing to lose!