Home » Über Delphi » Interviews » Interview mit Danny Thorpe über Delphi 2005

Interview mit Danny Thorpe über Delphi 2005

Danny Thorpe

Danny Thorpe


Chief Scientist, Borland Software Corp.
Interview vom September 2004; die Fragen stellte Martin Strohal

Delphi-Treff: Auf der BorCon2004 wird das nächste Delphi-Release (Codename DiamondBack) vorgeführt werden. Weshalb haben Sie diesen Codenamen gewählt? Wird das neue Release ein echter Diamand sein?

Danny Thorpe: DiamondBack ist ein Codename aus einer Serie von Schlangennamen. C#Builder hatte den Codenamen Sidewinder. Ich hoffe, dass wir damit für das nächste Produkt brechen können, da ich Schlangen mehr für eine Plage und eine Gefahr halte als für eine Inspiration oder etwas Cooles.

Was Sie bereits für das letzte Release geplant haben, ist nun implementiert: Win32- und .NET-Entwicklung in einer gemeinsamen IDE. Ist das richtig? Wie steht es mit der Unterstützung anderer Sprachen als Delphi in dieser IDE?

Ja! ;> Dieses nächste Release der IDE ist die Verwirklichung eines langfristigen Ziels, auf das wir mindestens seit 2002 hinarbeiten.
Delphi „Diamondback“ ist eine mehrsprachige Entwicklungsplattform und wird Unterstützung für die Entwicklung von Delphi für Win32-, Delphi für .NET- und C#-Anwendungen beinhalten. Alles in derselben Produktbox und derselben IDE. C#- und Delphi .NET- und Delphi Win32-Projekte (.exe und .dlls) können zu einer einzigen Projektgruppe im Projektmanager der IDE gehören. Und wenn man diese Projektgruppe verwendet, um alles zu erzeugen („Build all“), wird eine Kette von den jeweiligen Compilern und Tools verwendet.

Wird es eine integrierte Unterstützung für Kylix innerhalb der IDE geben (wie das Plugin CrossKylix)?

Dieses nächste Release wird keine Cross-Plattform-Ausrichtung beinhalten, aber die Plugin fähige, personalisierbare Architektur der IDE ist sicher fähig, so etwas aufzunehmen, ohne dass große Infrastrukturarbeit nötig wird. CrossKylix ist ein großartiger Anfang.

Gibt es irgendwelche Neuigkeiten über die Zukunft von Kylix?

Wir arbeiten gerade an unserem 2005-Plan und haben einige Ideen auf dem Tisch, wie weit wir einige Updates für Kylix in nicht allzu ferner Zukunft herausbringen.
Auf der Delphi-Produktvorstellung Montag Nacht (13.09.2004) hat Michael Swindell angekündigt, das Kylix Community Project zu erweitern, indem wichtige Mitglieder der Kylix-OpenSource-Community eingeladen werden, Maintainer des OpenCLX-Repositorys auf SourceForge zu werden. Das wird uns helfen, bei allen Aktivitäten, die bei OpenCLX stattfinden, auf dem Laufenden zu bleiben.

Gibt es irgendwelche Änderungen an der IDE im Vergleich zu Delphi 8?

Ja! Viele neue Dinge sowohl für .NET- als auch für Win32-Entwickler.
John Kasters vierstündiger Vorkonferenztutorial-Überblick über das Diamondback-Produkt hatte mehr als 200 Folien und 120 Seiten gedruckten Inhalts. Der Umfang von wichtigem neuen Stoff ist enorm.

Die Delphi-Diamondback-IDE bietet Sourcecode-Refactoring für Delphi-Quellen (.NET und Win32) wie auch für C#-Code, neue Funktionalität für ASP.NET-Entwicklung, ein neues Popup HelpInsight (die aus XMLDoc-Kommentaren aus dem Quellcode gezogen werden), mehrstufige lokale Dateihistorie, enge Integration von StarTeam Source Control und Projektmanagement und viel mehr!

Was sind die wichtigsten Verbesserungen in der Delphi-Sprache und dem Compiler? Sie haben die for-each-Schleife in Ihrem Blog erwähnt. Wird es mehr geben?

Ja, es sind eine Reihe signifikanter Compiler-Verbesserungen in Arbeit in Bezug auf die Syntax genauso wie auf interne Infrastruktur. Es gibt die for..in-Schleifen-Enumerator-Syntax, ebenso wie Multiunit-Namespace-Support (viel interne Arbeit, sehr geringer Einfluss auf die Syntax), verbessertes Handling von Unicode-Stringkonstanten und -literalen im Quellcode, Unterstützung von Unicode-Bezeichnern und einige andere Punkte, die wir noch nicht angekündigt haben.
Eine signifikante Neuerung, die diese Woche zum ersten Mal auf der BorCon bekanntgegeben wurde, ist die Compiler-Unterstützung für „Inline-Aufrufe“. Der Delphi Diamondback Compiler unterstützt jetzt inline Funktions- und Prozeduraufrufe; das bedeutet, der Funktionsrumpf wird direkt an die auzurufende Stelle kopiert, um die Mehrarbeit für den Funktonsaufruf und den Rückgabewert bei kleinen Funtionen zu vermeiden. Man kennzeichnet die gewünschte Funktion einfach mit der neuen Compiler-Direktive „inline;“ (Anstelle einer Aufrufkonvention), und der Compiler überprüft die Verwendung der Direktive an den Aufrufstellen. Abhängig vom Kontext, insbesondere der Komplexität des Aufrufs und Auslastung der Register, kann es auch sein, dass der Compiler entscheidet, die Direktive nicht zu verwenden.
Diese Unterstützung wurde ursprünglich für den Win32 Compiler entwickelt, wird aber auch unter .Net verfügbar sein.

Gibt es besondere Neuerungen nur für den .NET-Teil oder nur für den Win32-Teil?

Also Multiunit-Namespace-Support bietet wirklich nur auf der .NET-Seite des Hauses einen Nutzen, aber die Syntax wird in Win32 ebenso unterstützt. Der Win32-Compiler bekommt Unterstützung für das Kompilieren von UTF8- und Unicode-kodierten Quelldateien (ortsunabhängig!) und ein signifikantes Codegen-Feature, das seinen größten Nutzen in Win32-Code hat, aber in .NET genauso unterstützt wird.
Der .NET-Compiler bekommt neue Unterstützung für forward-deklarierte Record-Typen, und der Win32-Compiler unterstützt nun verschachtelte Typdeklarationen.

Ist Unterstützung für das .NET Compact Framework integriert?

Der Delphi-Compiler wird das .NET CF als Zielplattform unterstützen, indem gegen die CF-Assemblies gelinkt wird. Die IDE wird kein CF-Design oder Debugging-Unterstützung anbieten. Die Verhandlungen mit Microsoft, um Stücke zu erhalten, die notwendig sind, um eine komplette CF-Lösung anbieten zu können, laufen.

Microsoft hat .NET 2.0 für das nächste Jahr angekündigt. Wann können wir Delphi 10 erwarten, und was haben Sie dafür geplant?

Der wahrscheinlich größte Punkt in Bezug auf Compiler/Sprache ist die Implementierung der Syntax für parametrisierbare Typen (generische Typen) in Delphi. Wir haben diese Syntax vor Ewigkeiten auf dem Reißbrett grob skizziert, aber andere Dinge (Plattformen) haben den Vorzug bekommen. Das generelle Ziel ist es, 2005 ein Produkt-Release zu haben, kurz nachdem .NET 2.0 fertiggestellt und veröffentlicht wurde.

Sie haben einen neuen Job bei Borland – Chief Scientist. Herzlichen Glückwunsch dazu! Was tun Sie nun auf dieser neuen Position?

Viele E-Mails! ;> Momentan bedeutet der neue Titel, dass ich zusätzlich zu meinen normalen Verplichtungen mit dem Delphi-Compiler und dem Produktteam Verantwortungen für die langfristige Planung und Forschung bekommen habe. Es ist meine Aufgabe, dass das obere Management Trends und anstehende Ereignisse in den .NET- und Win32-Märkten mitbekommt und zu helfen, unseren Kurs zu bestimmen, um die Teile zu erreichen, die wir wollen, und die Teile zu meiden, die wir nicht wollen. Außerdem mehr E-Mails und mehr Meetings. (ugh)

Vielen Dank für die Beantwortung unserer Fragen!