Well, I have finally completed the Ruby on Rails Tutorial: Learn Rails by Example by Michael Hartl. It was pretty tough for me, and even now I think I only get about 70% of the content. There is no way I am ready to write my own Rails app. But I am no programmer. I know HTML and CSS quite well, have a bit of knowledge about databases and can hack together a JavaScript by leaning heavily on Google. But I have never taken a compsci course. In fact, my educational background is in theoretical linguistics and international relations theory.
In terms of doing the tutorial, I was lucky to have a guide. The tutorial was used as the primary reference material for the Matygo course Rails for Beginners. I don’t think I could have gotten very far in the tutorial without the clarification provided by the Matygo teacher. Although I can appreciate the structured approach of Hartl, the way he went through the material was kind of “shoot first, ask questions later”. It seemed ass-backwards to me. I would rather learn fundamental concepts first, then do an example, rather than the other way round. The Matygo teacher tried his best to give us some fundamentals before we tackled each chapter. It was very helpful, yet at the end of it all there are still some things I don’t understand. For example:
- :symbols
- @instance_variables
- class and class variables
- when to use a helper
- resources (things that can be created and destroyed?)
- still feel uneasy REST
That said, I am glad I did the course. Even though I didn’t get everything, I walked away with a lot of new knowledge and skills, such as:
- using GitHub and Heroku
- more comfortable in Terminal
- getting used to the file structure of a Rails app
- developing Entity Relationship Models
One big takeaway I have learned is that going from Rails to Ruby is better than going from Ruby to Rails. I had read Chris Pine’s Learn to Program which is an excellent book on Ruby. However, as it was out of context, I think I will get much more out of it when I go back. And I do plan on going back, and pushing forward with Rails. My lack of programming skills are discouraging, but I relish the challenge. The next thing I must do is build something small for myself, and start flexing my resources. I also plan to try a couple of the shorter tutorials online and test my newfound skills on different problems, just to see how much I have internalized from my course.
If you have any suggestions for a Rails n00b, feel free to give me any recommendations. I would be very grateful.