Bill Gates zu Gast auf dem MSDN Technical Summit in Neuss

.NET bedeutet ein neues Windows

23.02.2001
NEUSS (wm) - Mit Bill Gates als Stargast feierte Microsoft im Rahmen der Entwicklerkonferenz "Technical Summit" des Microsoft Developer Network (MSDN) in Neuss die Deutschlandpremiere seiner .NET-Strategie. Mit .NET bekennt sich das Unternehmen wie nie zuvor zu offenen Internet-Standards, gleichzeitig scheint der Trend zum Peer-to-Peer-Computing die Fat-Client-Strategie der Redmonder zu untermauern. Die Entwickler, von denen letztlich der Erfolg von .NET abhängt, verfolgen die Aktivitäten mit großem Interesse und auch Begeisterung.

Sichtlich schwer tut sich Microsoft, das Thema .NET dem breiten Publikum verständlich zu machen. So sehr das Unternehmen betont, dass .NET ein ähnlicher Meilenstein sei, wie seinerzeit die grafische Benutzeroberfläche Windows: Bedeutsam ist die Strategie derzeit in erster Linie für Entwickler. Und sie sind es auch, von denen die gesamte .NET-Zukunft abhängt. Denn erst wenn attraktive .NET-Anwendungen verfügbar sind, können Anwender Web-Services nach Microsoft-Vorstellung nutzen.

Über mangelndes Interesse an diesen Themen kann sich Microsoft nicht beklagen: Die viertägige Veranstaltung in Neuss war überfüllt, etwa 1000 Fachleute drängelten sich in den Sessions. Die Themenliste reichte von der Common Language Runtime (CLR) über die neue Entwicklungsumgebung Visual Studio .NET bis hin zu Details wie der Übernahme von Visual-Basic-(VB-)6-Anwendungen auf VB .NET oder dem Grafiksystem GDI+.

Erwartungsgemäß groß war das Interesse am Auftritt von Bill Gates. Er zog eine geschichtliche Linie der IT-Evolution vom Mainframe-Modell der 70er Jahre über das File-Sharing-Modell der 80er, die HTML-basierenden Anfänge der Web-Architektur der 90er bis zum Microsoft-typischen Client-orientierten Modell der verteilten Web-Services mit XML als universellem Daten- und Protokollstandard. Nachdem der PC und somit das Microsoft-Prinzip wegen seiner wachsenden Komplexität jahrelang als Auslaufmodell gebrandmarkt worden war, frohlocken die Redmonder nun ob des neuen Peer-to-Peer-Hypes - nach dem Motto: "Wir haben es schon immer gewusst." Und weil die breite Masse mit dem recht abstrakten Begriff der "Web-Services" noch wenig anfangen kann, greift auch Gates neuerdings - wie viele seiner Angestellten - auf das Beispiel Napster zurück. Die Popularität der Musiktauschbörse beweise trotz ihrer rechtlichen Problematik, dass Peer-to-Peer-Computing erfolgreicher als das Server-zentrierte Prinzip sei. Damit bestätige sich die von Microsoft immer schon verfolgte "Rich-Client"-Strategie.

Im zunehmenden Einsatz von nicht-PC-basierten Devices sieht Gates weniger eine Konkurrenz zum PC als eine Ergänzung. Der PC soll zur universellen Schaltstelle mutieren; ständig einsatzbereit ("Always on"), werde er die Rolle eines Device- und Web-Service-Hubs übernehmen. "Sie werden eine Vielzahl von Geräten nur mit .NET-Server managen können", prophezeite Gates. Auf die Frage eines Entwicklers, wie lange Microsoft noch seine Fat-Client-Strategie verfolgen wolle, antwortete Gates: " Thin Clients, die nur über einen Browser verfügen, werden schnell out sein, weil sich Client-Anwendungen wie Napster durchsetzten werden. Der einzige Thin Client, der Sinn gibt, ist ein TerminalClient am Windows Terminal Server."

Auch zur kürzlich getroffenen Einigung mit Sun bezüglich Java nahm Gates Stellung: "Wir haben nie vom Vertrag mit Sun profitiert, weil wir Java nicht so modifizieren durften, dass man damit gute Windows-Programme schreiben kann." Die Bedeutung der Sprache spielte Gates herunter: "Java ist großartig, aber nur zehn Prozent alle Entwickler arbeiten damit, der Rest programmiert in anderen Sprachen." Und die soll .NET allesamt unterstützen.

"Nur zehn Prozent entwickeln mit Java"

Nach der Beilegung des Rechtsstreits mit Sun wird Microsoft in der nächsten Version "Visual Studio .NET" die alte Version des J++-Compilers beilegen. Zur Frage, ob es für .NET eine echte Java-Unterstützung geben wird, wurde Gates unerwartet konkret. Beschränkten sich bisherige Microsoft-Äußerungen da-rauf, dass eventuell Drittanbieter wie Rational Software Java-Tools anbieten werden, sagte Gates nun, Microsoft werde Java in .NET unterstützen. Außerdem hat der Softwarekonzern mittlerweile mit "Jump" ein Java-Migrations-Tool angekündigt, das Java-Code vollautomatisch in C# (C Sharp), die eigens für .NET geschaffene Programmiersprache, übersetzen soll.

Ein klares Bekenntnis legte er zu C# ab: "Microsoft wird in Zukunft seine gesamte Software in C# schreiben, einzig die Gerätetreiber werden wegen des nativen Codes in C++ entwickelt."

Von weit reichender Bedeutung ist diese Aussage insofern, als damit ein radikaler Wandel der Windows-Plattform einhergeht. Bisher war C++ der State-of-the-Art-Compiler für Windows, die damit geschriebenen Programme adressieren die Programmier-Schnittstelle Win 32 und liegen im Maschinencode für die Intel-Plattform vor. Folgt man einer gängigen Definition, dass Windows nichts anderes als eine Sammlung von Win-32-APIs ist, bedeutet der Umstieg auf .NET und seine Schnittstellen nicht weniger als den Wechsel auf ein völlig neues Windows. Gates selbst sprach in diesem Zusammenhang von "unseren Produktgenerationen MS-DOS, Windows und .NET".

Das .NET-Framework basiert auf der Common Language Runtime (CLR), alle für .NET in C# und den anderen Sprachen geschriebenen Programme laufen darin nicht mehr im Maschinencode. Stattdessen werden sie ähnlich wie bei Java als Managed Code in Form der Intermediate Language (vergleichbar mit dem Java-Bytecode) plattformunabhängig kompiliert und können auf jedem System laufen, das über eine Common Language Runtime verfügt.

.NET löst Windows ab

Neben der Java-Frage begegnen viele Entwickler auch diesem Aspekt mit großer Spannung. Die naheliegende Frage ist: Wird es eine CLR auch für die vielen Unix-Varianten, Linux und den Mac geben? Im Moment meint Microsoft mit Plattformunabhängigkeit dieeigenen Systeme, angefangen bei Windows CE über das aktuelle 32-Bit- bis zum zukünftigen 64-Bit-Windows. Dennoch können andere Anbieter die CLR-Technik nutzen, da Microsoft sie dem Standardisierungsgremium ECMA vorgelegt hat. Auf eine Frage nach .NET unter Unix antwortete Gates daher: "Oberhalb der CLR sind wir offen, darunter gibt es allerdings Windows-spezifische Vor-teile."

Interessant ist hierzu jedoch auch eine aktuelle Äußerung von Corel-CEO Derek Burney gegenüber der CW-Schwesterpublikation "PC World". Aufgrund eines Vertrages mit Microsoft ist Corel verpflichtet, alle seine Anwendungen innerhalb von sechs Monaten nach dem offiziellen .NET-Start in das .NET-Framework zu integrieren. Laut Burney heißt das auch, dass Corels Linux-Distribution .NET unterstützen wird. Wörtlich sagte Burney: "Es gibt keine Abmachung, dass .NET auf einem Windows-Desktop laufen muss."

Unter den Vorträgen auf der Konferenz weckte die Einführung in Visual Studio (VS) .NET durch Marcellus Buchheit, Geschäftsführer von Wibu Systems und unabhängiger "Regional Director" von Microsoft, großes Interesse. Das neue IDE (Integrated Development Environment) ist bereits seit letztem Herbst als Betatestversion verfügbar und wurde nach Angaben von Microsoft bereits 200000-mal von der MSDN-Website heruntergeladen. Noch fehlen dem Tool einige angekündigte Funktionen, die Stabilität kommentierte Buchheit eher scherzhaft mit "VS .NET bis zum ersten Blue Screen".

Dennoch lassen sich damit bereits jetzt komplette .NET Anwendungen schreiben. Neben der Programmiersprache C# sind auch die anderen Neuerungen in VB .NET von großer Bedeutung. Visual Basic .NET unterscheidet sich deutlich vom Vorgänger VB 6. Für Entwickler bedeutet das zwar einen zusätzlichen Lernaufwand, jedoch dürfte die Mehrzahl von den neuen Features profitieren. VB ist nun als echte objektorientierte Sprache mit Kapselung, Vererbung und Polymorphie als gleichwertig mit C# zu betrachten.

Vorteilhaft ist vor allem die Integration innerhalb der IDE: Während Programmierer bisher in VS an enorme Unterschiede zwischen der VB- und der C++-Umgebung gewohnt waren, wirkt nun bei VB .NET und C# alles wie aus einem Guss. Forms werden einheitlich vom Form-Editor verwaltet und direkt in die Sprache übertragen, es gibt keine Resource-Dateien mehr. Nach Ansicht von Buchheit wurde das Beste aus C++ und VB vereint. Der Editor hat ein verbessertes "Intellisense" erhalten, das Programmierern viel Tipparbeit erspart.

Für die in der Testversion auftretenden Instabilitäten, die allerdings nicht im C++-Teil festzustellen sind, gibt es nach Ansicht von Buchheit nur einen plausiblen Grund: Visual Studio war bereits im letzten Jahr fertig und musste wegen der .NET-Strategie noch einmal völlig überarbeitet werden. Edmund Weigert, Geschäftsführer eines mittelständischen ERP-Unternehmens, konnte sich bei aller positiven Einschätzung des neuen Microsoft-Tools einen kritischen Kommentar nicht verkneifen: "Viele der hier vorgestellten Verbesserungen sind ein alter Hut, bei Centura gibt es diese Dinge schon seit Jahren." Ein interessantes Ergebnis förderte eine Umfrage von Buchheit unter den Zuhörern zutage. Auf die Frage, wer mit C++ und wer mit Visual Basic entwickle, ergab sich eine etwa ausgeglichene Verteilung. Die anschließende Frage, wer zukünftig mit C# entwickeln wolle, bejahte deutlich mehr als die Hälfte der Anwesenden.

Ein großes Problem bei der bisherigen Windows-Entwicklung waren die unterschiedlichen Möglichkeiten der Programmiersprachen. Während Visual Basic traditionell leicht zu erlenen und daher sehr verbreitet ist, bot es weder die volle Unterstützung der Win-32-API noch eine vergleichbare Geschwindigkeit beim Ablauf der Programme. Mit Visual Studio .NET werden nun alle Sprachen gleichwertig, da sie auf IL-(Intermediate Language-)Code interpretiert werden.

Schluss mit DLL- und Registry-Verwirrungen

Eine Frage, die viele Entwickler bewegt, ist die nach der Kompatibilität zwischen .NET-Programmen und altem Code, der etwa auf COM/OLE oder Win-32 basiert. Hier geben sich die Redmonder jedoch keine Blöße und garantieren volle Auf- und Abwärtskompatibilität. Programmierer können VB-6-Code und C++-6-Code uneingeschränkt nutzen und wiederverwenden. In .NET gibt es eine COM-Services-Bibliothek, die importiert werden kann, um COM+-Komponenten aus früheren Versionen von Visual Studio zu nutzen. Ganz im Sinne der Entwicklung für das Internet können .NET-Programme sowohl als Browser-Anwendung wie auch als eigenständige Windows-Applikation laufen.

Zu den meistgehassten Fehlerquellen von Windows zählten bisher DLL-Verwechslungen oder dass sich Komponenten gegenseitig ihre Registry-Einträge überschrieben haben. Deshalb gingen auch fast alle Referenten auf diesen Aspekt ein. Mit .NET schließt Microsoft dieses leidige Windows-Kapitel - wie zu DOS-Zeiten reicht ein einfaches Kopieren in ein Verzeichis, um ein Programm zu installieren. In der .NET-Welt enthalten Komponenten alle Informationen über sich, wie etwa Funktionen oder Versionsnummer. Dadurch können auch verschiedene Versionen von Komponenten zur gleichen Zeit im Speicher liegen. Eine weitere Frage, die immer wieder auftauchte, war die nach dem Schutz von Programmcode in der Intermediate Language. Doch Microsoft hat vorgesorgt: Ein Public-Private-Encryption-Mechanismus stellt sicher, dass der Code nicht verändert oder kopiert werden kann.

Wen man auch fragte auf der Konferenz, ob Visual-Basic-Entwickler oder Java-Spezialisten, der Tenor der Teilnehmer zu Microsofts Zukunftsplänen war durchweg positiv. Einige Experten, die bereits die Entwickung von Web-Services planen, wollen nun sogar warten, bis die Redmonder die .NET-Tools fertig gestellt haben.

Abb: .NET und das Betriebssystem

.NET bringt nicht nur Web-Services, sondern verändert Windows grundlegend: Anstelle der Win-32-APIs schreiben Entwickler zukünftig in erster Linie für .NET-System-Services. (Quelle: Microsoft)