.NET-Sprache

Eintrag zuletzt aktualisiert am: 07.03.2004

Die Anzahl der Programmiersprachen, die MSIL-Code für das .NET Framework erzeugen können kann beeindrucken: Neben den fünf Sprachen von Microsoft und drei Sprachen von Microsoft Research gibt es noch 19 weitere Compiler anderer Anbieter. In den insgesamt 27 Sprachen sind nicht nur objektorientierte Sprachen wie C#, Java, C++, Visual Basic und Delphi, sondern auch funktionale Sprachen wie SML, Caml und Haskell sowie "alte Tanten" wie FORTRAN und COBOL. Bis auf C++ 7.0 verschenkt Microsoft übrigens alle anderen Sprachen in einer Kommandozeilencompiler-Variante. Auch unter den anderen Anbietern findet sich viel Freeware. Sowohl MSIL-Code als auch Java-Byte-Code erzeugen kann als einziges das Gardens Point Component Pascal der Queensland University. Die Java-Variante von Microsoft (JSharp) erzeugt nur Managed Code für das .NET Framework (vg. [4]). C# ist inzwischen ebenfalls bei der ECMA ein Standard (ECMA Standard 334, Arbeitsgruppe TC39/TG2).

Basis für die Integration verschiedener Sprachen ist die Common Language Specification (CLS). Die CLS ist ein Regelwerk für Compiler, das festlegt, wie die Umsetzung von sprachspezifischen Konzepten in die MSIL erfolgen muss. Kern der CLS ist das Common Type System (CTS), das ein einheitliches System von Datentypen definiert. Denn nur wenn die verschiedenen Sprachen die gleichen Datentypen verwenden, ist eine problemlose Integration möglich. CLS und CTS ermöglichen nicht nur den sprachübergreifenden Aufruf von Methoden, sondern auch die Vererbung zwischen verschiedenen Sprachen.