Ruby

Ruby is a very expressive programming language, whose design was influenced by some of the best bits of Perl, Smalltalk, Eiffel, Ada and Lisp. Ruby occupies a similar niche to Python – both languages are dynamically typed, support garbage collection and provide great libraries of re-usable code.

Ruby boasts excellent support object oriented programming (you can even use prototypal inheritance) and functional programming. In short, it’s an excellent general purpose programming language.

The Ruby community is very active, but you can easily keep up with what’s going on at RubyFlow. You can also follow RubyFlow on Twitter.

Learning Ruby

If you’re new to Ruby you could do worse things with your time than to read Why’s Poignant Guide to Ruby (as technical books go it’s not to everybody’s taste, but it’s hugely entertaining and very well written – it might just get you hooked).

If you’re new to programming as well as Ruby I’d recommend the Pragmatic Programmer’s Learn to Program book.

More experienced programmers may find Programming Ruby and The Ruby Way by Hal Fulton more suitable.

Once you’ve got to grips with OO programming in Ruby, Dave Thomas’s series of Ruby metaprogramming screencasts will give you an in depth understanding of how Ruby works (it’ll also show you how to do the prototypal inheritance that I mentioned above).

  1. Ruby Meta-Programming Screencasts

    A brief review of Dave Thomas’s series of screencasts on the Ruby Object Model. The short version of this review might be “they’re good, get them.”

    Read the review of the meta-programming screencasts

Articles on Ruby

  1. Ruby Manor

    12 December 2009

    Ruby Manor is one of those alternative conferences. It’s not run for a profit. It doesn’t cost a lot of money to attend (at £8 per head you pay just enough to cover the cost of the room and equipment), and the quality of the talks is consistently high.

    I spent most of the day typing frantically, but I didn’t manage to capture everything. The photos that are littered through my write up of the day are all thanks to @glenngillen from Rubypond, who was sat next to me snapping away.

    Read about the excellent talks!

  2. Benchmarking Ruby exception handling

    06 November 2009

    Which is better, handling an exception or explicitly checking to see whether or not your code is going to break? The answer is “it depends”. On the one hand exception handling allows us to write more legible code (often summed up by the saying “it’s easier to ask forgiveness than permission”). On the other, handling an exception is often a costly operation; it can be faster to “look before you leap”.

    How expensive is exception handling?

  3. Ruby Lightning Talks

    09 February 2009

    Tonight’s LRUG meeting consisted of 8 quick 20x20 format presentations (20 slides, 20 seconds per slide) on a range of Ruby related topics. The speakers covered packaging gems for Debian, sending IM messages with XMPP, a quick intro to ruby-debug, RubyGame, smoke testing, Twitter bots and statistics in Ruby via the power of R.

    Read the talks

  4. Searching associations in DataMapper 0.3

    12 April 2008

    In which I talk about how to find chocolate biscuits with DataMapper…

    Continue reading

  5. Opening Ruby gems in TextMate

    29 March 2008

    How often do you find yourself wanting to check the source code of a locally installed Ruby gem? Do you find it painful digging around your filesystem to locate the gems directory? With mategem I just type mategem activerec[tab].

    Get mategem...