Einzelnen Beitrag anzeigen

Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.640 Beiträge
 
#66

AW: Sind wir veraltet?

  Alt 29. Jun 2023, 11:18
Auf Jobangebote, in denen Delphi erwähnt wird, bekommen wir seit Jahren schon keine Bewerbungen von jüngeren Leuten mehr. Woran das genau liegt, kann ich nicht sagen.
Weder an Berufsschulen noch an FH's oder Universitäten wird Delphi gelehrt.
Es kommen einfach keine mehr nach.

Einstiegshürde? Wahnsinnig hoch. Community Edition schön und gut, aber man braucht ne Windows Kiste dafür. Viele haben Macs. Die ganz jungen Coden inzwischen mit ihren iPads im Browser auf Github Codespaces. Nix mehr mit lokaler Installation einer IDE.

Dazu kommt, das moderne Sprachen mit modernen Frameworks drunter einfach zigmal produktiver sind als man mit Delphi noch irgendwie sein könnte.

Das mag einem alteingesessenen Delphianer jetzt zwar komisch vorkommen (Wieso? Das ist super-produktiv was wir machen!), aber wenn ich mir anschaue war wir hier bei TT mit modernen Technologien machen und in wie wenig Zeit wir hier komplette Anwendungen von vorne bis hinten hinstellen, die wirklich alle Anforderungen an moderne Businessanwendungen erfüllen (läuft sowohl im Frontend als auch im Backend auf allen Plattformen inkl. nem Raspberry wenns not tut, ist offline-fähig, synchronisiert wenn es wieder online ist, hat Mehrmandantenfähigkeit, kann sowohl on-premises als auch in der Cloud oder sogar gemischt betrieben werden, entspricht dem aktuellen Stand was Sicherheit angeht), und ich mir dann überlege was das für ein Wahnsinnsgefrickel mit Delphi wäre, na dann gute Nacht.

OK, in dem Bereich könnte man auf C/C++ umstellen, aber wie schon geschrieben: Man müsste Millionen Zeilen von Sourcecode neu schreiben. Und nach meinen Erfahrungen (in anderen Firmen), braucht man 2-3 C/C++-Entwickler um die Produktivität eines Delphi-Entwicklers zu erreichen. Aber das mag ein falscher Eindruck sein, vielleicht war das auch eher 2-3 mittelmäßige C/C++ Entwickler, um einen exzellenten Delphi-Entwickler zu ersetzen
C/C++ ist schon gestorben. Du brauchst einen halben einigermaßen fitten Rust-Entwickler dafür.
Rust, mit seinem im Compiler-eingebauten Memory-Management sorgt nämlich dafür dass Du ganz sicher alles wieder deallokierst was Du Dir an Speicher holst und Du ganz sicher nicht auf einen falschen Speicherbereich zugreifst. Du schreibst den Code genau so schnell wie ein C/C++'ler aber du sparst Dir 85% der Zeit, die die dann hinterher am debuggen sind.

Es gibt viele Gründe warum z.B. bei Microsoft inzwischen viele Teile des Kernels in Rust neu geschrieben werden. Einer davon ist, das es kaum noch C/C++ am Markt gibt und Rust einfach inhärent sicherer ist.

Aber mal angenommen, es läge an der Verwendung von Delphi:
Was sollte man denn dann tun? Umstellen auf eine "hippere" Entwicklungsumgebung? Am besten noch mit Microservices, Cloud und KI (oder was gerade die aktuelle Sau ist, die durchs Dorf getrieben wird)? Dafür dann einige Millionen Zeilen Sourcecode wegwerfen und das Rad neu erfinden?
Ja. Auch wenn sich das Krass anhört.

Die Alternative ist: Du findest keine Entwickler mehr. Die alten gehen weg. Es werden immer weniger. Man findet vielleicht ab und zu mal einen einzelnen neuen Entwickler, die sind aber auch alt und wissen was sie wert sind und rufen das auch ab. Die Entwicklung wird teurer, aber dadurch das es dennoch weniger werden gleichzeitig auch immer langsamer bis nahezu zum Stillstand. Das Produkt wird ohne sinnvolle Pflege da stehen. Kunden werden Bugfixes verlangen die nicht mehr (rechtzeitig) kommen. Werden unzufrieden, gehen zur Konkurrenz. Werden aber vorher ggf. sogar rechtlich gegen die Firma vorgehen weil sie einen Anspruch auf korrekte Software haben der nicht erfüllt wird (werden kann) - am Ende geht die Firma den Bach runter.
Das ist nicht nur theoretisch. Das habe ich schon mehrfach gesehen.

Die Lösung? Neu bauen. Das geht freilich nicht komplett. Man sucht neue Devs die sich mit modernen Technologien auskennen. Man baut neue Features in der neuen Technologie (und ja, das wird web-basiert sein). Die Anwender von morgen bedienen heute auch nur noch Tablets und Webapps. Die werden das auch später auf der Arbeit so erwarten. Und zurecht. Man kann dann diese neuen Features mittels eingebetteter Webview auch in der legacy-Software noch verwenden und diese so noch etwas am Leben erhalten. Stück für Stück nimmt man alte Features / Module und modernisiert diese (ja, auch wieder in die alte Software einbauen, die wird damit auch moderner), bis die neue Anwendung alle notwendigen Features hat um standalone eingesetzt zu werden.

So kann man noch einen fließenden Übergang hin bekommen, bevor es zu spät ist. Je früher man das erkennt und angeht, desto größer ist der Vorteil gegenüber Mitbewerbern. Wer das verpasst wird überholt und bleibt auf der Strecke.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat