In this unit you will learn Ruby, the language designed specifically with programmer happiness in mind. It's a healthy chunk of learning but, by the end of it all, you'll have built some pretty sweet projects including Tic Tac Toe, Hangman, a real web server, and even Chess. You'll be able to put together a Twitter spambot (that really spams!), save and open files, test out your code, separate your spaghetti code into nice modular classes, and even reproduce some basic algorithms and data structures for solving complex problems. Basically, you're going to start feeling a whole lot more like a real programmer and that feeling will be justified.
Some people believe you can just dive right into Rails and start firing out websites. Rails is a framework built using Ruby and every piece of code in it is Ruby. When (not if) something in your project breaks, you'd better be able to debug it. And what happens when you want to stretch your wings and do something just a bit beyond what the vanilla tutorials show you how to do? The amount of time you'd spend googling your error messages and staring blankly at help docs was better spent learning Ruby. Despite this, we've offered the "cutting corners" path as an option below that gets you there faster.
As you may gather, this is also where the real project work begins. Some of the early material will be fairly straightforward and will rely on simple exercises to help reinforce understanding. We'll learn using some Codecademy modules at first but the goal is for you to get a much deeper and more practical understanding of the material than that. As we get further along and into some of the more advanced topics, we'll be learning less and building more... just the way it should be. Let's get learning!
Ruby's a big language so it's been broken up into smaller chunks to make it more digestible. The format should feel quite familiar to you since it's essentially the same as we used in Web Development 101.
Everyone is coming into this with a different goal in mind, so to accommodate that, here's two options for your path forward:
It is not free -- usually somewhere around $30-40, but, as Peter said himself:
Now, of course, I can’t actively participate in pirating my book but, heck, it’s around on plenty of “free e-book” sites and on RapidShare. There are even links on Twitter to torrents like [link removed]. I am happy for you to pirate my book, but.. I’m NOT A LAWYER, and I can’t guarantee what Apress would do about it – so you’d be doing it off your own back! So, uhm, don’t pirate it? ;-) The only condition, of course, if you do is that if you like the book and you think a print copy would be swell to own, please buy one – even if it’s just for someone you know who wants to learn to program!
Some things you just won't pick up right away or their coverage by main resources will fall short of your expectations. Luckily there are lots of options for places to shore up your understanding:
From the creators of The Odin Project...