.NET Languages are computer programming languages that are used to produce programs that execute within the Microsoft .NET Framework. Microsoft provides several such languages, including C#, Visual Basic .NET, and C++/CLI.
Regardless of which .NET language is used, the output of the language compiler is a representation of the same logic in an intermediate language named Common Intermediate Language. Before the program is executed, CIL is compiled to object code appropriate for the machine on which the program is executing. This last compilation step is usually performed by the Common Language Runtime component of the framework at the moment the program is invoked, though it can be manually performed at an earlier stage.
While there are currently over 40 languages with compilers for the .NET Framework, only a small number of them are widely used and supported by Microsoft. The remainder is composed of languages developed by third party vendors.
Microsoft .NET languages
- C# - Microsoft's flagship .NET Framework language which bears similarities to the C++ and Java languages.
- Visual Basic .NET - A completely redesigned version of the Visual Basic language for the .NET Framework. This also includes Visual Basic 2005 (v8.0).
- VBx, a dynamic version of Visual Basic .NET that runs on top of the Dynamic Language Runtime.
- C++/CLI and the deprecated Managed C++ - A managed version of the C++ language.
- J# - A Java and J++ .NET transitional language.
- JScript .NET - A compiled version of the JScript language.
- Windows PowerShell - An interactive command line shell/scripting language which provides full access to the .NET Framework.
- IronPython - A .NET implementation of the Python programming language developed by Jim Hugunin at Microsoft.
- IronRuby - A dynamically compiled version of the Ruby programming language targeting the .NET Framework.
- F#, a member of the ML programming language family.
Non-Microsoft .NET languages
Note: most of these languages are available in both .NET and non-.NET versions.