Cal Henderson, Flickr’s Engineering Manager, closed out the first day of DjangoCon with a very funny talk entitled Why I Hate Django. Despite the fact that he claims to be working on “yet another fucking blogging engine” built with Django, Henderson professed, tongue planted firmly in cheek, that he hates Django.
Of course, mind you, Henderson doesn’t hate Django nearly as much as he hates smug Rails developers, but nevertheless, he has some issues with Django:
Django team does not have beards = not serious
Django team = boy band
Verbose template syntax makes people cry (Henderson demonstrated how using the Smarty template system can save you three keystrokes)
Low version numbers are suspicious (Django is only at 1.0)
Django can’t pluralize octopus
Perhaps the funniest criticism was that, unlike Python, a serious programming language would not have a cheese shop where you get eggs.
Henderson did hit on one mildly serious point — that frameworks speed your development time at first, but then you often hit a wall. The framework doesn’t do what you want and you have to dig into its internals to figure out how to do what you want, which is often more difficult than writing your own framework from the ground up.
He also addressed some real shortcomings of Django, like its inability to read and write from multiple database servers (which, incidentally, is something the developers are aware of and will be added in a future version).
Of course, while Henderson’s presentation had some valid points that the Django community is well aware of, it was all in good fun and made for a lighthearted end to the first day of DjangoCon.
Cal’s slides from his talk will be available (soon, he promises) on his site at iamcal.com/talks.
Adrian Holovaty took the stage at DjangoCon shortly after lunch to walk Django users down memory lane, showing the unlikely evolution of a very simplistic tool he and Jacob Kaplan-Moss hacked together in a hurry, to the mature open source framework that is today’s Django.
Suffice to say that Django comes from humble beginnings. Holovaty walked through a series of humorous, self-deprecating slides showing the many mistakes he and the other earlier developers made in Django’s earlier stage.
He also highlighted the many times he assured the community that some feature would be “the last major change before 1.0.” As seasoned Django users know, the 1.0 release was a long time coming and Holovaty freely acknowledged that his early promises often went unfulfilled.
After tracing the evolution of Django to the semi-stable state it reached earlier this year, Jacob Kaplan-Moss offered an overview of the significant changes that have happened in the last several months leading up to the 1.0 release.
Perhaps the most exciting news for Django newcomers is 1.0′s much improved and expanded documentation. Not only have the Django docs been updated to reflect the new features (with some 40,000 new lines of documentation), but there are some new documentation tools like the ability to build the docs locally or even generate very nice PDF versions for offline reading.
As proof of Django’s open source approach and the vibrant community surrounding it, Moss reports that about half of the source code contributions are now coming from the community. The Django author’s page currently lists some 230 authors.