What is .NET?
.NET is a new development platform for Windows programming. It replaces essentially everything that came before it, including an entire alphabet soup of programing technologies, such as MFC, COM, ActiveX, ATL, ASP, ADO, and many others. Although Microsoft emphasizes XML Web Services in conjunction with .NET, XML Web Services are only a small part of the .NET platform, and the success of .NET is not dependent on the widespread adoption of XML Web Services.
.NET represents the future of Windows programming, and Microsoft is rapidly shifting more and more of its technology and products to a .NET foundation.
At the core of .NET is a runtime engine, similar to that used by Java, that loads and executes programs compiled into special bytecodes that the runtime understands. This runtime is called the Common Language Runtime (CLR), but we will often refer to it as the .NET runtime. A key feature of this system is that many languages can be compiled into CLR bytecodes and executed by the runtime. This means that .NET is language-neutral, supporting any programming language for which a .NET compiler is available. Microsoft provides compilers for C#, Visual Basic .NET, Visual J# .NET, and C++ With Managed Extensions. Many other compilers exist, including ones for Fortran, Perl, Python, Eiffel, COBOL, and many more. You can even create a class in one .NET language, say Visual Basic .NET, and subclass it in another language like C#.
Although .NET is language-neutral, probably the two most important .NET languages are Visual Basic .NET, a modification of the now-obsolete Visual Basic language, and C#, a new language that is similar in many ways to Java.