Classic ASP vs. ASP.NET 2.0 Productivity

I’ve been doing a lot of .NET tutorials but hadn’t yet applied much to the real world. The one .NET app I’ve done for work so far was largely designed to the constraints of my experience, unfortunately. I was curious to see how difficult it would be to design a dynamic ASPX page that lived up to my usual standards – aesthetically, usability-wise and functionally. In this case, I wanted to add a summary table of all the data collected from a web form that was written in classic ASP, XHTML/CSS and Javascript.

Easier than I thought! I created a “new website” in the location of the old asp pages, Visual Studio automatically adds server extensions (an isolated app pool) and, though VS actually warned me, I had to manually set the directory to use ASP.NET 2.0 framework. The solution explorer view automatically included all of the content in the website project. I created a new web form page, copied the framework xhtml from another page in the directory (sans ASP) by viewing the source in a browser (there were a lot of logic loops so it was much easier this way), fixed a couple small errors that VS 2005′s intellisense picked up right away, and then went into design view – dropped an Access (OLEDB) datasource and a datagrid to consume it on the page, configured that, added CSS classes to make it pretty, and walah! I couldn’t flippin believe it
It’s so easy to expose database data and include paging and sorting automatically. That’s the power of the datagrid – displaying data from a database in ASP is no big deal (once you’ve worked out security issues and connection strings in your environment) but extra things like paging and sorting, while certainly doable, are no where near as easy. What surprised me the most, other than the shocking ease of creating a more or less XHTML compliant page using datacontrols, was how nice Visual Studio 2005 was as a general editor for old ASP pages and CSS files.

Kentucky Horse race, photo by flickr user Gearhart

It was timely coincidence that an article called Microsoft Visual Studio 2005: Productivity Study appeared on the top of the article stack that is presented to you on opening VS 2005. The article had a big callout stating:

ASP.NET 2.0 developers accomplished 113% more tasks in the same amount of time as ASP developers; ASP.NET 2.0 developers created web content pages up to 357% faster than ASP developers.

I actually thought the first number was low, if in fact they were using experienced .NET developers, as so much is automated, you have a full programming language to use and a plethora of built-in objects to leverage. But then the article continued:

The approach to this study was to recruit experienced developers in each of the development disciplines, ASP and ASP.NET 2.0. This resulted in two equal-sized developer groups, four developers in each group.

And then I stopped reading. I mean, why bother? A total of 8 developers made up their test case? WTF?! This is a pseudoscientific approach that is more like a raffle than a real study you can actually derive meaning from.

From my personal and to date, somewhat limited, perspective – I think it’s the paradigm shift and learning curve that makes new developers (like me) slow as molasses on .NET. There are a lot of developers who are really comfy in classic ASP and having gone from PHP to ASP for work, I can say it’s much easier than going to .NET…initially.

Once a developer has a good grasp on OOP and resources available in .NET framework I would guess the numbers are likely more disparate. Throw in a few different types of programming challenges, a larger test case, and make sure to include some projects the devs don’t already know how to do…then you start to see how much more (or less) developing in .NET is. I would like to read that report when and if it becomes available.