Delphi lernt .NET
Eines der Hauptargumente für .NET ist nach Microsofts Aussagen die Möglichkeit, Programme sprachunabhängig und -übergreifend zu entwickeln. Mit Borlands Ankündigung, ein Delphi für .NET zu entwickeln, kommt diese Vision der Realität ein gutes Stück näher.
Auf der diesjährigen Borland-Entwicklerkonferenz war schon die Rede davon, nun sind weitere Details bekannt geworden: Borland wird mit der nächsten Version seines Pascal-Entwicklungssystems Delphi die Auswahl an Programmiersprachen für .NET um eine weitere bereichern. Bereits im dritten Quartal dieses Jahres soll Delphi 7 (Codename Aurora) auf den Markt kommen und die Entwicklung von .NET-Programmen unterstützen. Im ersten Quartal nächsten Jahres folgt dann eine vollständige .NET-Entwicklungsumgebung (Codename Galileo).
Im Gespräch mit c't erläuterte Simon Thornhill, Vice President von Borland und zuständig für die RAD-Produkte, die .NET-Pläne seiner Firma. Demnach wird Aurora einen zusätzlichen Compiler enthalten, der keine nativen Programme erzeugt, sondern den virtuellen Code (MSIL, Microsoft Intermediate Language), den die .NET-Runtime (CLR, Common Language Runtime) zum Ausführen von Programmen benötigt. Dazu wird Object-Pascal - auch in der Win32-Version - um einige Sprachelemente wie Namespaces und Custom Attributes erweitert. Aurora wird außerdem eine Version von Borlands Klassenbibliothek VCL enthalten, die auf dem .NET-Framework aufsetzt und so die Migration bestehender Delphi-Anwendungen nach .NET erleichtert.
Diese erste Version des .NET-Compilers und der Klassenbibliothek bezeichnete Thornhill als vorläufig, betonte aber, dass damit nicht etwa die zu erwartende Qualität gemeint sei: Er gehe davon aus, dass sich mit diesen Werkzeugen stabile, performante Programme erzeugen lassen. Allerdings werde die Integration in die Entwicklungsumgebung noch nicht so eng sein, wie man das bei Borland-Produkten gewohnt sei. So sei beispielsweise nicht geplant, in Delphi 7 einen speziellen GUI-Builder für .NET bereitzustellen, und auch bei der Fehlersuche werden Entwickler noch mit einigen Einschränkungen leben müssen. Herkömmliche Delphi-Programme sollen sich aber mit dem neuen Compiler übersetzen und so nach .NET portieren lassen.
Griff nach den Sternen
Eine vollständige .NET-Entwicklungsumgebung soll dann Galileo sein. Dieses Produkt will Borland allerdings nicht als die übernächste Version von Delphi verstanden wissen, sondern eher als eine Alternative zu Microsofts Visual Studio.NET: Neben Delphi sollen sich damit auch Anwendungen in C# und anderen .NET-Programmiersprachen entwickeln lassen. Der Hauptunterschied zu Microsofts IDE liege dabei in der Offenheit für ‘Mixed Stack Development’: Wo Microsoft in puncto Web- und Datenbankserver nur die eigenen Produkte unterstütze, sollen mit Galileo entwickelte Web-Anwendungen - freilich unter Windows - beispielsweise auch auf Apache- oder Netscape-Servern laufen. Es werde native Schnittstellen zu verschiedenen Datenbanken wie Oracle, IBMs DB2 oder PostgreSQL geben. Zur Kommunikation zwischen Programmen können Entwickler neben COM und SOAP auch Corba einsetzen.
Mit Galileo soll außerdem eine neue Programmiersprache namens Charlotte Premiere feiern. Mit einer recht einfachen Syntax und den integrierten Funktionen zum Umgang mit Regular Expressions ähnelt sie eher einer Skriptsprache, es handelt sich aber um eine echte .NET-Sprache, die ein Compiler nach MSIL übersetzt. Der Fokus von Charlotte liegt dabei auf der besonders einfachen Implementierung von Web Services: Sie enthält Datentypen zur Unterstützung von XML und SOAP und Methoden werden standardmäßig über WSDL aufgerufen, ohne dass sich der Entwickler um das Erzeugen und Auspacken der nötigen Datenpakete kümmern muss.
Unklar ist bislang, wie sich die geplanten Weiterentwicklungen von Delphi auf die Linux-Ausgabe Kylix auswirken werden: Dass Entwickler die Spracherweiterungen, die wegen .NET an Delphi notwendig werden, auch unter dem Open-Source-Betriebssystem nutzen können, hält Thornhill für wahrscheinlich, schon um die Plattformunabhängigkeit von Delphi-Programmen zu gewährleisten. Ob es allerdings je eine Version von Kylix geben wird, die .NET-Programme erzeugt, steht in den Sternen. Entsprechende Bemühungen wie das Projekt Mono, das eine .NET-Umgebung für Linux zum Ziel hat, oder die unter der Ägide von Microsoft selbst vorangetriebenen Entwicklungen, die Gleiches für OpenBSD schaffen wollen (Codename Rotor), werden von Borland immerhin aufmerksam beobachtet. (hos) (hos)