March 15, 2001, 5:11 PM —
Microsoft's .Net initiative began to crystallize in the late 1990s. It was designed to solve several widespread Windows-generated exasperations: DLL (dynamic link library) hell, the complexity of installing and uninstalling software, and the fragility of proprietary configuration. To eliminate these problems, Redmond decided to add another layer of indirection while implementing interoperability through XML (Extensible Markup Language). According to Dick Hardt, founder of the ActiveState Tool Corporation, Microsoft has scripted the indirection and data transparency well enough that ".Net removes all the configuration issues and complexity with ActiveX and COM [Component Object Model]." At the same time, .Net has better performance than COM.
Of course, Microsoft has a history of making grand promises for its products and then not delivering on them. We're not certain that .Net's fate will be better, but early indications are promising.
".Net is about programmer productivity," Hardt says. We're struck by how much .Net is an elaboration of scripting technologies. Scripting has to do with effective patterns of generalization -- using the computer to automate solutions. Also, as Microsoft CEO and president Steve Ballmer aptly puts it, "The world is going more decentralized." These are precisely the ideas .Net exploits.
VS gets you to IL
.Net applications run both a runtime framework and an intermediate language (IL) execution engine; the latter performs just-in-time (JIT) compilation. IL appears to have as much power and flexibility as developers currently need, with working code generated for C, BASIC, COBOL, Perl, and Python. Different languages share the common language runtime (CLR), but in a manageable way. While DLLs easily fall into conflict with Windows systems, single .Net applications can incorporate multiple versions of a single DLL. The release of .Net should mark the end of the DLL conflicts that plague so many Windows desktops.
This means that, under .Net, the installation of software consists of copying a single executable file image -- no reboot required! Applications and DLLs include metadata that suffices for the resolution all interdependencies. There is even a standard mechanism for network retrieval of undefined or updated components. The same mechanism provides the opportunity for performance specializations: particular DLLs can be optimized for MMX-savvy chips or multiprocessing hosts, and will still follow generic instructions for the majority of installations.
Though Microsoft at the moment has terrible problems with the security of its software, .Net specifies a signature verification mechanism that promises "security granularity down to the method," according to Hardt.
Regular Expressions readers know how fond we are of anything that moves end users away from dealing with the details of installation -- the registry, datatypes, versioning, and other matters that computers ought to manage. .Net doesn't just eliminate the registry and open all metadata to plain-text introspection; it does all this with full cross-language integration and interoperability. IL provides for proper object inheritance expressible in any popular computing language.
The golden chain Microsoft has designed for developers is Visual Studio 7 (VS). VS fully unifies not only Visual Basic, Visual C++, and Visual InterDev, but ActiveState, Perl, and Python. VS defines the fundamental framework for development of .Net applications. The clever compilation of IL and .Net's excellent design appear to be yielding performance superior to that of COM-based applications.
Does this mean VS will become as necessary to developers as Windows and Office have been to conventional desktop users? It appears that .Net's fundamentals will be documented better than COM ever has been, so competition to VS will be more feasible on a technical level than it has been for the more closed products. On the other hand, if VS releases are of adequate quality, many developers will agree with Hardt when he says that "Microsoft has done a good job of advancing the base technology of what a modern OS needs to provide and improve."
Really real
Let's review the status of .Net's core pieces. SOAP exists now and has been reasonably well understood for many months. As of yet, there are virtually no shrink-wrapped applications that exploit SOAP in the way that Microsoft says will become natural once the Web replaces the desktop as the foundation of programming. Microsoft demonstrations raise security questions more than they excite prospective customers.
On the other hand, SOAP 1.1 answers some of those questions.













