Well, that’s cool.
I’ve been meaning to redo my blogging software for a while — it was written in this badly over-architected Java (a cynic might suggest there’s no other kind; I’m not such a cynic) that made it a total pain in the ass to change anything. And for extra fun, my booklog was running off an older version of the code, so couldn’t do little things like RSS.
The problem with redoing it was finding a suitable environment to do it in. I didn’t want to use Perl, because it feels too quick and dirty for anything larger than 50 lines, its XML support isn’t great, and it’s just soooo 1997. I couldn’t use C# because I’m on Unix. I tried using Common Lisp, which was cool and interesting, but too difficult to find suitable libraries for (and a pain to integrate into the environment). So finally, I tried Python, which I’d resisted for a while due to non-Unicode native strings, some ugly __underscores__, and a general sense of superfluity.
Result: Niftiness. Starting from no knowledge of Python, using only an online tutorial and the official site, I was able to figure out what I needed to know and whip out a reasonable implementation in about eight hours. (Credit also goes to the fine folks behind 4Suite, a great XML API for Python that replaces a lot of DOM clunkiness with Xpathy goodness.)
Among the Lisp crowd, the knock against Python is that it’s just a clone of Lisp with heavier, more awkward syntax and a lot of missing functionality. If you spend most of your life in the Java/C# worlds, you can pretty much invert that to “gives you amazing amounts of power and flexibility in a light but familiar syntax.” Good stuff, and I think I’ve found a new language for my personal projects.