Source : Free On-Line Dictionary of Computing
.NET framework
A software development and execution
environment designed by {Microsoft} as a direct competitor to
{Java}. .NET framework should not be confused with
{Microsoft}'s past labeling of a line of products as ".NET".
.NET simplifies interoperability between languages and
machines on {Microsoft Windows} especially, although not
specifically, for web based services. Essentially the .NET
framework consists of the CLR (common language runtime), CTS
(common type system), CLS (common language system), and IL
(intermediate language).
The CLR consists of a number of resources provided to .NET
applications such as the security model, type system and .NET
classes (c.f. Java classes). The CTS is the range of all
types that .NET understands although it is not necessarily the
case that a .NET program will understand all of these types.
The CLS however is a subset of the CTS which all .NET
languages must support: any two .NET languages can
interoperate via. the CLS.
All .NET languages are at some stage compiled into the IL, a
{byte-code} like language. However unlike a standard Java run
time environment, the IL is converted to {machine code} either
upon installation of the software or at {run time} by a {just
in time compiler} (JIT). The IL is not interpretted.
.NET's main weakness is that Microsoft have ignored the {Unix}
and {mainframe} environments, effectively ruling .NET out of
use in many {enterprise} environments. However there is
{Mono} - an {open source} .NET framework for Unix}.
.NET was based on research by Steven Lucco on a product called
{OmniVM}, sold by {Colusa software}. Attracted to OmniVM
since VB and C/C++ environments were already available,
Microsoft bought Colusa in 1996. Microsoft provides .NET
compilers for {C#}, {C++}, {VB}, and {Jscript}.
(2003-09-24)