In-Depth

Happy Birthday .NET Framework!

OPINION: It's been ten years since .NET Framework was launched at the 2000 PDC.

June 22, 2010 was the 10th anniversary of the .NET Framework. It's hard to believe that it has been ten years since .NET was publicly unveiled in Orlando, Florida at the Microsoft Professional Developers Conference (PDC) in 2000.

I was there at the time and I can say that it was quite an exciting experience with a lot of buzz and lots of emphasis on SOAP and this new language called C#, and of course the new Visual Basic (VB) and lots of talk about garbage collection and performance comparisons between Java and .NET, and the performance of C# and VB.NET to C++ and VB6. I finally threw away the "alpha" bits on CDs that I had from that conference just a few months back. They had been sitting in a drawer in my study along with other various bits from conferences over the years and it was time to move on. I still have the T-Shirt from that conference though which either says something about my wardrobe or the longevity of physical cotton as compared to technology... or maybe the doctors are right... I may be a hoarder.

Now we've got C# 4 and it finally has better COM interop along the lines of closer to what VB.NET has had since day one, with C# now supporting a decent and easier to use late-binding model. And we've got overall better support across the board on so many other things in the .NET Framework landscape. I do find it a bit ironic that C# is now, ten years later, getting better COM support. My guess is that Microsoft finally accepted the fact that despite all the flaws of COM, it was still so darn successful that expecting everyone to just drop it and do nothing but .NET and C# after a couple of years may have been too optimistic.

Of course that was before Google became what they are today, and keeping that legacy Office VBA stuff humming is valuable to Microsoft. But other forces are at play. Apple is resurgent and Google and Amazon ignited a firestorm of cloud-oriented development. The funny thing is, Microsoft at that 2000 PC actually talked about what it called the "Internet cloud" as a computing paradigm, and described how .NET would fit into the concept with HTTP-SOAP and XML. With .NET Framework 4 there are much better "cloud" hooks, in the form of Windows Azure, but I digress from my reminiscing.

I remember Don Box's pre-conference talk on SOAP and "boxing data" across processes regardless of where the process ran, and the wonders of doing SOAP-encoded data serialization and XML to help on all of the messy interfaces. There were two demos that really stuck with me that day and opened my eyes to the potential "openness" of .NET and the power of what Microsoft was pushing. I saw a framework that promised to finish what Java had started, and that had the potential to overcome the stagnation and bloat that was weighing down the Java effort.

One demo was a non-Microsoft browser on a Macintosh hitting an IIS Web server serving up ASP.NET dynamically created pages and making SOAP calls to multiple Apache servers on Linux running a JVM for the SOAP service that were themselves making calls to Windows servers that had a C#-based .ASMX SOAP-XML Web service, which itself was making calls to an internal COBOL.NET application. The second demo was around cross-language polymorphism, where a VB.NET program made a call to a C# program that added an overloaded method to an existing method written in COBOL.NET that the method in COBOL.NET was actually an encapsulated method call into VB.NET and all of this in the same process space. There may have been many higher languages used but the call stack of course deep down was all CLR executing compiled MSIL.

I knew then that during my previous many years of coding that I had never seen that kind of cross-process, cross-language work take place so flawlessly and seamlessly, and after seeing changes made and compiled during both demos I got religion and found myself turning into a fanboy for .NET. Now, ten years later not all that was said and shown at the unveiling transpired or came to fruition, but so much did. And there have been many other things that have come along to extend and improve upon many of the concepts presented and discussed. Even today the excitement and potential around .NET is still there for me.

So, happy birthday to our "technology stack of choice" and lift a pint or two in its name, for without .NET many of us on this thread may not have a job or a career, or at least possibly not one as cool as .NET development.

The opinions expressed here are the views of the writer and do not reflect the views and opinions of Citigroup.

About the Author

Jim has over 15 years of financial services industry experience, focusing mainly within the B2B space. He has worked in data mining, vertical software markets, distributed client-server technologies and e-commerce, and has more than a decade of experience in designing, building, deploying and managing large distributed application systems using Microsoft technologies.

comments powered by Disqus

Featured

  • Compare New GitHub Copilot Free Plan for Visual Studio/VS Code to Paid Plans

    The free plan restricts the number of completions, chat requests and access to AI models, being suitable for occasional users and small projects.

  • Diving Deep into .NET MAUI

    Ever since someone figured out that fiddling bits results in source code, developers have sought one codebase for all types of apps on all platforms, with Microsoft's latest attempt to further that effort being .NET MAUI.

  • Copilot AI Boosts Abound in New VS Code v1.96

    Microsoft improved on its new "Copilot Edit" functionality in the latest release of Visual Studio Code, v1.96, its open-source based code editor that has become the most popular in the world according to many surveys.

  • AdaBoost Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the AdaBoost.R2 algorithm for regression problems (where the goal is to predict a single numeric value). The implementation follows the original source research paper closely, so you can use it as a guide for customization for specific scenarios.

  • Versioning and Documenting ASP.NET Core Services

    Building an API with ASP.NET Core is only half the job. If your API is going to live more than one release cycle, you're going to need to version it. If you have other people building clients for it, you're going to need to document it.

Subscribe on YouTube