© Aleksei Vasileika, Fotolia.com
C#-Entwicklung unter Linux
Siegen lernen
von Rüdiger Berlich
Erschienen im Linux-Magazin
2008/11
C# knüpft nach Meinung vieler erfolgreich an die Fortschritte von Java gegenüber C++ an. Mit der kommenden Mono-2.0-Release schließt der freie Port der Dotnet-Umgebung zum C#-Standard 3.0 auf, sodass die Sprache auch unter Linux zur interessanten C++- und Java-Alternative wird.
Mit der Combo aus Dotnet-Plattform, der Programmiersprache C# und der IDE Visual Studio hat Microsoft ohne Zweifel eine fortschrittliche Programmierumgebung geschaffen. Mit der bevorstehenden Version 2.0 von Mono trifft Dotnet - nicht ganz ohne Zutun der Redmonder - auf ernsthafte Unterstützung aus dem Linux- und Open-Source-Lager. Das Linux-Magazin führt mit einer vierteiligen Serie in die Programmierung der nun auch in einer leistungsfähigen Linux-Version verfügbaren Sprache ein.
Als Grund für die Beliebtheit von C# unter Windows führen Anhänger an, dass Microsoft aus den Fehlern der Vergangenheit, etwa bei C++ oder Java, gelernt hat (siehe Kasten "Von C bis C#").
|
C ist ein Spross der Unix-Entwicklung, der dem Versuch, das Betriebssystem unabhängiger von der Hardware zu machen, entsprang. Als rein prozedurale Sprache brachte C jedoch viele Einschränkungen mit sich. Objektorientierte Programmiersprachen wie Simula und Smalltalk zeigten eine Lösung auf, indem sie Daten und Methoden in unabhängigen Einheiten, den Klassen, kapselten. C++ versucht diese Konzepte in die C-Welt zu übertragen. Zumindest an der Zahl der verfügbaren Publikationen gemessen kommt gegenwärtig aber Java der Status des beliebtesten C-Ablegers zu.
Java führt neben der architekturbedingten Portabilität eine Vielzahl fortgeschrittener Sprachkonzepte wie beispielsweise einen Garbage Collector ein. Microsofts eigener Java-Implementierung Visual J++ war jedoch wegen eines Rechtstreits mit Sun nur ein kurzes Leben beschieden. Stattdessen meldeten sich die Redmonder mit der Dotnet-Plattform [1] und deren Hauptsprache C# zu Wort. Zusammen mit Intel und Hewlett-Packard hat Microsoft C# bereits im Jahr 2000 bei der ECMA zur Standardisierung angemeldet. Aktuell gültig ist Version 3.0 des Sprachstandards.
Gilt Java manchen als das bessere C++, so erscheinen viele Konzepte von Dotnet und C# wie eine Erweiterung der Ideen von Sun. Das Konzept der Virtual Maschine, die in Dotnet Common Language Runtime heißt, ermöglicht hier das Zusammenspiel verschiedener Programmiersprachen. C#-Bibliotheken sind zum Beispiel mit kleinen Einschränkungen auch von Visual Basic aus nutzbar und umgekehrt.
C# bietet außerdem einen im Vergleich zu Java noch einmal erweiterten Sprachumfang. Anders als Java erlaubt es einen direkten Zugriff auf Speicheradressen und unterstützt Pointer in C++-Manier, allerdings nur in explizit als »unsafe« markiertem Code. Auf private Variablen greifen Entwickler dank »get()«- und »set()«-Methoden einfacher zu und können dabei noch beliebigen Code ausführen. Ein neues Feature, das die künftige Mono-2.0-Release bereits unterstützt, ist die Language Integrated Query (LINQ), die den Datenzugriff mit SQL-ähnlicher Syntax erlaubt.
|
Trendwende
Die bevorstehende Mono-Release 2.0 [2] überwindet die Plattformbarriere: Laut den Draft Release Notes [3] unterstützt Mono nun den vollen Sprachumfang des C#-3.0-Standards. Gegenüber früheren Versionen - das Projekt startete bereits 2001 - hat die Praxistauglichkeit unter Linux große Fortschritte gemacht.
Außerdem laufen unter der mit Mono implementierten Common Language Runtime wie in Microsofts eigener Version nicht nur C#-Programme. Die virtuelle Maschine unterstützt ein gutes Dutzend weiterer Programmiersprachen [4]. C# ist zudem auch in der Lage, nativen C++-Code einzubinden. So lassen sich Programme mit hoher Performance schreiben, die trotzdem in weiten Teilen des Code auf den Komfort von C# zurückgreifen.
Grafische Qualitäten
Anbindungen an Gnome und, leider deutlich weniger entwickelt, an QT/KDE erlauben es, nun auch unter Linux mit C# grafische Programme zu schreiben. C++- oder Java-Programmierer lernen die C#-Syntax innerhalb weniger Tage. Die wohl wichtigste Einschränkung bleibt, dass nicht alle unter Windows verfügbaren Dotnet-Bibliotheken für Mono existieren. In manchen Fällen dürfte es wegen der zügigen Entwicklung von Microsofts Dotnet-Plattform oder lizenzrechtlicher Probleme auch schwerfallen, die Lücken zu schließen. Hier ist die Open-Source-Community gefragt, die Mono-Entwickler bei ihrer Arbeit zu unterstützen. Wie beeindruckend das bereits Erreichte aller Einschränkungen zum Trotz ist, zeigt die Mono-Dokumentation [5].
| Whitepaper |
|
The Role of Open Source in Data Integration
Obwohl in den letzten Jahren viele technische Fortschritte erzielt werden konnten, verfügen die meisten Datenintegrationsprozesse nach wie vor nur über eine sehr begrenzte Automatisierung. Das vorliegende White Paper von dem Industry Analyst Mark Madson wird zunächst ein grundlegendes Verständnis von Daten Integration vermitteln, die Vorzüge von Open Source Lösungen für Daten Integration erläutern und Ihnen professionelle Empfehlungen geben, damit Sie Ihre Integrationsjobs noch einfacher und produktiver gestalten können.
Download PDF (Registrierung erforderlich)
|
|
Open Source Datenintegration in der Praxis: Fallstudien und Anwendungsbeispiele (Folge 2)
Der zweite Teil des Open Source Datenintegration in der Praxis: Fallstudien und Anwendungsbeispiele White Papers beleuchtet anhand weiterer ausgewählter Case Studies die Implementierung von Open Source Datenintegration in der Praxis und benennt die daraus resultierenden Vorteile.
Download PDF (Registrierung erforderlich)
|
Dieser Online-Artikel kann Links enthalten, die auf nicht mehr vorhandene Seiten verweisen. Wir ändern solche "broken links"
nur in wenigen Ausnahmefällen. Der Online-Artikel soll möglichst unverändert der gedrucken Fassung entsprechen.
|