My first post on this thing is going to be about Ruby on Rails. There is so much I have to say about it. I created this blog for my personal use to archive things I’m learning software-wise and perhaps even outside of code.
Anyway…onto the code. I started learning rails last summer for a project a friend and I were working on. I was(still am) building a site on which college students like myself and companies seeking interns could go to connect. Essentially this is a Linkedin type of social network and if successful, it becomes a very intense but sensitive data store. So this means I need to get things right in order for it to work. Picking up Rails and even Ruby was kind of tough at first. I did the try-ruby course from Codeschool and even some Rails For Zombies. Coming from Java as my first programming language, ruby was magical. Duck typing and the freedom of not having to declare a type for every variable was(and will always be) amazing. I picked up on ruby pretty decently well I guess but struggled with Rails. Here is why:
- Codeschool plopped me right into creating forms, views, and updating models I didn’t understand.
- Setting up initial rails development environment.
- Almost everything I did/saw was ‘automagically’ happening.
Maybe these were problems only pertaining to my experience but I know for a fact Rails for Zombies DID NOT HELP! Even though I had spent 4 days reading through the Rails Tutorial by Michael Hartl, very little of it made sense to me. After a couple of weeks of fuddling around with rails and watching Railscasts(Thank you so much Ryan Bates), I got the hang of creating a model and mapping controllers with routes, and filling out the view. Basic MVC stuff right? Well, the nuances and pains of using Rails comes in using external gems. To me it seems that with ruby being a great language for DSL’s(Domain Specific Languages), using someone else’s gem has it’s own learning curve which is the case in general open source software where code is shared and reused but it may be more prominent in the ruby community.
Now after a year of riding Rails and a hopefully soon to be successful product(intrnhuntr.com), I can say I’ve enjoyed the ride very much. Maybe it would have been a tad smoother in the beginning if I had done my research and studied how the web works along with how Rails works. Now that the foundation of the app is all set and I’ve learned how to deploy on a VPS, manage SQL database, some of how DNS works, I’m looking forward to learning more and doing more not only with Rails but with the web in general.