Learning Ruby on Rails with CodeSchool
For the past month, I’ve been taking some courses with CodeSchool to learn both regular Ruby and Ruby on Rails. It seems today it’s the cool language to learn, and I keep hearing from everyone how awesome it is, so I thought I’d take a stab at it. Today I just finished the Rails for Zombies 2 course and started on the Rails from Scratch screencast – but got stuck with a weird error and had to give it up for the day before the Air ended up out the window and in the pond. Programming does that to you, you know?
Let me stop right here and be the (not quite) first to say this: Rails is a pain in the ass to install and get working. Especially if you’re not running a brand new out-of-the-box Mac. It took me several hours debugging file permissions, gem issues and the like to get Rails working on my MacBook Air running Mountain Lion. Perhaps Rails does this on purpose to weed out the idiots. I’m pretty sure I almost failed that one.
You also have to use the command line, which any backend-programmer thinks is the coolest thing in the world, but in reality totally sucks because there’s no UI or even feedback when Terminal is thinking. No matter, after you do finally get Rails installed by offering up your first born child, it’s smooth sailing from there. Mostly. Sorta.
So back to CodeSchool – they let you try out several free Ruby & Rails courses before requiring any subscription which is AWESOME considering I’m going through a nasty separation, in the middle of buying a house and am pretty much broke. I remembered all the times I wasted lots of money on video courses and books only to find out I really wasn’t interested in the language or that the materials just didn’t work for me. Thanks to the free courses here, there’s no need to worry about repeating that.
You start off by doing the Try Ruby course – which only takes about 15 minutes and gets you familiar with some of the syntax and basic commands. My favorite part about CodeSchool is that all of the lessons are divided up into small 5-20 minute chunks, which is great for people with super short attention spans (me) and not a lot of free time (me again).
After Try Ruby, I suggest jumping right into Rails for Zombies – it’s a super fun course that has you building a Twitter clone meant for Zombies, and it’s quite a bit easier than the first Ruby Bits. I tried jumping back and forth between the Ruby only and Rails courses, but for some reason found Rails a whole lot easier to understand. I’m terrible with programming logic and Rails reminds me a lot of WordPress functions, which might be why I found it a bit easier.
After I finished Rails for Zombies 1, I jumped into Ruby Bits, which had a fun video game theme. Did I mention these courses were fun? I did struggle with this course a bit after I got about halfway through – mostly because I kept asking why things needed to be done like that. I can’t seem to understand or even remember the logic unless I understand why it needs to be done that way. Especially with programming when things are often repeated several times in several different places. A good example of this is asking why @zombie and :zombie had to be repeated several times in the classes and methods. And what the heck is the difference between classes and methods and why wouldn’t you just use one or the other and crap. This is why I failed at Objective C.
I’d really like to create an app from scratch using CodeSchool’s screencast series, if I can figure out this Bootstrap bug, before moving on to Ruby Bits 2 and the testing courses. But I also need to step back and figure out what exactly I’m aiming for with learning Rails. I started just doing this for fun, but I’m at a place where I either need to take Rails a bit more seriously and devote a lot of time to it or to let it go and move on. I’m definitely having fun playing with it, but don’t think I’ll ever learn enough or use it for client services.
Dipping my toes into various languages does have a great benefit though, even if I decide to never do anything with them. Learning basic PHP has made it easy to understand the basic logic of other languages and has been a great foundation. Learning some Objective-C has helped in coding mobile web apps and responsive designs (seriously!). Learning Rails is going to help when integrating into CMS’s other than WordPress, like Shopify for example.
I’d be really interested to hear if you were a front-end developer and jumped into Rails, and how you went about learning it? Did you read books, watch videos, follow tutorials or just dive right in?