Melden Sie sich hier an, um auf Kommentare und die Whitepaper-Datenbank zugreifen zu können.

Kein Log-In? Dann jetzt kostenlos registrieren.

Falls Sie Ihr Passwort vergessen haben, können Sie es hier per E-Mail anfordern.

Der Zugang zur Reseller Only!-Community ist registrierten Fachhändlern, Systemhäusern und Dienstleistern vorbehalten.

Registrieren Sie sich hier, um Zugang zu diesem Bereich zu beantragen. Die Freigabe Ihres Zugangs erfolgt nach Prüfung Ihrer Anmeldung durch die Redaktion.

Interview mit Anders Hejlsberg, Microsoft


19.04.2002 - 

"C# sollte kein besseres Java werden"

Mit Anders Hejlsberg, dem Chef-Entwickler der Programmiersprache C#, sprach Peter Monadjemi* über die Anfänge der .NET-Web-Services und die Unterschiede zwischen C# und Java.

CW: Wann haben Sie bei Microsoft mit der Entwicklung der .NET-Programmiersprache C# begonnen?

Hejlsberg: Das war im Januar 1996. Wir waren damals lediglich vier bis fünf Leute. Es waren die talentiertesten Entwickler, mit denen ich jemals zusammengearbeitet habe, und wir haben uns jeden Montagnachmittag getroffen, um über die Spezifikationen zu diskutieren. Innerhalb eines Jahres hatten wir einen ersten Prototyp fertig und dabei auch einen großen Teil der C++-Klassenbibliothek nach C# portiert. Es ist eine seltene Gelegenheit, eine neue Programmiersprache entwickeln zu können und dabei eine Firma wie Microsoft im Rücken zu haben.

CW: Die Parallelen zu Java liegen auf der Hand. Betrachten Sie C# und .NET als eine verbesserte Version von Java und J2EE?

Hejlsberg: Nein, selbstverständlich nicht. Die Entwicklung von .NET wurde durch eine ganze Reihe von Technologien inspiriert. Ich habe einen Background, der vor allem durch Delphi und Java geprägt ist. Auch Elemente von C++ sind eingeflossen. Das ist die Art und Weise, wie Softwareengineering funktioniert. Man schaut sich verschiedene vorhandene Technologien an und überlegt sich, wie einzelne Bereiche verbessert und zu etwas Neuem kombiniert werden könnten.

CW: Was halten Sie für die größte Schwäche der Java-Technologie und wie macht es C# besser?

Hejlsberg: Wir haben bei der Entwicklung von C# nicht gezielt nach Schwachstellen in Java gesucht und uns überlegt, wie wir es besser machen können. Das wäre ein eher reaktionärer Ansatz gewesen. Wir haben vielmehr versucht, uns auf das zu fokussieren was unsere Kunden wollen. Das brachte uns fast automatisch zu den Web-Services. Die Welt bewegt sich auf Systeme zu, die mit-einander verbunden sind und zusammenarbeiten können. Diese Vorgabe wurde mit .NET und C# umgesetzt.

CW: Wann wird es C# für andere Plattformen geben?

Hejlsberg: Im Rahmen unserer Shared Source Common Language Infrastructure (SCLI) gibt es zwei Schwerpunkte: Erstens soll die Software auf anderen Plattformen laufen. Zweitens soll der Sourcecode einsehbar sein. Wir rechnen mit dem ersten offiziellen Release einer SCLI-Version von C# in den nächsten zwei Monaten.

CW: C# wurde durch das ECMA-Komitee standardisiert. Schränkt das nicht Ihre Freiheit für Innovationen bei künftigen Versionen der Sprache ein?

Hejlsberg: Nein, das glaube ich nicht, denn der Standard definiert lediglich die Grundlinie. Es gibt nach wie vor genügend Raum für Innovationen. Dadurch, dass es als Standard vorliegt, bekommen es sehr viel mehr Menschen in die Hände. Und das ist gut für die Sprache. Man kann nie wissen, woher die nächste große Idee kommt.

CW: Nicht zuletzt wegen der Zwistigkeiten mit Sun fährt Microsoft eine weitgehende Anti-Java-Politik. Warum gibt es in .NET nun dennoch das Java-Derivat J#?

Hejlsberg: Viele Kunden haben ihren Code in Java geschrieben. Wir wollen ihnen mit J# helfen, diesen möglichst einfach nach .NET portieren zu können. Die .NET-Plattform ist sprachneutral, so dass nichts dagegen spricht, auch Java zu implementieren. J# ist eine Implementation von J++ auf der Basis der Common Language Runtime, das um ein paar Eigenschaften, wie Attribute, erweitert wurde.

CW: In welche Richtung wollen Sie C# künftig weiter entwickeln?

Hejlsberg: Wir wollen die Sprache nicht mit Elementen überladen, sondern das Ganze ausbalancieren. Aus diesem Grund sind wir sehr vorsichtig, was das Einführen neuer Features angeht. Unter dem Projektnamen Bartok arbeitet eine Gruppe in unserem Research Center beispielsweise an einem optimierenden Compiler für IL-Code (IL = Intermediat Language, vergleichbar mit dem Bytecode von Java).

CW: Was sind Ihre zukünftigen Aufgaben, nachdem C# nun offiziell gestartet wurde?

Hejlsberg: Ich bin nach wie vor mit der Entwicklung von C# beschäftigt - wir haben gerade erst die Version 1.0 ausgeliefert. Ich arbeite aber auch an anderen Projekten bei Microsoft wie Web-Services und der nächsten Generation der Windows-Clients. Außerdem mache ich mir Gedanken, wie sich Programmiersprachen weiterentwickeln können. Die nächste Ebene der Abstraktion wird in einem mehr deklarativen Ansatz bestehen, ein wenig wie bei HTML. Dabei werden wir aber nicht vorhandene Tools umbauen, sondern versuchen, bestehende Elemente mit neuen deklarativen Elementen zu kombinieren.

CW: Hat sich C# als Programmiersprache so entwickelt, wie Sie es sich vorgestellt hatten?

Hejlsberg: Ich bin sehr zufrieden mit der Entwicklung. Bei der Entwicklung von Softwarewerkzeugen geht es immer darum den richtigen Kompromiss zu finden. Vor etwa zehn Jahren bestand die Lernkurve beim Erlernen einer Programmiersprache zu 50 Prozent aus der Sprache und zu 50 Prozent aus der API. Bei C# und .NET sind es nur noch drei Prozent für die Sprache und 97 Prozent für die API. C# reduziert die Einstiegsschwelle drastisch. Das ist etwas, auf das ich sehr stolz bin. C# verhilft Entwicklern zu einer deutlichen Produktivitätssteigerung, indem es ihre Freiheiten ein wenig einschränkt und gleichzeitig dafür sorgt, dass C++-Programmierer auf ihren erworbenen Kenntnissen aufbauen können.

CW: Gibt es etwas an C#, das Sie nachträglich ändern würden?

Hejlsberg: Nichts, denn es ist perfekt (lacht). Nein, es gibt natürlich keine perfekte Programmiersprache. Aber ich bin mit C# sehr zufrieden. (wm)

*Peter Monadjemi ist freier Journalist und Autor zahlreicher Bücher über Visual Basic und Windows. Er lebt in Starnberg bei München.