Eintrag kommentierenEintrag bewerten
Dieser Eintrag wurde im Schnitt mit 0 von 5 Punkten bewertet
Erfahrung
Interoperabilität von .NET-Sprachen (Teil 1)
Erfahrung:21842
Externe Quellen zum Thema NEU: Externe Quellen zum Thema suchen 
Beschreibung der Erfahrung
Microsoft .NET – Ein modernes Babylon
Mit der .NET-Plattform hat sich neben vielen anderen Sachen auch die Sprachenlandschaft stark geändert. Neben den quasi Standardsprachen C++ und Visual Basic wurde einen neue Sprache C# eingeführt und die Unterstützung für viele weitere Sprachen angekündigt. Mittlerweile existieren ca. 30 verschiedene kommerzielle und freie Programmiersprachen, die Code für die .NET-Plattform erzeugen können. Neben den bekannten Vertretern C#, VB.NET und C++ (ME) sind hier auch zahlreiche Exoten, wie z.B. Prolog, Haskel, SmallTalk oder auch Cobol zu finden.
Alle diese Sprachen sind in der Lage, Code zu produzieren, der auf der .NET-Plattform ausführbar ist.

Wie funktioniert die Sprachinteroperabilität?
IL-Code – Als eine der wichtigsten Säulen der Sprachneutralität ist das grundlegende Verarbeitungsmodell der Plattform zu nennen. .NET-Programme sind keine binären Dateien im üblichen Sinne, sondern eher mit den JAR-Archiven von Java vergleichbar. Konkret heißt das, dass eine .NET-Programmdatei (Glossar Assembly) eine Byte-Code Datei ist. Die Laufzeitumgebung von .NET (Glossar .NET Common Language Runtime) führt ausschließlich einen Zwischencode -die Glossar Intermediate Language - aus, der erst zu Laufzeit compiliert wird (Glossar Just In Time Compiler).
Jeder .NET-konforme Sprachcompiler muss diesen IL-Code erzeugen können, damit ein Programm ablauffähig ist. Daraus ergibt sich die Konsequenz, dass .NET-Assemblies und –Programme auf Ebene der CLR binärkompatibel sind. Die folgende Abbildung skizziert dies.

langinterop1

Interfaces – Die .NET-Plattform unterstützt kein mit IDL (Interface Definition Language) vergleichbares Schnittstellenkonzept, das Sprachinteroperabilität wie bei CORBA oder dem Verfahren - Methode/Technik Common Object Model gewährleistet. Jedoch definiert bereits das Typsystem der Plattform Interfaces als Konzept der Plattform. Da das Typsystem von .NET für alles und jeden, der sich auf dieser Plattform bewegt, bindend ist, stehen somit Interfaces bereits von Haus aus, ähnlich Java, als Sprachmittel zur Verfügung.

Da .NET von Haus aus über ein Interface-Konzept verfügt, ist eine separate Schnittstellenbeschreibungssprache nicht notwendig. Da die Compilate binärkompatibel sind ist die Sprachinteroperabilität ebenfalls gewährleistet.

Ein Beispiel
Im Folgenden soll anhand eines kleinen Beispiels der Umgang mit Mischprojekten, d.h. Projekte in denen mehrere Sprachen zum Einsatz kommen und miteinander kombiniert werden, gezeigt werden.

  1. Es wird zuerst eine Visual Studio.NET Solution (Projektmappe) angelegt, in der eine Basisschnittstelle in Visual Basic.NET definiert wird.

  2. Diese Schnittstelle wird in eine eigene Datei (Assembly) compiliert und dann in einem zweiten C#-Projekt importiert. Dort wird die VB.NET Schnittstelle in einer C# Klasse implementiert und ein kleines Testprogramm zeigt die Funktionalität.



weiter...
Externe Quellen zum Thema NEU: Externe Quellen zum Thema suchen 
 Eintrag kommentieren 
 Eintrag bewerten 
Zu dieser Seite wurden noch keine Kommentare oder Bewertungen abgegeben.
 
Zum Seitenanfang Top Drucken Impressum AGB
Home

VSEK ©2001-2012