Saturday, June 10, 2006

Ooops, They Did It Again: WinFX Confusion

Now the story coming out of Redmond is that having WinFX as a separate brand was confusing people who thought that it was totally unrelated to .NET.

In reality, the WinFX is a set APIs that currently bolt onto the .NET 2.0 framework to enhance the Windows platform (things like communications/web services, workflow, presentation, XAML, etc). That is, the architects and developers who actually put systems together knew what WinFX was, and we also knew what was in the .NET Framework 2.0.

Well, in their infinite wisdom, the folks in Washington decided to drop the WinFX brand, and bring everything into the .NET Framework itself. That, by the way, is fine by me. But, then they decided to version this new framework as 3.0.

What's the problem with this? Well, included in the 3.0 framework will be all of the 2.0 APIs, like CLR 2.0, C# 2.0, VB.NET 2.0, ADO.NET 2.0, etc., plus the new WinFX stuff. They have just broken the continuity that we knew to expect in framework version numbers.

Now, when Orcas (next version of Visual Studio) comes out, they'll probably version the new framework as 4.0. What would be included? CLR 3.0, C# 3.0, VB.NET 3.0, ADO.NET 3.0, and WinFX 2.0 (speculating). Where's the 4's in this list?

Versioning the new framework as 2.5 would have been far more appropriate than a whole new version number. I know it's semantics, but their whole reasoning behind doing this was to eliminate confusion, but I think it caused more problems than it fixed.