Longhorn is a confusing product. In many ways, it is a drastically revolutionary
operating system, sporting a completely new .NET-based software development infrastructure that provides Windows with core presentation, storage, communication, security, and management features that would be difficult if not impossible to implement on previous Windows versions. On the other hand, Longhorn is very much an evolutionary improvement over Windows XP and Windows Server 2003, offering backwards compatibility with applications dating back to MS-DOS. One of the very real factors behind the success of Windows is Microsoft’s dedication to not completely obsoleting previous technologies. That is, there is little distinction between a “real” Longhorn application–one that is written directly to Longhorn’s new programming interfaces–and a “legacy” Win32-based application that runs today on Windows XP; instead, Microsoft actually provides developers with ways to easily add Longhorn-specific functionality to these legacy applications, without even requiring them to recompile, or recreate, the original application. I don’t intend to delve too far into this aspect of Longhorn’s programming interfaces in this review–after all, there’s already enough ground to cover as it is–but this attention to developer needs is often overlooked, especially by Microsoft’s critics.
Longhorn is a complicated product. Once you get past the immature veneer of the current alpha builds, you discover a wealth of new features, some of which are already implemented, some of which will arrive in later builds. And then there’s the stuff we don’t know about: With two years of development time, Longhorn will likely change dramatically between now and the final release. Fortunately, I think it’s safe to assume that that many of the low-level technologies I present here are pretty much written in stone, and won’t change that much at all.