Learn Ruby

(@CodeAcademy, and anywhere else you’re from) Here’s my refactored perspective on learning the Ruby programming language.

Some time ago, I wrote a post about how Copious I am about taking notes when I dedicate myself to learning something. I also wrote a post summarizing some of the resources I’ve completed to learn Ruby on Rails.

For our Winter 2012 Code Academy class (and the rest of the world if our students share this blog post!), I’d like to zero in on Ruby and offer a short list of recommended resources from my own personal perspective:

Beginning Ruby – Combining this with the next 4 resources is what got me to a point of relative comfort with the Ruby programming language. It definitely scales up later in the book but Peter does a phenomenal job of walking a beginner into the world of programming, and Ruby!

Try Ruby – Take an hour of your life, and DO THIS. It’s easy, it’s friendly, and it gives you the basic rundown of the Ruby programming language. I would complete it multiple times until it sticks.

Learn to Program – One of 2 books we specifically endorse and purchase for our students at Code Academy, one of the most beginner friendly programming resources out there.

Learn Ruby the Hard Way – The first e-book I ever read on programming was Zed Shaw’s Learn Python the Hard Way. This is an adaptation of that book for Ruby. Though I learned some things from it, I wouldn’t recommend it to everybody, namely myself. I didn’t like the tone and the philosophy behind the book. It came off as a right of passage sort of thing, so while I think it could help certain types of people that like to learn in particular ways, for me it was a bit unlike the rest of the Ruby community and resources out there…

Chapter 4 of Michael Hartl’s Book – Hartl gives you just enough Ruby to get through his book. Which is really all you need dammit! Everyone gets told by these programmer gurus or whatever that they need to learn Ruby first hardcore, I think that’s bullshit. Like DHH says, if you want to build stuff and solve real problems, learn to do that THROUGH programming. If you try to learn to program before you can even come close towards actualizing some sort of solution for a problem you want to solve, you will probably fall flat due to boredom and lack of motivation.

Hackety Hack – I had the pleasure of befriending the current maintainer of this project and amazing Ruby developer, Steve Klabnick. He is an awesome person and he is incredibly committed to making Hackety one of the best freely available resources for anyone to begin learning to program. Hackety Hack was the first resource I ever completed to begin my personal journey.

Why’s Poignant Guide to Ruby – CHUNKY…BACON…you’re welcome.

The Ruby Warrior (available through Bloc, another great resource I haven’t tried but I’d recommend based on what I see so far) – If you like game oriented exercises for learning, do this, it’s awesome (I’m biased as I was recently elected to the Board of Directors of the Chicago chapter of the International Game Developer’s Association).

Treehouse/ThinkVitamin – I am a subscribed member to treehouse and was a long time member of ThinkVitamin. These guys are arguably the best online place to learn programming in general, and they have some solid tutorials focusing on Ruby in particular. I hope they lead the pack in disrupting the online education landscape for design, tech and entrepreneurship.

Ruby Monk – I had the wonderful pleasure of meeting the founder of RubyMonk, Niranjan Paranjape, who stopped by Code Academy to speak to our inaugural class last quarter. A bunch of our students really enjoyed the early access he gave us to RubyMonk and felt that their approach to structuring the online material were much more effective (compared to, say, codeCademy) in making sure the information was actually sticking.

Ruby Koans – This comes highly recommended from the self-proclaimed Craftsmen of the world, as well as (or perhaps including), the freaks of nature programmers at 8thlight. For the die hard Rubyists, this seems to be the go-to resource to cut your teeth on the language. I completed the Koans over 2 days, though I must say I did not retain much. It felt like being in spanish class in grammar school and high school where I was forced to complete exercises and do repetitive things as a teaching methodology. I hear that works for some people, not me I guess. But it definitely is cool as it intros you to tdd, and understanding the syntax much better. I jumped for joy and ran a lap around the kitchen table when I got it done.

Programming Ruby (The Pickaxe) – The is the programmer’s programmer book to learn Ruby. I tried to force myself through it but would always fall short, because I wasn’t a programmer. It is excellent as a reference when you get stuck writing code at times, but for a non-programmer it’s a lot to bite off. It is definitely a go-to for people transferring to Ruby.

Ruby Mendicant – I had trouble finding a link to their site. Greg Brown is a great contributor to the Ruby community and an altruistic person from what I’ve heard through others. I completed Ruby Mendicant when it was in the form of a mentorship program, it has since evolved into a challenge for programmers to complete exercises to receive a certificate of some sort. Not for beginners from what I could tell.

At the end of the day, none of these resources will lead you to realizing your goal more than building the damn thing.

Good luck.

This entry was posted in Probity. Bookmark the permalink. Post a comment or leave a trackback: Trackback URL.

2 Comments

  1. Posted January 15, 2012 at 2:26 PM | Permalink

    Mendicant University is now at http://mendicantuniversity.org/ Its current courses are designed to train a intermediate Rubyists to become open source contributors so it’s definitely not for beginners. They’re planning to add beginner courses some time soon so keep an eye on their website for news.

  2. Posted January 16, 2012 at 10:12 PM | Permalink

    This is a great list of books to get started. I don’t come from a CS background, and it’s great to find good concise lists like this one that help point me in the right direction! Thanks!

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>