Editorial Notice: All opinions are those of the author and not necessarily those of osnews.com
I do not believe Microsoft would have had the motivation to purse many of the ideas presented at the Microsoft Professional Developer Conference (PDC) had it not been for the competition Linux presents. I may be wrong about this, although this seems to be a typical strategy" of Mr. Gates'. Either way, the fact remains, Microsoft is now pursuing a course to "revolutionize" computing once again.
Longhorn is innovative in a number of ways. One of its major strengths is that it is almost entirely built upon an overarching and increasingly refined architecture called the .NET framework. The .NET framework is composed of the common language runtime (CLR) and a unified set of class libraries, providing developers with a core one-stop shop for all their programming needs.
According to Microsoft, the CLR "manages much of the plumbing involved in developing software, enabling developers to focus on the core business logic code". The .NET framework supports over 20 programming languages which can be compiled to run via the CLR. In Microsoft parlance, this is called managed code. Of course most development for .NET is done with Microsoft's own C# and Visual Basic (VB) languages. In this regard .NET is in competition with Sun System's Java, where the CLR is basically equivalent to a Java Virtual Machine (JVM). In fact, IBM is in direct competition with Microsoft, offering an equivalent toolset centered around a Java-centric development environment called Eclipse, of course, running on Linux. Mind you, at first, it was Microsoft who was playing catch-up with Java, and the likely reason for the birth of .NET in the first place. But they have surpassed Java at this point. Additionally, there are, in fact, a number of other initiatives along these lines. Parrot is a VM being developed primarily for Perl6, and Ruby will eventually have RITE, and so forth.
It is interesting to note that one of the earliest general use VMs is called VP, which stands for Virtual Processor. VP was first developed in the 80's, on the Amiga platform, and is a very low-level proprietary VM that is at the heart of the Intent Real Time Operating System (iRTOS) previously known as Taos, then later Elate. iRTOS underlies the very successful Intent Multimedia framework licensed to embedded developers by the Taos Group. It is very small, sometimes referred to as a nano-kernel, and very fast. It runs on a multitude of CPU architectures so that programs compiled to VP do not require recompile to run on any of the supported architectures. It is also inherently grid-enabled. And is (or at least was) a key component of the new Amiga. It is rather amazing technology. But it is not Open.
The .NET classes are extensive and are rather well developed and documented. These classes make it "easy" to "build, deploy, and administer secure, robust, and high-performing applications". The classes include basic functionality such as input/output, string manipulation, security management, network communications, thread management, text management, and user interface design features. Most notably they include the ADO.NET classes for interaction with data accessed in the form of XML through the OLE DB, ODBC, Oracle, and SQL Server interfaces. XML classes enable XML manipulation, searching, and translations; and the ASP.NET classes which support Web-based applications and Web services; and obviously the Windows Forms classes for desktop-based client applications. "Together, the class libraries provide a common, consistent development interface across all languages supported by the .NET Framework."
On Linux we have many shared libraries to call upon, but nothing as unified and standardized as .NET. Although in many ways this is a strength of Linux and OSS, it is also it's Achilles' heel. A very large percentage of OSS development is unorganized and redundant. We may make fun of Microsoft's slogan, "Where do you want to go today?" but OSS developers may wish to be a little less smug and consider the fact that they spend substantial amounts of time "reinventing the wheel". The closet comparable entity that Linux and the OSS movement has to .NET falls under the GNU project. Indeed, it is a very respectable project consisting a wide range of standards, libraries and applications, genrally based around the GUI toolkit GTK+. These range from the component model Bonobo and low-level APIs like GTK+, to complete applications like Gnumeric and Abiword and the full-on desktop environment Gnome. Ironically though, another similiar project, KDE, is more commonly used by Linux end-users, although it is based on a quasi-proprietary GUI toolkit, Qt. Commercial standards, it seems, do have their advantages.
Some of the important innovations that Longhorn is set to provide the industry, and the Windows user at large, a few years from now, are:
- Pervasive use of XML as a single document markup systax and its related technologies.
- WinFS, a new file system based around relational database technology and natural language like meta-queries
- New user interface technologies based on DirectX, in place of the GDI interface. Every window in the release version will be a 32-bit, z-buffered, 3D surface
- A new presentation and UI design subsystem, codenamed "Avalon," based around a declaretive markup styntax, the Extensible Application Markup Language (XAML)
- A new communications architecture, codenamed "Indigo," that is an enhanced and integrated version of Microsoft's .NET framework
- "Improved" security and digital rights management with it's Next-Generation Secure Computing Base
This is only a large overviewing selection of innovations. There are many other Microsoft research project and sub-projects going into Longhorn and certainly there may be more by the time 2006 rolls around. I have heard a number of voices in the OSS community consider these things "old hat" and "what's the big deal?" material. This may be easy to say from this side of the time line, but when Longhorn rolls out, it WILL be a big deal. And those same naysayers will eventually have to admit that this .NET Longhorn stuff is alright. It is "alright" simply because it improves upon a number of end-user needs: it easies development and deployment, enriches the end-user experience, and quells corporate concerns over digital rights, just to name a few of the major addresses.
- "Old GNU, Page 1"
- "Old GNU, Page 2"