So, 11 days into the new year, and I’m actually still going pretty strong with my resolution to make time for learning new (to me) development skills. Yay!

Recently, I was working on a small project where I needed to emulate some of the color transformations from SASS in JavaScript. In order to do this, I needed to dig into the source code, written in Ruby. I was able to suss out what I needed easily enough, but the syntax and approach in Ruby intrigued me. So I figured, what the heck, let’s learn Ruby!

Getting Started

I wanted to start small and easy, so after installing Ruby, I followed the nice and accessible “Ruby in Twenty Minutes” tutorial at the main Ruby site. It’s nothing earth-shattering: your typical “Hello World” turned “Say Hello to Everyone” introduction. However, the tutorial is easy to follow, gives you a nice overview of the some of the syntax conventions that are to come, and (at least for me) leaves you wanting to continue with exploring Ruby.

Where to Go From Here

As with any language, the obligatory “Hello World,” while giving you a taste of the language, does very little in the way of actually teaching you what Ruby is all about. So where do you go once these “twenty minutes” are over?

I first tried getting into Programming Ruby: The Pragmatic Programmer’s Guide.  It looks like a great resource (and I still plan to read it), but for some reason I didn’t feel like just reading. So instead, I decided to check out Ruby Koans.

If you’re not familiar with the idea of “koans,” the basic idea is that you learn a language through a series of unit tests. Unlike a lot of tutorials which have you “build” this or that to learn a handful of (maybe unrelated!) concepts, koans take a different approach. Instead of trying to “build” something, koans simply consist of a series of unit tests. Each unit test start off “broken,” and you have to fill in the correct answers in order to switch the nasty red error messages to green, and move on. Each series of tests covers a particular topic (string methods, arrays, etc.), and so you can progressively build on what you’ve learned as you progress through the koans.

Roadmap

I’ve already started on the koans, but I’m hoping to make regular entries about my progress and highlight some of the aspects of Ruby which I find most interesting, particularly frustrating, or just darn neat.

Have suggestions for some good resources for expanding knowledge and skill with using Ruby? Please let me know!!