Einzelnen Beitrag anzeigen

Benutzerbild von IBExpert
IBExpert

Registriert seit: 15. Mär 2005
672 Beiträge
 
FreePascal / Lazarus
 
#69

AW: Sind wir veraltet?

  Alt 29. Jun 2023, 12:04
Ich sehe einfach keine Lösung, die irgendwie umsetzbar und bezahlbar wäre. Wenn Delphi irgendwann den Bach runter geht, gibt es immerhin noch Lazarus, auf das man dann allmählich umstellen könnte, während man weiter mit alten Delphi-Versionen arbeitet.
Im Gegensatz zu vielen anderen habe ich ja auch schon einige Jahre konkreter Projekterfahrung mit Lazarus und sicherlich ist die Umstellung einer GUI Anwendung, die klassisch in Delphi mit endlos datasets/datasource/dbcontrols in zig formularen im Laufe der Jahre entstanden, egal auf welche Plattform nicht banal.

Was mit aber eh schon vor Jahren zu gute kam, war es, das ich eh meine eigenen Projekte seit Jahren versucht habe, von dieser Art der Programmierung wegzubekommen, auch als es noch delphi war. (Ganz alte Säcke hier können sich noch an meine OOP Sessions auf der Ekon vor ca 20 Jahren erinnern ...).

Statt also den ganzen Kram in der dfm Datei endlos verschachtelt zu haben, war mein Weg das (ähnlich wie gexperts components2code das macht) den kram zur laufzeit zu erzeugen. Und damit kann man mit relativ wenig aufwand auch komplexe GUI Anwendungen mit Komponenten portieren, die man auf der zielplattform gar nicht nativ hat. Die können dann aber wenn die wirklich wichtig sind, als eigene Klasse implementiert werden oder man legt den Code lahm, wenn der eh nicht gebraucht wird. Sämtliche Codeteile die irgendwelche button clicks können dabei fast immer so bleiben wie die sind, nur der dfm include oben im header wird durch eine anderen Include ersetzt, dadurch kann das Projekt aber mit sehr vertretbarem Aufwand weiterhin in beide Plattformen compilierbar bleiben. Das ist bei uns nicht nur theorie, sondern praktische Erfahrung mit der ibescript.exe, die ca 1,2 Millionen Zeiten Delphi code hat und mit lazarus compiliert (mit einigen compiler directives) dann 75% der Funktionalität abdeckt.

So eine Umstellung empfehle ich eh jedem, aus dem einfachen Grund, der auch dann hier weider deutlich besser zu eigentlichen Thema passt:

Zeig mal einem jungen Entwickler ein Delphi Projekt, das >=200 dfm Dateien hat und an tausenden Stellen mit irgendwelche Element der Datenbank oder anderer externer Services verbunden ist. Die Einarbeitungszeit, um an so einem Projekt (egal auf welcher Plattform) sinnvoll mitzuarbeiten, ist gigantisch und ist eher in Jahren zu berechnen, bis der wirklich produktiv ist und nicht nur an wenigen Details herumzufrickeln und damit auch unzufrieden ist. Erstens braucht der eine Entwicklungsumgebung, in der der gesamte Kram an Komponenten da komplett in genau der richtigen Version mit nur dieser einen Delphi IDE/Compilerversion lauffähig ist. Alleine die ohne vorhanden Kopie in einer VM o.ä. herzustellen, ist gigantischer Aufwand, den jeder Entwickler berechtigterweise scheuen wird, weil der das ja auch nicht für seine eigenen Projekte nutzen kann wie er will, es sei denn, er ist selber zahlender Delphi Kunde mit der richtigen Version aber wer ist das schon als junger Neueinsteiger.

Ich hab riesengroße Projekte bei Riesenkonzernen, die Delphi Projekte mal eben für 2 stellige Millionen Euro Budgets umstellen wollten auf einer ganz andere Plattform (java,.net, web,...) immer wieder beim scheitern zusehen dürfen. Statt Evolution war da immer Revolution angesagt und das ist aus meiner Sicht der falsche Weg. Alles alte wurde eingefroren und das neue wurde den Kunden gegenüber als der Heilsbringer verkauft, was der Kudne aber nie haben wollte. Gibt gerade aktuell schon Beispiele aus dem Delphi Umfeld, die ich hier aber nicht näher benenne.

Jemand der wie wir alte Säcke gute Pascal Kenntnisse und gute vcl/lcl (oder wie auch immer das heisst) kenntnisse hat, ist garantiert in dieser Pascalwelt für die Produktion lauffähiger Software nach Kudnenvorgaben weit produktiver, aber auch bei der Einarbeitung junger Kollegen, wenn man denen nicht die üblichen "les dich da mal in den code ein ..." sprüche vor den Kopf knallt. Wenn der dann aber noch bis zur Rente ein komplettes Porjekt auf eine komplett neue Plattform umstellen soll, dann passiert halt das, was ich immer wieder sehe. Sinnlos verbratene Zeit ...

Und als Antwort zum eigentlichen Thema: Ja, wir sind veraltet, es liegt aber nicht an der Pascalsprache, sondern an dem was wir alle von uns selber oder von Kollegen als Quälcodes geerbt haben und in den letzten 25 Jahren einfach so erweitert haben, ohne die generelle Architektur mal in Frage zu stellen. Und dann auch noch so einen Kram wie SQL für die Datenbank, ist ja auch veraltet. Es wurden doch tausende neuer Buchstabenkombinationen als Sau durchs dorf getrieben, die alle keine 2-3 Jahre Hype waren, aber kein schwein mehr kennt.

Wie man das ändert? Mit Lazarus versuchen gerade einige (https://www.blaisepascalmagazine.eu/) ein Projekt aufzubauen wie das https://codeguppy.com/ für javascript macht.

Wäre auch durch den pas2js crosscompiler relativ einfach umsetzbar und würde sicherlich schulen und junge leute wieder der Sprache näher bringen. Beispiel in Pascal quellcode , die dann troztzdem im webbrowser laufen, könnte die Sprache wieder sichtbarer machen und besser lesbar als javascript oder c++ sonderzeichenorgien ist das sowieso.

mal sehen wie das weiter geht ...
Holger Klemt
www.ibexpert.com - IBExpert GmbH
Oldenburger Str 233 - 26203 Wardenburg - Germany
IBExpert and Firebird Power Workshops jederzeit auch als Firmenschulung
  Mit Zitat antworten Zitat