Well, according to Wikipedia the 2.0 RTM was released in November of last year (and we all know Wikipedia is always right... Except for last night when I went to the Jaguar page and the only text for the entire article was F**K YOU!).
Anyhow... My point is that the Framework saw some pretty big changes in the jump from 1.1 to 2.0, and I thought it would be fun to ask everybody that might be reading this to go through a little exercise of self reflection with me. Nothing "new-agey," I promise. I just want to know which of the new features that showed up in 2.0 are actually being used vs. the complete and utter duds (like themeing in ASP.NET).
My "being used" list:
- Master Pages, which had to be manually hacked in with ASP.NET 1.1.
- Generics, of course. This was a fantastic addition to the framework, and not just because they let you have strongly typed lists out of the box. Take a look at Jean-Paul Boodhoo's post on validation in the domain layer for some other practical uses of generics. (As an aside, I'll be linking to JP a lot on this blog. He's a bald, boyish ninja of practical articles).
- The System.Collections.Generic.List class. I'm not talking about the generic stuff here, but rather the new methods like FindAll, FindLast, RemoveAll, TrueForAll, etc. These are super-wicked and often overlooked methods that will one day (when C# 3.0 comes out) lead to super-concise ruby-like code. In the meantime, they allow us to write code without foreach all over the place.
- Anonymous delegates are a feature that, when combined with the generic List class, I find myself using more and more. We can currently (in 2.0) write code like this:
myList.FindAll(delegate(User user)
{ return user.Name == “Jorge”; };
);
I've probably missed a few things in this list. Now here's my "un-used" feature list:
- Anything new in ASP.NET other than master pages. This includes themes, new controls, the new project-less model, and probably a few other things. As Sam Smoot put it ASP.NET is a Rube Goldberg Machine. I can't help but think that in the never-ending quest to make programming so simple even a monkey can do it, we've lost site of the forest for the trees.
- Iterators are something I've never personally used yet.
- Ditto partial classes. I've inadvertently used them in ASP.NET because that's the way code-behind now works (or is it code-beside?). This is something that is best used for code generation, but I've never consciously used the feature.
Once again, I'm sure this list is incomplete, so I'd like to hear what other's think. Speak!
Posted
09-24-2006 9:35 AM
by
Jeff Perrin