Einzelnen Beitrag anzeigen

Benutzerbild von Assarbad
Assarbad

Registriert seit: 8. Okt 2010
Ort: Frankfurt am Main
1.234 Beiträge
 
#48

AW: Unbeliebtheit von Delphi

  Alt 30. Apr 2020, 12:23
Zu den Argumenten eingangs:

1. Schnell - Compiler !
Jupp, ist was dran.

2. Exe- File - kann leicht weitergegeben werden.
Geht bei Go und Rust auch. Und auch bei Visual C++ bekomme ich das ohne weiteres hin. Nur bei .NET gab es da mal Probleme, die aber durch die Tatsache, daß sich .NET quasi ins OS geschlichen hat, immer weniger relevant werden.

3. Leichte Oberflächenerstellung. In Python komplex und langsam.
Ja gut, Benutzeroberflächen mit Bash erstellen ist auch kein Zuckerschlecken, geht aber (natürlich auf dem Terminal). Nur stellt sich dann die Frage der Sinnhaftigkeit. Die Wahl des richtigen Werkzeugs ist nunmal nicht unerheblich für die Geschwindigkeit mit der man dann bei der Aufgabenerfüllung vorankommt.

Ansonsten verweise ich auf PySide und wxPython ...

4. Und.. und.. und
Das könnte nun wiederum alles sein ... und da gibt es auch genug Argumente für jeweils andere Sprachen.

ich vermute mal das für viel Delphi noch auf einem D6/8/2007-Level stehen geblieben ist und viele der Dinge die einen dir Arbeit in einem Delphi 10.x erleichtern gar nicht bekannt sind.
Was auch an der interessanten Preis- und Paketierungspolitik liegen könnte. Vielleicht habe ich ja wirklich etwas verpaßt, aber die preisliche Lücke zwischen dem Angebot für Hobbyisten mit ausdrücklichem Verbot der kommerziellen Nutzung und der nächst-"größeren" Ausgabe war riesig. Und bei der nächst-"größeren" Ausgabe hatte ich dann allerlei Klimbim dabei, für den ich keine Verwendung hatte, den ich aber mitbezahlt habe.

Was ich auch unpraktisch fand, war die Anforderung C-Header übersetzen zu müssen. Vielleicht - bzw. hoffentlich - gibt's da ja auch seit XE Fortschritte.

Kurzum: für eine bestimmte Sorte von Anwendungen ist Delphi aus meiner Sicht noch immer sehr gut geeignet, bei anderen eher nicht.

Man ist eben ein Aussenseiter, wenn man eine gut lesbare, bewährte Sprache und die dazugehörigen Bibliotheken und dann noch eine relativ einfache IDE benutzt.

Ein richtiger Programmierer schreibt seinen Code so, das ihn niemand verseht,im Idealfall er selber auch nicht.
Gähn, ist das versuchter Sarkasmus? Denn der Code vieler Delphi-Programme hat mich zu der Überzeugung gelangen lassen, daß Delphi - wenn es dem Entwickler an Disziplin fehlt - spaghettiartigen Code ganz gut fördert. Ein TForm17 ist da nur auf alleroberster Ebene ein Symptom von. Schlimmer ist dann die fehlende Trennung von Business-Logik und Präsentation (die Logik wird einfach in die Event-Handler reingeklöppelt).

Auch ein Programm, welches sich simpel durch copy & past installieren lässt geht gar nicht. Ein richtiges, von einem Experten geschriebenes Programm braucht 100 dlls und eine Installationsroutine die mindestens 20 min den Rechner beschäftigt.
Laß mich raten, nochmal der Versuch Sarkasmus zu benutzen? Da gibt es natürlich verschiedene Sichtweisen.

Mittlerweile finden es die Leute ja geil sich mit Opera, Atom, Visual Studio Code, Riot IM, Google Chrome und dem Slack Client (um nur ein paar wenige Vertreter zu nennen) quasi dutzendfach den gleichen Code in ihr Benutzerprofil zu installieren. Vor ein paar Jahren hielt man DLLs als Mittel der Wahl um den gleichen Code aus verschiedenen Anwendungen heraus zu nutzen, noch für das A und O. Die Zeiten ändern sich halt. Allerdings hat Electron eben auch zu Auswüchsen geführt bei denen mittlerweile Systemsoftware mit Systemrechten nen Chromium-Unterbau ausführt. Da kommt mir das kalte Kotzen.

Falls du jemals einen kleinen Einblick in das Tagesgeschäft eines Admins bekommen solltest, wird dir die Begeisterung für Anwendungen die sich per Copy&Paste installieren lassen schnell im Halse stecken bleiben. Es hat halt seine Vor- und Nachteile, je nach Einsatzgebiet.

Ja, in dem C-Array gibt es keine ''-Einträge für nicht vorhandene Werte, da der erste Leer-String das Ende der Liste definiert,
drum wird die Liste einfach komplett weggelassen.
beziehst du dich auf argv in der main-Funktion?

Die "Unbeliebtheit von Delphi" liegt sicherlich zum großen Teil daran, das es in der Delphi (oder Pascal) Welt
nicht alle paar Monate alles neu kommt, man seinen gesamten alten Quellcode wegschmeissen muss, um nun auf die
ganz neue [Platzhalter für irgendein Buzzword] Plattform umstellt, weil das insbesondere bei [noch ein Platzhalter
für irgendein Buzzword] viel besser ist ....
Also bis C++14 dürfte sich Delphi deutlich schneller entwickelt haben. Was auch nicht zuletzt daran liegt, daß Delphi eben nicht mehr ein Standard-Object-Pascal ist. Und genau das sehe ich übrigens als Nachteil. Stichwort: Delphi Language. Hier hätte ich mir mehr Weitblick und Standardisierung gewünscht.

Schonmal versucht meinen nonVCL-Code in neueren Delphi-Versionen zu bauen? Viel Erfolg! Andererseits kann ich gemütlich C-Code aus den 1990ern meinem C-Compiler füttern und der spuckt mir dafür sogar Objektcode aus. Gut, Warnungen gibt es dann durchaus hin und wieder ...

Es gibt seit Jahrzehnten den gleichen Kram auch mit SQL Datenbanken, nosql ist alles viel besser, davor kamen einige
sogar mal mit XML Datenbanken, alles so viel doller als 08/15 SQL Datenbanken .... oder vielleicht doch nicht?
Und auch wenn es ewig totgesagt ist, auch heute noch dominieren SQL Datenbanken sehr große Teile in
betriebswirtschaftlich benutzter Software.

Ich kann aus meinem Kundenkreis durchaus von einigen Kunden Projekten berichten, bei denen große Teams irgendwas
in irgeneiner webbasierenden oder .NET oder java basierenden Technik umsetzen, wo ich mich frage, warum dauert das
länger als eine Woche oder ein Monat? Und die verbraten da Mannjahre ....
Klingt nach üblichen Bullshit-Jobs. Und bei diversen Themen hat sich nur das Buzzword, aber nicht der Inhalt geändert. Kennt noch jemand SOAP?

In einem Projekt bei dem Laden mit dem großen T an der Haustür war einer der Programmierer bekannt das er angeblich
mit fast jeder Programmiersprache einsetzbar war. Konkrete Nachfragen zu seinem vorliegenden Quellcode und der
von ihm darin verbockte Datenbankzugriff auf gruseligen Tabellenstrukturen zeigten mir nur, das er vermutlich
in vielen Programmiersprachen ein "Hallo Welt" zum Laufen bekommt, aber nirgends darüber hinaus zu gebrauchen
ist. Damals war sein neuestes Steckenpferd java und alle Projektbeteiligten waren glücklich, das in dem Projekt
mit Delphi und SQL für Ihn keine verwendung mehr war und der dann uns nicht mehr mit seinem Halbwissen genervt
hat.
Die Frage ist nur was das mit der vermeintlichen oder tatsächlichen Beliebtheit von Delphi zu tun hat. Stümper gibt es überall.

Die meisten Anwender die Git benutzen sind meiner Erfahrung nach Stümper in Sachen Git (== keine Grundkenntnisse), die nach diesem Schema verfahren, aber es muß dennoch unbedingt Git sein und ja kein anderes VCS.

Zurück zu deinem Thema: Unbeliebt ist nicht unbedingt das Gegenteil von beliebt! Es gibt gerade aufgrund der
Historie sehr viele weiterhin in der Pascalwelt sehr glückliche Programmierer, die Ihr Tagesgeschäft aufgrund
guter Basisarchitekturen auch auf dem Spachlevel von Delphi 5 o.ä. erfolgreich gestalten.

Ob die sich dann die Mühe machen, irgendjemand davon zu überzeugen, das Delphi 5 auch für den die Lösung
schlechthin ist, kommt den meisten in unserem Dunstkreis überhaupt nicht in den Sinn. Es gibt aus meiner
Sicht nur ganz wenige "Programmiersprachen-Prediger" in der Delphi Welt, die mit taliban ähnlichen
Argumentationsketten alles andere schlecht reden nur nur die eigene Religion anerkennen.

Der geneigte Delphi/Pascal Programmier reagiert da oft nach dem Motto "Was interessiert es die Eiche,
wenn die Sau sich an ihr kratzt" und beendet uninteressante Monologe von solchen Predigern auch gerne
mal zumindest gedanklich mit "Wenn man mal keine Ahnung hat, einfach mal Fresse halten"
in dem Wissen, das die eigene Plattform bei entsprechender Architektur keineswegs durch eine ganz andere
Programmiersprache in Frage gestellt werden muß.
Volle Zustimmung! Mit entsprechender Erfahrung weiß man auch, daß sich verschiedene Werkzeuge verschieden gut für das gleiche Einsatzgebiet eignen.

Wenn du dich als letzter Mohikaner fühlst, der den Kram noch benutzt, dann hast du sicher gute
Gründe zu wechseln, dafür sehe ich aber inbesondere im deutschsprachigen Umfeld für Delphi/Pascal
keinerlei Gründe, vielleicht sogar ganz im Gegenteil (Ich kenne einige Visual Studio Ablöse-Projekte
für vorhandene Delphi Projekte, wo die Firmen sehr viel Geld drin versenkt haben, aber nie mit dem
neuen Projekt in den Produktionsstatus gekommen sind und daher weiterhin noch Jahrzehnte alten
Delphi Quelltext mitschleppen, der es durchaus verdient hätte, mal aufgeräumt zu werden. Dafür muss man
den aber nicht komplett wegschmeissen.
Ohnehin muß man Code selten wegschmeißen. Diejenigen die den Code unbesehen (und damit meine ich eine Detailbetrachtung!) wegwerfen um - ggf. in einer anderen Sprache oder mit einem anderen Framework - von vorn zu beginnen sind nicht gewillt aus alten Fehlern zu lernen. Denn um aus denen zu lernen müßte man die ersteinmal analysieren. Man erlebt es dennoch sehr häufig.

Auch sollte jedem Entwickler klar sein, daß auf die Lebenszeit der Software betrachtet nicht auf die Erstentwicklung sondern für die Langzeitpflege hin optimiert werden sollte. Stichworte: Dokumentation, Tests, Änderungsverwaltung, Trennung von Abstraktionsebenen mit "internen" Schnittstellen ...

Für Redesign innerhalb der existierenden Welt ist aber immer
nie Zeit und Geld da, die Leute, die frisch von der Uni kommen, basteln da in Ihrer dunklen Textkonsole
so viel unverständliches Zeug in wenigen Minuten zusammen, das jeder gestandene Delphi/Pascal
Programmierer nicht mal Bock drauf hat, das zu verstehen, [...]
Das lustige an dieser Argumentation ist, daß sie aufzeigt, daß "die junge Generation" keinen Bock hat sich mit existierendem auseinanderzusetzen (ist ja auch nicht "agile" - bitte in englischer Aussprache! - genug) und "die ältere Generation" umgekehrt ebensowenig.

Ein wenig Distanz zu wahren zu der neuesten Programmiermethoden/-sprachen-Sau die gerade durch's Dorf getrieben wird, ist sicher richtig.

Aber der ehemalige Vorgesetzte der auch nach 20 Jahren noch mit dem Compiler von 1996 arbeitete und einen Programmierstil hatte, der mit "Assembler-artig" und "1980er" wohlwollend umschrieben wäre, hat dennoch den Fortschritt in der Codebasis auf ganzer Linie behindert. Wenn ich halt großflächiges Refactoring machen möchte, muß man manche liebgewonnenen Gewohnheiten aus DOS-Zeiten auch mal aufgeben. Hier war es bspw. die Unsitte über Defines und einen zentralen Header zu steuern was eingebunden wird. Zu DOS-Zeiten durchaus sinnvoll um eine damals übliche Größenbeschränkung zu umgehen. Heute eher überkommen und hinderlich.

Solche Dinosaurier, die mental ihre Kenntnisse auf ihrem eigenen Fachgebiet nie merklich ausgebaut haben, habe ich schon mehrfach in meiner Karriere kennengelernt. Noch hoffe ich, daß ich frühestens mit Renteneintritt auch in diese Dinosaurierphase eintrete. Ich finde es aber wenig tröstlich, daß Uni-Abgänger eine ähnliche Ignoranz an den Tag legen wie die sprichwörtlichen Dinosaurier.

So sind neue entwickler nur dazu gekommen wenn sie es sich leisten konnten. Also ganz sicher keine Schüler oder Studenten!
Also vor zirka 20 Jahren gab es bereits entsprechende Programme für Schüler und Studenten. Ich weiß das aus erster Hand, weil ich mir so ein Delphi 4 Professional geleistet hatte. Ob die damit einhergehenden lizenztechnischen Einschränkungen allerdings sinnvoll sind, darf man hinterfragen.

Heute ist es schwer den Marktanteil im Business Bereich noch signifikant zu steigern. Von unbeliebt würde ich dabei noch nicht einmal sprechen, sondern eher von unbekannt oder falsch eingeschätzt...
Insbesondere letzteres. Denn dazu müßte man sich ersteinmal damit auseinandersetzen. Und das macht einem der aktuelle Eigner von Delphi jetzt nicht gerade einfach, finde ich, trotz Community-Ausgabe.

Aber wir leben ohnehin in einer Zeit in der das nächste Quartalsergebnis (manchmal sprichwörtlich, manchmal nicht) wichtiger ist als eine langfristige und nachhaltige Wertschöpfung.

Klar haben andere Sprachen und Umgebungen ihre Vorteile (C# in Visual Studio), aber es gibt auch eine Vielzahl an Sprachen und Umgebungen, da gruselt es mir, wie rudimentär, verkorkst oder aufwändig manche Sachen sind (Editor, Debugging) oder das die gefühlt nur Server- und Konsolenprogramme können (Rust).
Ja ... der Firefox nervt mich auch, seitdem der nur noch als Konsolenprogramm verfügbar ist.

Manch einer kann sich das kaum vorstellen, aber Sprachen und Editoren sind überhaupt nicht über Naturgesetze unzertrennlich aneinander gebunden. Und ich verdrehe jedesmal die Augen wenn mein Vorgesetzter sich drüber beschwert daß diese oder jene Funktion des Debuggers in Eclipse nicht funktioniert. Da zücke ich dann Vim, GDB und einen Terminal-Multiplexer und lasse diese nervige Entwicklungsumgebung hinter mir.

Möglich, aber wenn die Lösung schon C, C++ und C# parsen kann, ist doch Object Pascal keine Unmöglichkeit.
Ich bin ja auch nur Laie, aber ich stelle mir das so vor, dass nach dem Parsen eines Softwareprojektes das als AST und (ggf. später) als logisches Modell vorliegt, gegen das man dann Regeln und Standards prüft.


Selig sind, die da nehmen und nicht zurückgeben! Jupp, vermutlich ist das im Prinzip ganz einfach, wobei du hier auch ein wenig Architekturanalyse und statische Codeanalyse zum Auffinden häufiger Fehler durcheinanderzuwürfeln scheinst.

Das hatte seine Zeit. Bei etlichen Kunden darf PHP nicht eingesetzt werden.
Liegt das an diesen überkommenen Vorurteilen? Da sind wohl auch die Kunden mental stehengeblieben. Bei PHP hat sich viel getan.

Die erste Delphi-Version erschien 1995. 1995 habe ich erstmals von anderen Programmierern gehört, dass Delphi total veraltet sei, keine Zukunft hat, unbeliebt ist ... Und das zieht sich nun seit 25 Jahren durch die Diskussionen.
Veraltet könnte sich damals auch durchaus darauf bezogen haben, daß es in einigen Aspekten nicht als auf der Höhe der Zeit galt. In anderen Aspekten hingegen war es Vorreiter.

Da spielt dann wohl auch immer persönlicher Geschmack und der Unwille sich mit neuen Themen auseinanderzusetzen eine Rolle.

Meine Frage war eher: Welche Entwicklungsumgebung wird ähnlich lang weiterentwickelt, wie Delphi?
Visual Studio? ... oder meinetwegen Watcom, wenn du eine ununterbrochene Entwicklung meinst.

Wenn es um die Delphi-IDE geht..die kann doch gar nicht unbeliebt sein. Die ist schon seit langem die Beste, die es gibt. Schon mal einer Visual Studio von Microsoft gesehen/verwendet? Absolute Vollkatastophe.
Von welchen jeweiligen Versionen reden wir denn? Also ohne bspw. das IDE Fixpack empfand ich die Delphi IDE mindestens als mittlere Katastrophe.

Ich denke man sollte vielleicht sogar den letzten Schritt gehen und alle Entwicklungsumgebungen außer Delphi verbieten. Manchmal muss man die Leute auch vor sich selbst schützen.
Soviel zum Fehlen fundamentalistischer Umtriebe unter Delphianern

Auch wenn Strg+Alt+0 nicht so praktisch zu erreichen ist.
Theorie: Wirth als Schweizer hat auch nur ne "deutsche" Tastatur gehabt und sich deshalb auf begin/end beschränkt. C wurde in den USA entwickelt und {/} waren bequem erreichbar und platzsparender als begin/end.

Ich nutze seit über 15 Jahren ausschließlich eine US-Tastatur mit alternativem Layout (sprich, ich kann ohne Probleme ß, ö, ü, ä, æ, å, ø, ł, ð, ć, ę, ż, ý, ą, ©, ®, ™, ï, ᵹ, ń, μ, ℔, ś, ſ, ƿ, é, ¾, ¼, ½, ℅ usw. tippen ... und zwar sowohl auf Linux wie auch auf Windows) und möchte es nicht mehr missen. Probier's mal aus! Das entsprechende Mercurial-Repo ist derzeit offline, da Bitbucket bekanntlich die Unterstützung auslaufen läßt, aber demnächst ist es dann wieder online. Schick mir ne PN, falls Interesse besteht.

Was hilft mir begin/end statt {/} wenn ich am Ende in JSON oder YAML oder wo auch immer doch wieder mit geschweiften Klammern konfrontiert bin?!
Oliver
"... aber vertrauen Sie uns, die Physik stimmt." (Prof. Harald Lesch)