Elephants, Rubies...and now Snakes? post
As time goes on, I find that I'm drawn to web frameworks like a moth to a flame. Why? I've built so many web apps from scratch that if I have to build one more front controller from scratch I'm going to gouge my eyes out. Okay, maybe I'm exaggerating a little. As I get older, I start to value my time more. Web frameworks usually let me build something faster than if I had created the app from scratch. Of course, this only works well with "green field" projects, one where you are starting from scratch. Shoehorning an existing app into a web framework is process that I usually refer to as a "total rewrite of the system" as it's very difficult to do it without, well, rewriting things. The only exception might be homegrown MVC systems.
Any how, as I think about rallyhat.com and what I want to do with it, I happened to stumble upon some info about Python. YouTube apparantly is built with Python. Google uses Python all over the place. Gudio van Rossum, the creator of Python works there. Someone told me that that GMail is run out of 3 python scripts: one that generates the HTML/Javascript output, one that handles the ever-expanding space for your email, and an email client. Now *that* I could believe.
Then I remembered that there is a web framework for Python called Django. I dig a little more digging around and found the web site, along with some interesting benchmarks comparing it to some other frameworks. Python is very similar to Ruby (but no blocks, which become indispensible when you work with Ruby) so it looks very interesting. For a little more info check out this posting on why one guy chose Python over Ruby and some constructive reasons for choosing Django over Rails.
Some of those comments are interesting and perhaps even wrong, but it was enough to set me off taking a look at Django and it's tutorials. Rather than have me list some of the cool features, go and look at the main Django site and the links above. Maybe you'll find something interesting.In the meantime, I've been following through the tutorial for Django, using the models I will need for rallyhat.com as examples...
Anyway, a tip of the rallyhat to the first commenter who can tell me what programming languages are represented by the title of this post. :)