Es gibt auch Überlegungen, Delphi ganz zu verlassen, allerdings ginge das wegen der großen Codebasis und der beschränkten Entwickler-Ressourcen nur in Richtung FreePascal/Lazarus. Und da bin ich zwar der Meinung, dass die Produktivität mit Delphi 2007 immer noch höher ist als die von Lazarus.
Diesen Wechsel habe ich vor einigen Jahren gemacht (von Delphi XE sogar), und bisher keinen einzigen Tag bereut. Wo bei mir die Lazarus-
IDE im Alltag produktiver ist als XE:
- Refactoring: auch ein Vanilla XE mit Updates auf einem Vanilla Win7 mit Updates spinnt da ständig rum, streikt jedes zweite Mal. Unter Lazarus dagegen unit-übergreifend zuverlässig.
- Refactoring in der Form: ändert auch die Namen im Code, unter Delphi XE nicht.
- Editor: viele Kleinigkeiten (Booksmarks über alle Editoren statt nur im aktuellen z.B., code folding, ...).
- Git: über IDE-Erweiterung, zugegeben, direkt integriert, ist Gold wert.
Das konnte ich gerade erst wieder bestätigen, weil ich Win7 plus Delphi XE frisch als VM aufgesetzt habe (spielen also keine Fremdsoftware oder -komponenten rein), um einen Patch einer alten Projektversion zu kompilieren. Kommt mir verglichen mit Lazarus wieder wie ein Oldtimer vor (ist XE ja auch, aber 2007 sicher noch mehr
).
Insbesondere ist der Lazarus-Debugger einfach nicht gut genug um komplexe Fehler zu finden.
Meiner Meinung nach ist er vor allem eines: deutlich langsamer! Das nervt, ja. Hat bei uns letztendlich zu einem positiven Umdenken geführt: wir schreiben Code jetzt besser gekapselt und jeweils direkt mit zugehörigem
unit test. Das beschleunigt die Fehlersuche so sehr, dass der langsamere Debugger erträglich ist, wiel er viel seltener gebraucht wird. Im übrigen gibt es nicht „den“ Lazarus-Debugger, sondern mehrere. Die Voreinstellung ist gdb, und gdb an sich ist extrem mächtig. Aber halt nicht so komfortabel in die
IDE integriert.
Lazarus hatte ich über die Jahre auch schon ein paar mal in der Hand. Für zum Spaß ist es ganz nett, aber fürs professionelle Umfeld, gerade in unserem, wo ich mich auf gewisse Dinge einfach verlassen können muss, kommt es einfach nicht in Frage.
Spannender weise ist das genau das Argument, weshalb wir kein Delphi mehr einsetzen. Wir haben etliche neue Delphi-Versionen gekauft in der Hoffnung, das längst berichtete Fehler mal behoben werden, und wurden jedesmal enttäuscht. Wir müssen uns teils streng an die MS-Vorgaben für deren Logo-Programme (und andere Programme) halten, und unter diesem Aspekt war Delphi nicht geeignet (bzw. brauchte manuelle Patches an den
RTL-Sourcen) und gab es auch keine für uns sichtbaren Bemühungen, das zu ändern.
Apropos "professionell": über viele Versionen hinweg stürzte mir die deutsche Delphi-
IDE immer wieder mit einem „List index out of bounds“ ab - reproduzierbar, und wenn ich mich recht erinnere, weil die deutsche
IDE deutsche Key-Names und die englische
IDE englische Key-Names geschrieben hat, so dass die Projektdateien nicht ohne ungefilterte
IDE-
Exception zwischen dt. und engl.
IDE getauscht werden konnten.
FreePascal und Lazarus dagegen weisen natürlich auch Fehler auf, aber wann immer ich einen Fehler berichtet und einen Patch beigelegt habe, dauerte es in der Regel nie mehr als zwei Wochen (meist nur Tage), bis der Fehler behoben war.
Und das ist für mich entscheidend: ich muss mich auf spontane Anforderungsänderungen seitens Microsoft schnell anpassen können. Bei Delphi waren meine erwarteten Response-Zeiten bei 3+ Jahren, ich habe aber ggfls. nur einen Monat, da kann ich mir bei FP/Lazarus zur Not selber einen Patch schreiben und bekomme meist sogar Hilfe dabei.