Microsoft closes The Noughties by trying to keep up with competitors and to remain a top destination for developers by embracing cloud computing and open source. It opened the decade with another massive platform shift, though: the introduction of .NET.

.NET was announced at the first TechEd of decade in Amsterdam in the year 2000 with more detail provided at the Professional Developer's Conference in Orlando, Florida.

In the ensuing decade, did .NET deliver what Microsoft promised?

The .NET story makes more sense if you consider what Microsoft was up against at the time. The central place of Windows was being undermined not only by the internet, but also by Sun Microsystems' Java language and runtime. Java was easy to code, thanks to its modern design and automatic memory management, came with its own cross-platform runtime, and was being adopted with enthusiasm by the likes of IBM and Oracle.

Microsoft had tried to add Windows-specific features such as COM integration to Java, but the response was a billion-dollar lawsuit from Sun for breaking cross-platform compatibility. COM is a native Windows component model for application integration.

Microsoft's developer tools were also looking tired. Visual Basic was quirky, underpowered, easy for beginners but difficult for experts. Visual C++ and the Windows class library, Microsoft Foundation Classes, were difficult for everyone. Web development with COM and Active Server Pages was messy and fragile.

The company's answer was bold. "We're going to deliver a whole new platform called the Microsoft .NET Platform," said general manager Michael Risse at TechEd 2000. It was comprised of three parts. First, there was a new "common language runtime", which supported existing languages including Visual Basic and C++ as well as a new language called C#, designed by Anders Hejlsberg of Borland Delphi fame, and which embraced many of the same concepts found in Java.

Then, there were to be building block services, "a set of services in the sky", accessible over the Internet via XML web services. Microsoft Passport was an early example.

Finally, all of Microsoft's existing server products were to be re-tooled as .NET servers, with XML as the unifying protocol. Risse talked about next-generation applications as "the universal canvas, an aggregation of different single web services that are brought together as appropriate." His .NET announcement was followed by a demonstration of BizTalk, the server product which Risse hoped would be orchestrating many of those services.