Search Eridotnet


Sunday, January 6, 2008

Quick thoughts on .NET 1.x, 2.0, 3.0, and 3.5 (part two)

Remembering .NET 1.x

If you're not a real software geek or just a seasoned IT Professional, you can get more information from Microsoft .NET official site:

There, you can begin to delve .NET from outside view of non software developers.

Now, why do I call "Quick thoughts on .NET 1.x" instead of .NET 1.0 and .NET 1.1? Basically, the releases of .NET 1.0 and .NET 1.1 are essentially the same, although the language features from C# and VB.NET perspective, are different. The CLR is also the same between release of 1.0 and 1.1.

.NET 1.1 is basically adding minor new features while also squashing bugs in .NET 1.0.  .NET 1.0 is of course the first release of .NET. Microsoft has long planned .NET Framework long before the release of Visual Studio 2002 (a.k.a VS 7.0). My interest and curiosity about .NET was awakened after I saw an article on BusinessWeek in late 1999. I forgot the exact date, but it had the cover of two Microsoft employees were setting up a .NET logo flag!

It was a huge bet for Microsoft, since it was dubbed as an application platform, and it's somehow could bring confusion to existing Microsoft platform of Win32 API, while facing the fact that web itself was becoming a platform too. XML was also the center of

In 2000, in MSDN Library online or offline version (from MSDN subscription), Microsoft began to provide many articles and preliminary documentation of .NET. The namespaces, class names, were quite changed many times. In July 2001 of MSDN Library (offline) edition, .NET was added as .NET beta documentation. At that time, .NET 1.0 namespace changes was frozen, but class name changes were there, but only small changes.

As always, Microsoft makes gimmicks and beta documentation of their products, but they often got the fact not yet released for public.

But after the introduction of Visual Studio 2002, many things had happened.

VB 6 developers were revolting!

Sadly, on the VB 6 programmer side, it makes some of old VB 6 developers to be left in the cold. VB.NET is a whole new programming concept, although the basic language keywords are remain the same. As a result, there is a VB petition from many die hard VB 6 MVPs and developers, but I assume some of you will ignore this. Let's just say from Robert McLaws perspective, don't be a spoiled brat of being a Microsoft MVP. I believe many of you, including me, are not MVP, but we have a good spirit of software geek, including always and continuous learning and coding, right? But in the end, the choice is ours to make.

As a matter of fact, in my objective opinion, a petition of voicing concerns of many huge bases of VB 6 developers is definitely a good thing, which means that MVP has to be independent from Microsoft.

Okay, we had .NET 2.0 in 2005 back then...

In early 2004, again, Microsoft had begun voicing the next major release of ,NET 1.x, the .NET 2.0. Some of my .NET 2.0 early adopters friends told me that they began toying with .NET 2.0 in late 2003. But in MSDN Library April 2005 edition, Microsoft stated that .NET 2.0 was frozen (in features) and would be released soon.

But what makes me quite disappointed even until now, that offline version of MSDN Library is always only geared toward .NET specific release and Visual Studio specific release, instead of giving enough time to make transition between releases. But sadly, in MSDN Library that is specific for Visual Studio 2008, you still find many old articles of .NET 1.x. What I want is, if it's really geared toward .NET 3.5 and Visual Studio 2008, why do I still have megabytes of .NET 1.x article references? But, you can download MSDN Library for Visual Studio 2008 freely, anyway. Be patient if you have really slow Internet connection, though. Since it's about 2GB in size. If you have a good/decent connection, you can always view online MSDN Library.

.NET 2.0 brought a newer CLR, and although it's backward compatible with .NET 1.1, you should recompile your source in .NET 2.0 if you want to migrate it smoothly. Don't take any risk! Because .NET 2.0 has different CLR and this means different IL (.NET Microsoft Intermediate Language) to handle. That's also a runtime backward problem. For example: don't try to run/debug .NET 2.0 executable program in .NET 1.1 environment. It won't work.

One notable features that brings the new release on both .NET 2.0 and Visual Studio 2005, is the inclusion of Generics. This is one of my reason of deciding which platform and which platform's version have.

And now we still have .NET 2.0 in .NET 3.0 and 3.5!

Because, just like my previous post, .NET 3.5 is basically .NET 3.0 with new features (but not new CLR), and .NET 3.0 is basically .NET 2.0 + WPF + WCF + WF + CardSpace.

.NET 2.0 is the beginning of CLR 2.0. Changes are minimal after releasing 3.0 and 3.5. But what about LINQ in .NET 3.5?