Ruby on Rails - I’m Kind of Late to the Game
Recently I started a new side project. This one I’m going to finish all the way through. Like many people who enjoy programming as a profession and hobby, I tend to start a lot of projects where I learn something and move on. The project tends to serve its purpose and then I’m able to tackle something bigger or that is more interesting to me at the moment.
This idea is different. I want to use it on the regular. And I’m sure others will too. So naturally I was ready to roll instantly and hit the ground running. Normally I work on a project with another person, +Clint Shuman, but he hasn’t been as available lately since his wife recently gave birth to their son.
Lately I’ve been approaching all problems the same way: nail, meet hammer. I decided when approaching this one to try building a couple of things in two frameworks - django and rails. Rails has scaffolding, which is a lot of code I’m probably going to replace, but I can get pieces up and going with CRUD almost instantly. This is really handy when I’m just trying to establish relationships and see how things are going to work. Django is still quick with class-based views (CBV), but there’s just something about how rails works that is nice.
I told Clint I was learning rails and the first thing he said was “Traitor.” I admit to feeling that way somewhat. Python is a fantastic language. I can’t help but wish I could combine the rails framework with Python. And Django is completely open-ended. Implement any app any way you want. Sure, there are conventions, but Python is certainly configuration first. Rails is pretty much the opposite. In fact, the saying that goes along with the framework is “Convention over configuration.” Since I don’t know the language very well this doesn’t bother me. Forcing me to do something a certain way is fine because I probably don’t understand fully what’s happening right now. It will be interesting to see how much I like this notion the longer I spend working with the framework.
But for a beginner, Django can be difficult. The tutorials that are out there are ok, but not fantastic. It always seems like reading helper information on Django expects you to know a lot already. And that’s just not realistic. Rails has been around for ten years now and is widely used because it became the popular thing to do. The plethora of tutorial and screencasts for it makes the prospect of learning it much easier.
Still…I miss Python at night. I’ll come home soon, Python. For now, I have a project I want to see completely through to finish. That is, hosted and live for everyone. And I’m going to do the whole thing in Rails.