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

Interview mit Danny Thorpe über Delphi 2006

Danny Thorpe

Danny Thorpe


Chief Scientist, Borland Software Corp.
Interview vom Oktober 2005; die Fragen stellte Martin Strohal

Delphi-Treff: Das nächste Delphi-Release (Dexter) ist in Arbeit. Worauf können wir uns in dieser Version freuen? Neue Sprachfeatures, neue IDE-Features?

Danny Thorpe: Es gibt neue Sprachunterstützung im Delphi für Win32-Compiler für Records mit Methoden, Operatorüberladung und Klassenvariablen; damit wird der Stand der bestehenden Features im Delphi für .NET-Compiler erreicht. Dexter enthält außerdem volle C++-Sprachunterstützung, inklusive VCL-Formdesigner (wie im Borland C++-Builder).
Die IDE enthält einige neue Features zur Steigerung der Produktivität, wie z.B. „Live Templates“, die einem erlauben, per Tab Vervollständigungen in mehrteiligen Code-Templates vorzunehmen, Blockvervollständigung und Einrückung während des Tippens (man muss „end;“ nicht mehr tippen) und veränderte Zeilen-Indikatoren am linken Editor-Rand.
Die IDE enthält nun integrierte Together-Quellcode-Analyse und Modelierungstools (die Audits und Metriken in Delphi- und C#-Code bereitstellen), integriertes StarTeam Versionskontroll-Management sowie integrierte CaliberRM-Anforderungsmanagement-Tools.

Delphi 2005 hatte Stabilitätsprobleme und bekam drei Updates. Haben Sie all diese Probleme in Delphi 2006 im Griff?

Ja. Performance und Stabilität waren wichtige Themen für dieses Release. Wir haben die Startup-Zeit der IDE um fast die Hälfte reduziert, die Performance beim Bearbeiten großer Projekte und großer Modelle signifikant verbessert und ein allgemein viel schwungvolleres Gefühl geschaffen als in vergangenen Releases.
Einige dieser Performance-Erweiterungen kommen auch Ihren eigenen Delphi-Anwendungen zugute. Die Delphi-Win32-RTL hat nun einen neuen Speichermanager, der extra designed wurde, um gut in multithreaded Umgebungen zu leben, ohne andere Threads zu blockieren. Gleichzeitig eliminiert der neue Speichermanager nahezu Heap-Fragmentierung und reduziert die Zeit zur Freigabe eines Speicherblocks drastisch. Wir sahen bemerkenswerte Performance-Verbesserungen in der IDE zum ersten Mal, als wir sie mit dem neuen Speichermanager gestartet haben!

Borland hat ein Preview-Release eines .NET-Compact-Framework-Compilers für Delphi veröffentlicht. Gibt es bereits einen Zeitrahmen für das endgültige Release? Wird er in Delphi 2006 integriert sein?

Ja, die Compileränderungen, die notwendig waren, damit der Delphi-Compiler .NET-CF-Anwendungen erzeugen kann, sind in den Delphi 2006 dccil-Compiler eingearbeitet. Kein extra Compiler wird benötigt; der dccil muss nur auf CF-Assemblies zeigen und los gehts. Der Delphi 2006 dccil-Compiler enthält zusätzliche Verbesserungen für das Compact Framework, die über das hinausgehen, was in der Tech-Preview veröffentlicht wurde.

Borland unterstützt die Eclipse-IDE mit JBuilder. Denken Sie darüber nach, ein Delphi-Plugin für Eclipse anzubieten (zusätzlich oder anstelle der bestehenden IDE)?

Ich bezweifle, dass Delphi-Entwickler ein Java-basiertes Entwicklungstool für Win32- oder .NET-Entwicklung akzeptieren werden. Wir haben einige Feature-Wünsche aus dem Delphi-Kundenkreis gehört, aber Eclipse-Unterstützung ist dabei nicht groß vertreten.
Man muss außerdem berücksichtigen, dass Delphi mehr als nur eine Sprache ist und mehr als nur eine IDE. Wenn man die Delphi-Sprache aus dem Packet nimmt und in eine andere Umgebung setzt, bekommt man nicht die vollständige Delphi-Experience. Wenn man das Delphi-Gefühl innerhalb von Eclipse vervollständigen wollte, nun ja… warum sollte man dann nicht einfach Delphi benutzen? ;>

Eclipse enthält einige tolle Features (wie automatische Import-Verwaltung), die es in der Delphi-IDE noch nicht gibt. Was sind Ihre Pläne für die Erweiterung der Delphi-IDE in den nächsten Jahren?

Wir müssen die Unterstützung für die Entwicklung von .NET Compact Framework-Anwendungen in der IDE ausbauen, inklusive Form-Designer und Debuggung-Unterstützung. Die Delphi.NET-Toolkette muss auf die .NET 2.0-Plattform portiert werden (keine triviale Sache) und muss Dinge wie Generics und partielle Klassen in der Delphi-Sprache implementieren. Außerdem haben wir Avalon (Windows Presentation Foundation) und Windows Vista am nahen Horizont, die spezielle Tool-Unterstützung benötigen. Ich würde dem Mix auch gerne native Tools für 64 Bit-Windows hinzufügen, aber ich weiß nicht, wo wir das in den Zeitplan quetschen werden.

Die Delphi-Sprache ist nun zehn Jahre alt. Gibt es immer noch Features, die Sie während der nächsten Jahre hinzufügen wollen? Wie sehen Sie die Zukunft der Sprache und des Produkts?

Ich glaube, dass die nächste große Herausforderung für Software-Entwicklung das Managen von Nebenläufigkeit sein wird. Die einzige Möglichkeit, die volle Rechenkapazität heutiger multicore Multiprozessor-Systeme auszunutzen, ist, sich „auszubreiten“ – die Anwendung über mehrere parallel laufende Threads aufzuteilen. Heutzutage ist es eine abschreckende Sache, eine einfache Anwendung mit mehreren Ausführungsthreads zu schreiben, was der allgemeinen Meinung nach nicht von einem Neuling oder Gelegenheitsprogrammierer nicht Angriff genommen werden sollte. Das Schreiben einer nicht trivialen threaded Anwendung erfordert immer noch die komplette Aufmerksamkeit und Fähigkeiten eines Multithreading-Meisters.
Die Lösung dafür ist es nicht, bessere Thread-Verwaltungs-APIs zu erstellen. Neue Konzepte auf Sprachebene werden benötigt, die es dem Programmierer erlauben auszudrücken, was er will, und die es dem System erlauben herauszufinden, wie man das erreichen kann. Ich sehe LINQ als einen interessanten Schritt in diese Richtung – nicht nur wegen der Möglichkeit, Daten in Ihrer Lieblingsprogrammiersprache zu manipulieren, sondern weil LINQ das „was“ vom „wie“ trennt. Es gibt die enorme Möglichkeit, das Backend hinter LINQ auf viele verschiedene Arten zu implementieren, einschließlich dem Verteilen der Arbeit über mehrere Threads oder mehrere Maschinen in einem Netz. Grid Computing.
Delphi ist ein prima Kandidat, um Sprachkonzepte wie LINQ zu erforschen, fortgeschrittene Typalgebra und contract basierte Programmierung. Delphi ist frei, sich in neue Gebiete zu wagen, die nur von der Vorstellungskraft beschränkt sind, nicht von Kommittees.

Vielen Dank für die Beantwortung unserer Fragen!