Postcard from Djangoland
posted in site news by jon on 2006-07-29
This is the first post made from my new blog software, written by me and powered by django.
Total time spent writing the software (not including lighttpd setup): 3 hours.
Total lines of code: 494.
What do I get for those 494lines? A flexible post system, link tracking, markdown support, published/draft articales, and an integrated administrative interface. I still want to add a real comment system and rss support, but already I've re-implemented 80% of what I used in wordpress.
In the end, what I like most about django mirrors what I like about about python: it's clean. It feels efficient and lean; no magic; no wasted syntax. I remember working through the rails tutorial and being amazed at what was possible, only to get frustrated trying to do anything real because, once I got "off the track", the framework seemed to fight against me. Rails seems to depend on a great number of "magic" functions that are part of the framework; learning the framework consists largely of memorizing these magic functions (or learning where to look them up). By contrast, django feels more internally consistant, like it was derived from first principles. There's just less code to remember, which translates to more time spent writing code and less time reading documentation.
Then there's ruby. At one point I thought that Ruby would be my Language of Choice (tm). It has the cute little block structure and tons of good press (not to mention the cartoon cats). I wrote lots of one-off algorithms and delighted in having regular expressions built right in to the syntax. Eventually though, I noticed that I wasn't really writing anything all that productive, and that all that cute syntax was a solution in search of a problem. Don't get me wrong, I like ruby, I just like python more. Ruby is like a really impressive kung-fu expert whirling around with spin kicks and somersaults; python is more like an irish boxer: lean and workmanlike. I just put my head down and code and things get done.
Permanent Link (0 comments)
Subscribe 