Interview mit Bernd Ua und Stefan Glienke

Delphi: "Den Schritt wagen und auf eine neue Version umsteigen!"
Kommentare

Delphi zählt zu einem der Urgesteine unter den Programmiersprachen. Und obwohl es von vielen bereits zum alten Eisen gezählt wird, bietet die mittlerweile von Embarcardero weiterentwickelte Sprache mehr Neuerungen und Features, als man ihr zutrauen würde. Wir haben uns im Vorfeld des Delphi Code Camps mit den Delphi-Experten Bernd Ua und Stefan Glienke darüber unterhalten.

Das Delphi Code Camp ist das einzigartige Trainings-Highlight für Delphi-Entwickler. Stefan Glienke und Bernd Ua, zwei der bekanntesten deutschsprachigen Delphi-Experten, vermitteln Ihnen in drei ganztägigen Power Workshops wertvolles Wissen zum aktuellen Stand der Programmiersprache Delphi, zu den aktuellen Datenbankfeatures von Delphi sowie zur Gestaltung testbarer und wartbarer Anwendungen mit Dependency Injection.

Entwickler.de: Delphi ist mittlerweile beinahe 20 Jahre alt; wie ist die Entwicklung – und besonders die Geschwindigkeit, mit der Neuerungen vorangetrieben werden – gerade in der letzten Zeit zu beurteilen?

Stefan Glienke: Die Neuerungen in der jüngsten Zeit konzentrieren sich ja sehr auf die Multiplattform Unterstützung, also iOS und Android. Ich denke, dieser Schritt ist unerlässlich, wenn man im Rennen bleiben möchte.

Aber auch Neuerungen an der Sprache selber, die in den letzten Jahren eher zögerlich durchgeführt wurden, sind wichtig, wenn man sich anschaut, was mit jeder neuen Version einiger vergleichbaren Sprachen hinzukommt. Da geht es oft zwar nur im sogenannten Syntax Sugar, aber solche Dinge sorgen sehr für mehr Produktivität. Ich würde mir wünschen, dass in der Hinsicht mehr getan wird.

Bernd Ua: Ich sehe das durchaus positiver. Wenn man die letzte Zeit, in der Delphi von Embarcadero weiterentwickelt wird, mit den letzten Jahren unter der Flagge von Borland vergleicht, hat sich schon einiges bewegt und das Tempo für Neuerungen deutlich erhöht. Da war wohl auch einiges an Aufholbedarf da. Mehr kann es natürlich immer sein, wobei die Delphi-Gemeinde aus meiner Sichte jeder Form von Code-Breaking-Changes sehr reserviert gegenüber steht. Das schränkt die Möglichkeiten für die Weiterentwicklung der Sprache natürlich auch ein.

Entwickler.de: Wenn man den Vergleich zu anderen Sprachen ziehen möchte – warum sollte man heute in die Entwicklung mit Delphi einsteigen?

Stefan: Delphi ist nach wie vor eine tolle Sprache, die auch durch die Bemühungen Embarcaderos in letzter Zeit wieder einen Aufschwung erfahren wird.

Man hat nun auch die Möglichkeit als jemand, der mit der Entwicklung auf den mobilen Plattformen noch nicht so viel Erfahrung hat, gut dort einzusteigen.

Bernd : Wenn man mehr als 20 Jahre mit Pascal gearbeitet hat, ist man bei der Antwort natürlich befangen, aber ich finde die Sprache nach wie vor gut lesbar und strukturiert und daneben auch gut für Einsteiger geeignet. Delphis Frameworks und Bibliotheken bieten neben sehr gutem Support für Windows 32- und 64 Plattformen eben auch Support für OS X und mobile Plattformen.

Entwickler.de: Bleiben Entwickler, die mit alten Systemen arbeiten (müssen) dabei auf der Strecke?

Stefan: Sicherlich nicht, außer Sie meinen mit alten Systemen solche, die gar nicht mehr von den neuen Delphi Versionen aufgrund von fehlender WinAPI unterstützt werden.

Wenn es allerdings um alte Delphi Versionen geht, kann ich nur sagen, dass man den Schritt wagen sollte, auf eine neue Version umzusteigen – sofern es sich noch um ein aktives Projekt handelt.

Bernd: Sicher gibt es mit der Abwärtskompatibilität nach unten Grenzen – zum Beispiel für Systeme wie Windows 95, die Unicode nicht so recht unterstützt haben – aber wir schreiben das Jahr 2014, da sollte es, wenn überhaupt, bei den meisten höchstens ein Problem sein, Windows XP vor Support-Ende abzulösen, und weniger ein Problem, Windows 95 nicht mehr zu unterstützen.

Es gibt allerdings nach wie vor viele Delphi-Entwickler, welche die Unicode-Portierung ihrer Anwendungen seit 2009 vor sich herschieben und sich damit selbst von den neuen Sprachfeatures wie Generics oder erweiterten RTTI abschneiden. Der Grund liegt mal bei verwendeten Fremdkomponenten und mal beim erwarteten Umstellungsaufwand.

Entwickler.de: Seit einiger Zeit ist ein enormer Drift in Richtung Mobile zu erkennen. Welche Vorteile bietet Delphi gerade in dieser Richtung?

Stefan: In der letzten Woche haben wir ja mitbekommen, dass Embarcadero mit der Ankündigung von Appmethod darauf nun einen besonderen Fokus legt.

Ich persönlich habe noch keine Erfahrungen mit der Entwicklung auf den mobilen Plattformen sammeln können, aber das wird sich in Zukunft sicher ändern.

Bernd: Es gibt ja verschiedene Ansätze, mehrere mobile Zielplattformen zu unterstützen. Das kann HTML5 sein oder Scripting in Verbindung mit mobile Webseiten, oder es können Runtime-basierende Lösungen gewählt werden. Hier hat Embarcadero mit Delphi einen anderen Weg mit dem Firemonkey-Framework und nativen Compilern für die jeweiligen Plattformen eingeschlagen, der eine echte Alternative bietet. Für den Preis das vielleicht das eine oder andere Detail auf einer Plattform etwas anders aussieht oder funktioniert, muss man nur eine Codebasis warten. Das Framework bildet weitgehend die Zielpattformen ab.

Entwickler.de: FireDAC war im letzten Jahr eine der wichtigsten Neuerungen im Delphi-Universum. Wo liegen die Stärken des Frameworks?

Stefan: Dazu kann ich leider nichts sagen, da ich damit noch nicht gearbeitet habe.

Bernd: Die Stärken liegen zum einen in der breiten Datenbankunterstützung des Frameworks und zum anderen im Leistungsumfang des Frameworks selbst. Bei den Komponenten und Klassen werden sowohl Entwickler fündig, die Dataset-kompatible Komponenten für den einfachen und bequemen Zugriff suchen, als auch Entwickler, die performante Batchanweisungen schreiben wollen, die Support für Transaktionen, asynchrone Anweisungen oder Cached Updates suchen. Das neue Framework geht von Leistungsumfang weit über das hinaus, was das alte DB-Express-Framework geboten hat.

Entwickler.de: Ein weiterer wichtiger Punkt ist es, wart- und testbaren Code zu schreiben. Auf dem Delphi Code Camp findet extra dazu ein Workshop statt. Hat sich gerade im Delphi-Umfeld da ein wenig Nachlässigkeit eingeschlichen?

Bernd: Ich fürchte fast, da muss man zustimmen. Auch wenn seit fast einem Jahrzehnt DUnit-Projektvorlagen in die IDE eingebunden sind, werden Tests gerne stiefmütterlich behandelt.

Stefan: Hier ist der RAD-Ansatz leider ein zweischneidiges Schwert. Seit jeher, also seit nahezu 20 Jahren, kann man durch die vielen Komponenten wunderbar schnell seine Anwendung zusammenbauen.

Allerdings entwickelt sich dadurch auch schnell eine Struktur, bei der das GUI und die Anwendungslogik miteinander verschmelzen. Ich glaube, jeder kennt das, dass man mal schnell seinen Code in ein Event schreibt und irgendwann hat man eine Form mit hunderten von Zeilen Steuerlogik, die dort eigentlich überhaupt nicht hineingehört. So etwas zu erkennen und zu ändern ist die Kunst und erfordert oft ein grundlegendes Umdenken. Hier wäre es auch wünschenswert, wenn man von der IDE mehr in dieser Richtung unterstützt würde – durch Patterns wie MVVM, was ja nun durch die LiveBindings möglich ist.

Entwickler.de: Welche Rolle spielt in diesem Zusammenhang das Thema Dependency Injection?

Stefan: Meiner Ansicht nach spielt DI eine zentrale Rolle in diesem Zusammenhang. Wenn es um testbaren Code – und wir reden in diesem Zusammenhang von Unit Tests, das ist wichtig – geht, muss man sich sehr sorgfältig Gedanken darüber machen, welche Teile in der Softwarearchitektur in welcher Weise mit einander interagieren. Depedency Injection ist keinesfalls ein Selbstzweck wie einige Denken mögen, da steckt schon sehr viel dahinter.

Entwickler.de: Wir hatten gerade schon das Thema Delphi Code Camp angesprochen – was erwartet die Besucher dort? Und was ist ihr erklärtes Ziel damit?

Stefan: Für diejenigen, die noch nicht mit den neuen Sprachfeatures von Delphi vertraut sind, wird es sicherlich sehr interessant zu erfahren, wie man diese einsetzen kann – um sich neue Möglichkeiten zu eröffnen, wie man seinen Code strukturiert. Außerdem bin ich mir sicher, dass der Workshop am Mittwoch jedem das eine oder andere mitgeben wird, wenn es darum geht, Code zu schreiben, den man auch nach längerer Zeit noch gerne anschaut, wenn man ihn erweitern oder modifizieren möchte.

Bernd: Wir haben versucht die Tages- und Themenaufteilung so zu gestalten, dass wir sowohl Entwicklern die mit den neueren Sprachfeatures bereits vertraut sind als auch denen, die das noch nicht sind, einen Mehrwert bieten können. Das Language Update bringt auch diejenigen auf den aktuellen Stand der Sprache, die sich die letzten Versionen und Features nicht angesehen haben. Und der letzte Tag zeigt ganz konkret, auf welche Weise die neuen Features wie Generics und RTTI eingesetzt werden, um wartbareren und damit besseren Code zu schreiben. Der zweite Tag legt den Fokus auf die Neuerungen bei Datenbanken und kann sowohl für die eine als auch die andere Gruppe interessant sein. Beim Datenbankupdate bestimmt natürlich das neue FireDAC einen Großteil der Themen. Daneben geht es aber auch um Livebindings, die neue Art der Datenbindung, die Stefan vorhin bereits erwähnt hat, und um die Erweiterungen, die Datasnap in den letzten Jahren erfahren hat. Wie bei einigen Änderungen der Sprache kann auch hier der reine Desktop-Anwendungsentwickler von den Änderungen profitieren, die primär die Verbesserung des Cross-Plattform- und Mobile-Supports im Sinn hatten oder haben.

Nicht zögern – jetzt Tickets für das Delphi Code Camp sichern!

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -