C# and Other .NET Languages
.NET supports multiple programming languages, which are assisted by both the CLR and the FCL. Literally dozens of languages target the .NET CLR as a platform. Table 1.3 lists some of these languages.
Table 1.3. Languages Targeting the .NET CLR
A# |
Fortran |
Phalanger (PHP) |
APL |
IronPython |
Python |
C++ |
IronRuby |
RPG |
C# |
J# |
Silverfrost FTN95 |
COBOL |
Jscript |
Scheme |
Component Pascal |
LSharp |
SmallScript |
Delphi |
Mercury |
Smalltalk |
Delta Forth |
Mondrian |
TMT Pascal |
Eiffel.NET |
Oberon |
VB.NET |
F# |
Perl |
Zonnon |
Table 1.3 is not a comprehensive list because there are new languages being created for .NET on a regular basis. An assumption one could make from this growing list is that .NET is a successful multilanguage platform.
As you learned earlier in this chapter, the C# compiler emits IL. However, the C# compiler is not alone—all compilers for languages in Table 1.2 emit IL, too. By having a CLR that consumes IL, anyone can build a compiler that emits IL and join the .NET family of languages.
In the next section, you learn how the CLR supports multiple languages via a Common Type System (CTS), the relationship of the languages via a Common Language Specification (CLS), and how languages are supported via the FCL.