.NET is a software development and application execution environment that allows you to create, compile, test, deploy, and execute software that may be coded in a variety of different programming languages that adhere to a single set of Common Language Runtime files. In .NET's initial public release, Microsoft presents new versions of its most popular programming languages: Visual Basic and C++, which are now called Visual Basic .NET and MC++ (Managed C++). Although Microsoft has retired J++, they introduce two new languages: J# and C# (pronounced j-sharp and c-sharp respectively). In terms of their respective performance and power, all of these languages are very similar. In terms of the syntax they use, VB.NET is the only programming language that is not derived from the C Language. Despite the subtle differences between them and their individual compilers, the resulting compiled code is the same for every language. This insures completely seamless language interoperability on a common integrated platform that is supported by the .NET Framework's Class Library and Runtime. Microsoft bundles support for all of these new languages in its latest release of Visual Studio, now called Visual Studio.NET (VS.NET). Microsoft's entire product line of development packages has undergone significant changes to satisfy the requirements of this new framework. Of course, Microsoft would love it if you decided to buy Visual Studio .NET to develop your .NET applications, but .NET's open architecture is also an invitation to any programming language and development environment. In other words, the output of PASCAL's compiler will look no different than the output produced by C#, Eiffel, COBOL, Visual Basic .NET, and so on. As long as a programming language has a compiler that adheres to the .NET Framework's extremely strict set of rules to produce a common executable language, it is a welcome addition to the .NET family.