Microsoft is already on to the next big thing while we're lagging behind. For one that attended PDC this year and was super excited to see what technologies are coming down the pike, it's also extrodinarily frustrating to not be able to take advantage of some of this technology.

I can't tell you how many times I've been looking up in my development day and think to myself “Damn it sure would be nice to take advantage of this new feature today“. Generics, all the high level changes in ASP.Net, the improvements in the designers and the VS shell will make life considerably easier for many common tasks. There are plenty of fits, plenty of places this could be applied but yet we as developers are stuck on existing technologies, while the eternal techno carrot is dangled in front of our face.

The technology that was introduced at PDC varies from stuff that will be available in the relative near term (within a year - Whidbey/.Net 2.0) and stuff that is probably 2 years at minimum (Longhorn) out before you can even have release bits probably another 2 before the platform is stable and really taking advantage of the new paradigm.

These days Microsoft is very open about where they are headed with their technology. The days when Microsoft was so closed lipped about new features in new products are starting to come to an end with many of the MS developers posting comments on what they are doing in their BLogs.

Michael Earls has very well expressed this point in his Web log a few days back.

This has both positive and negative effects. On the upside the average developer gets a chance to get a pretty good idea at what's coming down the line. This helps getting a feeling for direction and possibly preparing for the changes, big and small as they come. And there's open discussion of this technology with at least some sort of feedback possible for anybody who's interested.

But on the downside, once again we get overwhelmed by - currently - useless information. Some of this technology is a long ways off and frankly for most developers a waste of time. Yes, it's interesting and we can prepare, but we're looking at stuff that is not fully baked at this time. It will drastically change.  A lot can and no doubt will happen in two years.

What's the best path here? Watch the new stuff come out on the horizon and jump on it, or wait 'til it's here and then make the move? I think the latter is by far the more efficient approach for the average developer. As developers if we spend time on learning non-existant technology we're wasting time on many things that will change or work differently. You're also looking at a lot of inferred information which mostly comes from other developers who are 'putting the pieces together' and writing up this information. All this accomplishes is that you end up with that sinking feeling of penis envy - it'll all be bigger and better later.

In the meantime, your workday looms and you need to get things done.

And until you have at least something in your hands that you can play with (consider it a toy until you have release bits!) it's pretty hard to see any benefit in people talking to you about something that you don't have.

Again, case in point look at all the hub-hub even about Whidbey which is probably close to a year away, and not even in beta.Theres a small alpha group plus people that attended PDC and just now people who will download the PDC bits through the MSDN subscription. If you look at the PDC/Alpha bits - the bits that were shipped at PDC were ancient and current Microsoft builds were close to a half year newer.

I personally think it's good MS is putting out this information, but I can personally attest to that sinking feeling of just getting overwhelmed again by too much new stuff coming down the line. And that feeling of wasting my time following some of this stuff. Hey, just in time as I'm getting comfortable with the current version of .Net, right?

At the same time we have the hype machine at full volume. People are writing volumnious articles about this stuff even in Alpha form, which no doubt will result in lots of obsolete code samples and papers once a beta and final release rolls around.

I'm making it a point to not write any articles on Whidbey any of this technology until the beta at least even though I've spent a fair amount of time playing with the Alpha stuff that directly concerns me most (ASP.Net). I suppose it's useful to hear about new features in general, but articles that go into detail using the new technology are not doing anybody any favors...