In George Orwell's Animal Farm, the animals on a small farm revolt against the farmer and create a seemingly utopian world in which all animals share the labor and the fruits of that labor. Now, the programming world faces a similar revolt--one in which the animals are Visual Basic (VB), C++, C#, and even COBOL programmers, and the utopian world they yearn for is the .NET Framework.
In the weeks since TechEd, I have been exploring Visual Basic.NET, and the expectation is that programmers will have so many reasons to move to .NET that they'll revolt against any attempt to slow its adoption. Just about every common task that Windows programmers perform today is easier to code, test, deploy, and maintain using Visual Basic.NET. Because true interoperation will finally exist among all .NET languages, and because .NET will unify the services and functions that those languages offer, the task of integrating code from several programmers writing in different languages will be almost trivial. The .NET development environment finally pulls all the languages that programmers use into one easy-to-use but extremely powerful tool that includes the ability to debug code no matter where it runs. After years of sometimes widely divergent ideas about how Windows programmers should write code, Microsoft has finally come up with an environment that lets programmers concentrate on writing programs and not on technology or syntax idiosyncrasies.
The key to these developments is the Common Language Runtime (CLR). Because the .NET languages can provide code for one common, abstracted environment, programmers have the same functionality available no matter what language they use--no longer must they endure different sets of rules for C++ and VB. The CLR is the intermediate layer that translates CLR function calls into function calls that the host OS supports. If you're worried that .NET languages and CLR sound like some sort of old-style interpreted language (e.g., Pascal or earlier versions of VB), you can relax. The compilation process includes converting the .NET language code into machine code for the target CPU. In fact, Microsoft told TechEd attendees that .NET applications compiled with the final release will actually run faster and have smaller footprints than current applications. What makes these enhancements even more significant is Microsoft's comment that the .NET Framework isn't limited to the Windows platform. Microsoft will tailor its first releases for Windows XP and Windows 2000, but the company has long-term plans to port .NET to the Mac OS, UNIX, and Linux. If that happens, we'll no longer distinguish programmers by the OSs they use.
No matter what your role in IT, .NET will have a significant impact on your professional life. The impact on programmers is obvious, but the impact on network managers will be just as great. To receive the full benefits that the .NET Framework has to offer, clients running .NET applications will need to run XP or Win2K (or Windows CE 3.0 for mobile users), as will the servers that will run the server versions of the applications. .NET is based on an N-tier distributed application design; therefore, servers supporting the various network functions will probably be located in many places on the network and will offer direct access over the Internet. In addition to managing all the services needed to help servers and clients communicate with each other, you'll also need to manage security for local, remote, and Internet users. The world as you know it is about to change.
The adoption process will be extremely fast in some companies and glacially slow in others, but after Windows programmers learn what they can do with .NET, adoption will be inevitable. The "farmers" who will bear the brunt of the revolt are the network administrators, so this impending radical change in application development affects us all. Training will certainly help us prepare for the changes to come. Next time, I'll discuss some of the .NET training resources that are available. In the meantime, let's hope things turn out better for Animal Farm.NET than they did in the book.