ASP.NET MVC has always bothered me; even now I’m not sure exactly what bothers me, but it’s enough to make me question using .NET to develop web applications. No longer working at a .NET shop and having escaped from the realty distortion field I’ve pushed myself to revaluate languages and frameworks which I had ignored in the past.
Django, a Python framework for creating web applications which is loosely based on MVC architecture. In the two-three-odd hours I spent with Instant Django I realized that I’ve never had a compelling reason to develop web applications in ASP.NET and “I know C#” is not a not a reason to learn ASP.NET MVC.
Almost Immediately I noticed I wasn’t fighting the language, interpreted languages are much more compatible with the web development story, web application development with static languages is time consuming and tiresome. Within the first hour I was in love with the documentation, not that I needed it *too* much, the different components fit well together and that’s fairly significant friction point for me. To do web development with ASP.NET MVC properly you need some sort of ORM, usually NHibernate, a dependency injection framework and 3rd party validators—I’m left wondering, isn’t this getting too complicated, where is my productivity?
By the second hour I’m sold, my gut tells me that Django is good and my brain is agreeing with my gut on this one.