[Pdx-pm] Bad news, but some good news buried there

Kyle Dawkins kyle at idealist.org
Wed Dec 8 23:28:09 PST 2010


On Dec 8, 2010, at 9:51 PM, Gabor Szabo wrote:
>> The bad news is that on Sunday, we switched over to 100% Python-based system built from the ground up
> IMHO it is sad but I'd like to understand why did this happen and how
> was the process that lead to the development of a new system?
> Why did they choose a different language than they already had?

Well, these things are never simple.  We'd grown a huge system over the years, and being a small non-profit, we'd never had the resources to "take out the garbage".  Our applications had accumulated a lot of "decay" over the years, and we had never once had time to go back and fix our "FIXMEs" and do our "TODOs".   Our site was also ugly, and didn't live up to modern post-Web-2.0 standards in terms of xhtml strictness, buzzword compliance and full-light-boxed-fanciness that everyone seems to expect these days.  I think this led to that irresistible urge that developers get to "rebuild from scratch", and I was essentially the lone voice of dissent.  I advocated spending some time cleaning things up and taking the time to do things we'd never been able to do, but instead the decision came down to rebuild from zero using more "modern" tools.

How it came to be Python is also complicated, but when this decision was made almost 3 years ago, Python was experiencing a huge upsurge in popularity thanks to Django (which, incidentally, we didn't use at all for the new version of the site) and this swayed the popular vote.   I suspect if we had the same decision to make now, we'd choose something else.  But it worked out well; we were able to hire some smart Python developers and the team built something cool.  It's not so hot for me, as I now have to write Python code, which in turn makes me want to stab my eyes out... :)

Over the course of the last decade+, we internally implemented and/or invented things that are now commonplace in other environments (page and component caching in memcache, advanced ORM techniques, complicated skinning and i18n techniques, code-free templates, etc... it's all in the framework that I'll open source soon).  That tells me that we were doing things right, but it also makes me sad that it's all getting tossed.

That's how it goes, I suppose!


kyle at idealist.org

More information about the Pdx-pm-list mailing list