AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Sind wir veraltet?

Ein Thema von Codehunter · begonnen am 26. Jun 2023 · letzter Beitrag vom 28. Feb 2025
 
Benutzerbild von IBExpert
IBExpert

Registriert seit: 15. Mär 2005
695 Beiträge
 
FreePascal / Lazarus
 
#11

AW: Sind wir veraltet?

  Alt 29. Jun 2023, 11: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
Firebird 5 Update und Know-how Workshop – 28.8.-29.08.2025 64546 Mörfelden - Walldorf
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:12 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz