Warum eigentlich Delphi?
Mit schöner Regelmäßigkeit werde ich auf Konferenzen und Events gefragt, mit welcher Sprache OASIS entwickelt wird. Wenn ich dann antworte, dass ich mit Delphi entwickle, ernte ich oft fragende Blicke, Stirnrunzeln und Verwunderung.
Warum denn ausgerechnet Delphi und nicht C#, C++ oder VB.Net?
Die Antwort ist eigentlich reichlich trivial: Weil ich's kann :-) Nein, nun mal im Ernst: Natürlich ist der Hauptgrund, dass ich Delphi im Gegensatz zu den anderen genannten Sprachen einfach besser beherrsche. Das schreibt sich fast so leicht runter wie VBA ... ganz einfach weil ich beide Sprachen fast täglich verwende.
Aber es gibt noch einen weiteren - für mich persönlich ganz wichtigen - Grund: Ich hasse sämtliche Arten von Laufzeitumgebung. Einer der Gründe, warum ich beispielsweise von Java überhaupt nichts halte. Als Entwickler habe ich keinen Einfluss darauf, welche Version der Java-Runtime auf dem Zielrechner installiert ist.
C# und alle anderen Sprachen aus dem .Net-Umfeld haben prinzipiell den gleichen Nachteil, denn das .Net-Framework ist ja nichts anderes als eine Laufzeitumgebung. Und wenn ich gegen eine bestimmte Version des Framework entwickle und die auf dem Zielrechner nicht installiert ist, muss der Anwender das nachholen.
Und sowohl bei der Java-Runtime als auch beim .Net-Framework kommt das Problem mit den Updates hinzu, auf die ich keinen Einfluss habe. Vor allem bei Java habe ich es bereits des Öfteren erlebt, dass eine Anwendung nach einem Update der Laufzeitumgebung plötzlich den Dienst verweigert.
Mit Delphi habe ich diese Probleme nicht. Traditionell produziert der Compiler reinen Maschinencode. Und den auch noch rasend schnell ... der Compiler übersetzt 1 Mio. Zeilen Quellcode in nicht einmal 4 Sekunden - Zeiten, die einen C++ Entwickler neidisch werden lassen.
So ganz nebenbei: Zu Visual-Studio habe ich sowieso ein ambivalentes Verhältnis. Rapid-Application-Development? Sorry, aber VS ist für mich alles andere als "rapid". Das einzige RAD-Tool aus dem Hause MS ist meiner Ansicht nach Access, auch wenn das von "professionellen" Entwicklern so gerne als amateurhaft abgetan wird. Man muss zwar manchmal etwas tief in die Trickkiste greifen, aber es gibt nicht viel was man nicht mit Access realisieren kann.
Aber zurück zu Delphi: Mit den aktuellen Delphi-Versionen (ab Delphi XE) haben auch moderne Sprachkonstrukte wie z.B. Generics und anonyme Methoden nach und nach Einzug in die Sprache Einzug gehalten. Also das, was C#-Entwickler so gerne als Alleinstellungsmerkmal anführen.
Seit Delphi XE2 lassen sich zusammen mit dem FireMonkey-Framework auch native Anwendungen für MacOS und iOS entwickeln und seit Delphi XE5 auch für Android. Und das mit einer einzigen Codebasis und einem GUI-Entwurf. Das ganze lässt sich dazu auch noch live debuggen. Wer einmal gesehen hat wie eine Anwendung auf dem iPhone (oder auf einem iPad oder einem Android-Gerät) läuft und in der Windows-IDE die Ausführung am Quellcode-Haltepunkt stoppt ... ganz großes Kino :-)
Mit der nächsten Version - Delphi 10.2 Tokyo - werden auch Anwendungen für Linux möglich sein. Allerdings zunächst nur Server-Anwendungen für die Konsole - ohne grafische Benutzeroberfläche. Mehr darf an dieser Stelle aufgrund eines NDA leider nicht verraten werden ;-)
Abschließend sei vielleicht noch erwähnt, dass die komplette Modellbahnsteuerung des "Miniatur Wunderland" in Hamburg in Delphi geschrieben ist. Und vor einigen Jahren haben wir mit ein paar Entwicklern ein komplettes ERP-System für einen mittelständigen Entsorger in Delphi entwickelt ... von Grund auf neu, mehrschichtig, mit tollen innovativen Features und in bestechender Performance.
Wer jetzt auf den Geschmack gekommen ist und die Sprache und die IDE kennenlernen möchte: Die Delphi-Starter-Edition gibt es kostenlos!