Viele Ähnlichkeiten mit dem Sun-Produkt

Microsoft macht Java mit der neuen Sprache C# Konkurrenz

07.07.2000
MÜNCHEN (CW) - Nach den Streitigkeiten mit Sun über Java und der voraussichtlichen Aufgabe von Visual J++ schließt Microsoft die entstehende Lücke im Tools-Portfolio mit der neuen Sprache C#. Sie ist syntaktisch von C und C++ abgeleitet und ähnelt Java.

Nach dem faktisch erfolgten Abschied von Java - Visual J++ blieb auf dem Stand vor dem JDK 1.1 stehen - klafft in Microsofts Angebot an Entwicklungs-Tools eine Lücke zwischen Visual Basic (VB) und C++. Zwischen diesen Sprachen kann Microsoft auch kein mit Borlands Delphi vergleichbares Produkt vorweisen. Dessen ehemaliger Chefarchitekt Anders Hejlsberg wirkt nun federführend bei C# mit.

VB gilt in erster Linie als Tool für die unternehmensinterne Entwicklung und ist weniger für große Projekte in der Softwareindustrie geeignet. Dort dominierten in den letzten Jahren C und C++. Deren größtes Manko besteht in Low-Level-Funktionen, die sich negativ auf die Produktivität von Programmierern auswirken.

Microsoft bewirbt C# (wird als "C sharp" oder gar als "see sharp" ausgesprochen) mit ähnlichen Argumenten, wie sie Sun für Java vorbrachte. Dazu zählen besonders die im Vergleich zu C++ geringere Fehleranfälligkeit, weil ein "Garbage Collector" die manuelle Speicherverwaltung überflüssig macht und zudem Variablen automatisch initialisiert werden. Zusätzlich soll C# von Grund auf für die Web- und Netzprogrammierung ausgelegt sein.

Großes Augenmerk will Microsoft auf die XML-Unterstützung legen. Neben der Nutzung von Standard-APIs wie DOM und SAX können Entwickler XML-Dokumente als Datentyp "struct" ansprechen. C# wird zudem Dokumentationsfunktionen auf Basis von XML enthalten. Mit von der Partie soll auch die hauseigene Implementierung des Simple Object Acess Protocols (Soap) sein, das die Gates-Company voreilig als Intenet-Standard bezeichnet.

Direkter Speicherzugriff mittels PointernBesonders gegen Java richten sich Microsofts Hinweise auf die Abwärtskompatibilität mit C++. Damit ist nicht die syntaktische Verwandtschaft gemeint, die ja auch für Java gilt. Vielmehr erlaubt C# in entsprechend ausgewiesenen Codeblöcken den direkten Speicherzugriff mittels Pointern sowie das "inlining" von C-Code. Java vollzog in dieser Hinsicht einen klaren Bruch. Möglich soll auch der Aufruf von Funktionen des Windows-API sein. Obwohl Microsoft C# im Rahmen seiner Marketing-Kampangne "Microsoft.net" als Web-Tool bewirbt, wird diese Sprache wohl nicht Javas Plattformunabhängigkeit nacheifern. C# wird zwar möglicherweise auch eine virtuelle Maschine nutzen - gerüchteweise arbeitet Microsoft an einer "Common Language Runtime" -, bleibt aber doch eng mit hauseigener Technik verbunden. So soll jedes C#-Objekt automatisch auch ein COM-Objekt sein, und das ohne die explizite Implementierung von Interfaces wie "I Unknown".

Auch wenn Microsoft C# offiziell nicht als Java-Konkurrenz verkaufen will, so deuten neben den Markting-Aussagen auch die geplanten Standardisierungsbemühungen in diese Richtung. Die Gates-Company will damit eine Blöße nutzen, die sich Sun mit Java gegeben hat. Ausgerechnet die European Computer Manufactures Association (ECMA), der Sun die Übergabe der Java-Dokumentation verweigert hatte, weil die Unix-Company damit ihr Copyright gefährdet sah, soll C# als ISO-Standard einreichen.