Closing Doors on ASP.NET Blogging
Posted in Apologetics
If you look at my blogging stats in the sidebar, you'll notice I haven't been too excited about blogging lately. The truth is, I simply can't gather enough enthusiasm to blog about ASP.NET.
I've followed MVC since its inception, but didn't want to introduce 1.0 it in a commercial setting. I felt it was too raw, too immature. Besides, using anything 1.0 coming out of Microsoft doesn't bode well.
For the past several months, I've been doing nothing but straight MVC: a full-time consulting project during the day, and the blog revamp in my "free" time. All MVC, all the time.
I suppose, to get something out of your system you have to dive in and swim. That's exactly what I did by deciding to completely revamp the site. After all, the design stayed the same since 2004 without major changes.
When all was said and done, here's what I realized: I couldn't stand MVC.
Looking back, I had no idea what I was getting myself into. Porting to MVC six years worth of posts, projects, tools, and other goodness was no easy task, but the framework made it so much more difficult.
My reasons
I was tempted to write a long treatise on why I give up on ASP.NET, but what's the point? I'd be preaching to the choir of those who agree with me, and the rest will remain ignorant and combative about their old ways. I'm going to simply list a couple of reasons and leave it at that.
- ASP.NET MVC is a boring and unimaginative product; a sorry me-too attempt at copying MonoRail and Rails.
- Starting a new business on MVC is bad idea. It is a poor investment of time (to fight the framework) and money (to buy crappy, expensive tooling, licenses, etc).
- Requiring a particular version of Visual Studio to code against a particular version of .NET is a bad idea. If I truly thought Visual Studio was worth the money, I'd buy it. But it isn't. I get Python, Ruby, Erlang, and Scala running within NetBeans and Eclipse for free. And with better refactoring support, thankyouverymuch.
- The community around MVC is infected with angry, holier-than-thou attitude (you know who you are). I don't want any part of it.
- Killer verbosity. Why does it take so much unexpressive code to accomplish trivial tasks?
- Missing abstractions. Here's a perfect example of complexity gone wild: Splitting DateTime - Unit Testing ASP.NET MVC Custom Model Binders. And that's something as simple as a date!
- The story Microsoft cheerleaders were advancing so hard was that of testability. I hate to say it, but testing in MVC sucks. The "story" is simply. Not. There.
NoInnovation.NET
The ASP.NET team of today reminds me of the IE team of six years ago. Back then, Dave Massy, Dean Hachamovitch and the team were able to get cranking and deliver IE6---a welcome, radical departure from the aged IE 5.5. It took some intense community pressure to affect the change, but they listened and shipped a better product.
Heading for the NO.NET door
If you still cling to the idea that MVC is the best thing since sliced bread, I admonish you to look around. While you're so afraid to miss a yet-another CTP of this, a service pack of that, you're missing something much bigger---a shift of mindset outside of Microsoft. If I were you, that is what I'd be worried about.
While .NET will remain my tool of choice for the foreseeable future, my plan it to look outside of the small window of my Microsoft prison cell. I'm diving into Erlang again and want to wrap my head around Django since I gravitate toward Python more than Ruby. However, this time I'm not taking religious sides.
If you've been coming to AspNetResources.com for a weekly fix of ASP.NET hacks, I thank you for your support throughout the years!
Amazingly, I still receive questions in regard to something I wrote six years ago when I launched this blog. I will keep responding to questions and supporting Shinkansen until further notice, as the saying goes.
All of the online tools will remain available as well.
