| |
- 5 -
um die 0 herum komplett in den positiven Bereich. So ist z. B. der Wertebereich des
vorzeichenlosen sbyte 0 bis 255.
Um einen Überblick über die grundlegenden Unterschiede und Gemeinsamkeiten von
C# und Java zu bekommen, befindet sich im Anhang A eine Tabelle, wo einige grund-
legende Eigenschaften beider Sprachen gegenübergestellt werden.
3
Das .NET-Framework
Nachdem im vorigen Kapitel ein kurzer Einblick in die auf .NET zugeschnittene, neue
Programmiersprache C# gegeben wurde, soll im folgenden Kapitel eine detaillierte Be-
schreibung über .NET gegeben werden. Hierzu soll zunächst einmal erläutert werden,
wie die grundsätzliche Struktur von .NET aufgebaut ist. Daraufhin schließt sich eine
Untersuchung des Frameworks an sich an.
3.1
Die Technik hinter .NET
Anders als bei bisherigen seitens Microsoft angebotenen Programmiersprachen erzeugt
der C#-Compiler keinen prozessorspezifischen Code mehr, sondern erzeugt einen Zwi-
schencode in der sog. Intermediate Language (IL bzw. MSIL), ähnlich wie bei Java.
Der Zwischencode wird dann innerhalb einer Laufzeitumgebung ausgeführt. Bei Micro-
soft nennt sich diese Laufzeitumgebung Common Language Runtime, oder auch CLR.
Dadurch wird die Ausführung des Programms auf verschiedenartigen Plattformen er-
möglicht. Auch wenn sich dieses zunächst sehr nach einer Kopie der Java-Technik an-
hört, so existieren jedoch einige Unterschiede.
Während die Laufzeitumgebung von Java zwar auch plattformunabhängig ist, ist die
Programmiersprache, in der Programme entwickelt werden können, einzig und allein
auf Java beschränkt. Die .NET-Laufzeitumgebung jedoch ermöglicht es, Programme in
einer beliebigen Programmiersprache zu entwickeln und in die (MS)IL zu übersetzen.
Einzige Voraussetzung ist natürlich ein Compiler, der aus der betreffenden Program-
miersprache MSIL-Code erzeugen kann. Damit ist es sogar grundsätzlich möglich,
selbst alte in Cobol oder Fortran geschriebene Programme auf die .NET-Technik zu
portieren. Im Moment existiert jedoch nur ein Cobol .NET-Compiler.
Möglich wird dieses durch die Common Language Infrastructure (CLI). Sie definiert
eine einheitliche objektorientierte Schnittstelle, über die sämtliche Sprachen auf Klassen
und Bibliotheken, denen die CLI zugrunde liegt, zugreifen können. Damit diese jedoch
auch von anderen Programmiersprachen verwendet werden können, müssen diese über
eine einheitliche Konvention verfügen, was die Datentypen und Strukturen betrifft. Ge-
regelt wird dieses durch zwei Standards: Zum einen die Common Language Specificati-
on (CLS), die die Spezifikation für die objektorientierten Programmiersprachen vorgibt.
Zum anderen das Common Type System (CTS), das das Typ-System der Programmier-
sprachen spezifiziert.
|  |
|
| |
|
|