So, I’ve been doing this Rails tutorial off and on for the last month or so, time permitting. People ask me “Why are you learning Rails?“. I tell them it’s an easy way for me to get introduced to Ruby. I’m not a proper developer by training. I don’t think in the same terms most developers do. I can’t just sit down, learn a new syntax and then wield the awesome powers of the new language. I have to relate it to something I know. I know web apps. So Rails teaches me some of the Ruby basics while letting me relate everything back to something I feel comfortable with. Yes, I know there are differing opinions on Rails and there is a bunch of stuff it adds to Ruby that isn’t really Ruby itself, but that’s ok. It’s just a starting point.
I usually then get asked “Why Ruby?“. Good question. Cause Java pisses me off, the community around C#/.Net is frustrating to me and Objective C is not widely used enough. Ignoring a lot of other cool technologies out there (such as Erlang) that I have on my list to learn as I get a good foundation, the big one people ask me about is Python. I have a love/hate relationship with Python. I won’t get into the nitty gritty details, cause honestly, I don’t have the chops. Let’s just say there are many things about Python I really like and a few I don’t. Ruby is intriguing to me. It’s shiny and has huge community support.
So, back to Rails. My end goal is to rewrite my blog in something like Rails (or Django if I end up going back to Python). Wordpress is great, and could be extended to do everything I need. However, there is a lot there. A lot I don’t need. Plus, honestly, I am drawn to the MVC structure and while PHP can work that way, Wordpress does not, not without extensive hacking. I want little things like having infinite control over my URLs, being able to cache all sorts of data locally and expose out APIs for other services to consume (and consume their services). Basically, Wordpress is too canned and I want something to tinker with.
So, my plan is to get a critical mass on building a blog in Rails and then go from there. I’ll keep both of you posted.