|
|
December 4, 2000 |
|
|
.Net Framework: Commanding The Tower Of Babel
By Don Kiely
![]() |
ne of the most significant technical innovations of Microsoft's .Net Framework programming language is its use of the new Common Language Infrastructure (CLI). This approach takes an intermediate language, compiled from source code, and executes the code, allowing a unified set of commands to be executed across all programming languages.
CLI defines standard data types, permitting developers to define their own types and specify function prototypes and implementations for their types. CLI supports an object-oriented programming style, with features such as classification, inheritance, and polymorphism, and is one of the major reasons Visual Basic is finally getting a full set of object-oriented programming features. CLI can also support non-object-oriented languages, but it may mean more work to implement those languages.
Microsoft seems to be pushing Visual Basic beyond its reputation as being easy to learn and use by implementing full, object-oriented programming features, as well as extensions to support inheritance of CLI objects. Developers experienced with Visual Basic are going to feel strangely unfamiliar with the .Net version. While many of the familiar language constructs will remain, there will also be support for new paradigms that are sure to confuse the unprepared developer.
Nevertheless, providing this kind of core common language features has a number of significant benefits for developers. Probably the biggest benefit is that source code written in any language can inherit objects written in any other language. Up to now, to use object-oriented programming inheritance meant that the base and derived classes had to be written in the same programming language.
Now, Visual Basic code can inherit objects written in C#, which can inherit objects written in other languages. The trick here is that since all managed code is compiled to an intermediate language, essentially a common-source language, all the objects are written in the same intermediate language source code.
Microsoft's Visual Studio.Net will ship with three languages that use CLI: C++, C#, and Visual Basic. Microsoft has been aggressively courting language developers to implement a .Net version of their pet languages, so about 17 languages, including Cobol and Eiffel, will be available for use on CLI.
Microsoft has hinted that there may even be a Java.Net version, although considering its continuing legal problems with Sun Microsystems, it's probable that neither company is likely to do such an implementation themselves.
While some are calling C# Microsoft's Java killer, it's unlikely to dethrone Java. C# is a C/C++ derivative language built on CLI and available only as managed code. The biggest reason Java won't be dethroned is that even though Microsoft is submitting the language specification for standardization, it's likely to be a very long time before there's any significant implementation on a non-Windows platform. It should be noted that C# also isn't designed to support the Java paradigm, nor does it insist that everything it interacts with be written in Java.

Illustration by Randy Hess
ISIS Papyrus America seeking Software Pre-Sales Analyst in Southlake, TX
Agilent Technologies seeking Business Manager in Bangalore, IN
Covidien seeking Principal Validation Test in Boulder, CO
T-Mobile seeking Unified Subscriber Database Engr in Bellevue, WA
20th Century Fox seeking Sr. Production Software Engineer in Los Angeles, CA
For more great jobs, career-related news, features and services, please visit our Career Center.
Back to This Week's Issue
Send Us Your Feedback
Top of the Page
Featured Microsite