The Microsoft .NET framework is spread across several languages,
including Visual Basic, C# and J#. At its core lies a
language-neutral framework, the Common Language Infrastructure
(CLI), that primarily consists of a Common Intermediate Language
and a Common Language Runtime (CLR). The CLI is effectively the
.NET equivalent of a Java virtual machine (an interpreter) but,
unlike Java, which is a highly portable language, .NET is intended
solely for Windows-based systems. Ultimately, .NET has nothing
whatsoever to do with C++. The C# language is based upon C++, but
other than that they have absolutely nothing in common -- they are
completely independent languages.