Today, seven years ago, I got my hands on the first beta of .NET Framework 1.0, and I was really excited. When I attended a partner conference about .NET in late 2000, I was blown away!
I had been working with Microsoft technology for year already, but I felt that the long awaited framework of reusable code for enterprise applications was being created. I mean that even if both the core Windows API and libraries like MFC all brought productivity, the new frameworks new capabilities in terms of data access, XML, communication, etc, was something new and necessary. We could let go of most of the code that we previously had to design, create, test, and deploy with our own proprietary frameworks. Even if we did that somewhat unwillingly, it was a good thing. The next amazing thing was the new language, C#, and I remember that thought; "-Bye, bye, sweet Visual Basic" who had been my friend for several years. The fact that I had been programming Turbo Pascal, C, and C++ before probably helped, but I thought that the creation by Anders Hejlsberg (who also created Turbo Pascal) was exactly what I had been looking for (combining the best of all languages, including Java). The things that remained the same, and that was already good, were the operating system (Windows) and the development environment (Visual Studio). So, the four pillars of a developer's world were there...
- Operating System
- Framework
- Language
- Tools
...and since that day, I haven't looked back once!
The great thing now is to see how Microsoft is taking the framework further. As I have been developing for Windows Mobile devices for some years, I have used the compact version of the framework. It's quite amazing how much of the full framework that is there considering the footprint. The framework was not on handheld devices and mobile phones. The things that are missing in .NET Compact Framework can almost always be handled in some way (by adding some third-party code, etc). Recently, I have come in contact with the .NET Micro Framework which is even smaller (yes, small IS beautiful, but still the managed code, the language, and the development tools that we have grown to adore. Just check out how he created a basic version of my all-time-favorite game space invaders. The framework is now in sensors, monitors, aux displays, remote controls, and even in robots. The next great example is Silverlight, which is actually a C++ implementation of a subset of the full framework. As the other smaller frameworks, it is focused on having a small footprint, but the new thing here is that it is now also portable. It works in the most common browsers and on both Windows and Mac (OS X). Still, the four pillars are the same!
My conclusion is that after watching the .NET Framework grow, move, and port for seven years is that we will live with this framework for years to come. It will still change in many ways, but this is the way to build the software of the future. Bill Gates was right, again, and I feel secure that my investments in the framework are very safe. I know that the code I write based on .NET Framework in C# is something that I can use for many years.
Again, keep up the great work, Microsoft!