In general sense, a language is a mixture of syntax and associated semantics that allows a programmer to develop required applications based on the logic. A language also consumes some predefined set of libraries that define some set of functionalities using which an application can be developed.
As we already know that a .NET framework also includes some set of predefined libraries (BCLs) which can be utilized to develop a .NET app. These BCLs can be consumed by any language that subscribes to Common Language Specifications (CLS).
Some of the languages that subscribe to CLS are:
-C# (includes features of C++ and Java)
-C++/CLI (CLS compliant implementation of C++)
-VB (From 7.0, CLS Compliant implementation of traditional VB)
-J# (CLS Compliant implementation of Java)
-F# (CLS Compliant implementation of Functional programming language ML)
-A# (CLS Compliant implementation of Ada)
-L#, Iron Lisp (CLS Compliant implementations of LISP)
-P# (CLS Compliant implementation of Prolog)
-Jscript.NET (CLS Compliant implementation of Jscript)
-Iron Python (CLS Compliant implementation of Python)
-Iron Ruby (CLS Compliant implementation of Ruby) and …………….
Among these the VB and C# are developed by Microsoft and so they are most commonly used by the .NET programmers. The .NET SDK (Visual Studio) by default provides the compilers for C#, VB, C++. To work with any of the other languages a programmer needs to install the corresponding language compilers explicitly.