Was is so schlimm an Delphi

Hi erstmal! Ich stoße im internet immer wieder auf negativ kritik gegen delphi / pascal. Ich frage mich nur wieso? nur weil es einfach und logisch is (net wie jave Oo ich hasse java^^). Ok, delphi proggies sind etwas größer als die von C++. Aber nur deswegen so drüber herziehen?

Was sagt ihr?

Executor
 
Was ich zB an Delphi net mag ist, dass es zB den In - und Dekrementor nicht gibt, auch kann man staht AND und OR nicht && oder || schrieben. Ist aber nur ne Kleinigkeit.
 
da es einfach gewisse Vorteile hat.

Wenn man sich schon an der Diskussion beteiligt, kann man diese Vorteile ruhig aussprechen. ;)

Was mir an Delphi so gefällt ist schlicht und ergreifend die Syntax. Da ich so lange damit gearbeitet habe ist für mich der Sourcecode sehr lesbar und damit auch wartbarer, auch fremde Quellcodes. Aber das kann dann jeder von seiner Lieblingssprache auch behaupten. :D

Und ich sehe im übrigen auch keine so gravierenden Nachteile, die man als findiger Programmierer nicht ausgleichen kann. Des Weiteren tut sich bei Delphi auch eine Menge in letzter Zeit, wie zum Beispiel sehr komplexe KlassenTemplates und überladene Operatoren sind in Delphi2006 auch möglich. ;)
 
Der Delphicompiler schreibt so uneffizienten Code, dass er in seiner uneffizienz unüberbietbar ist. Der Compiler ist mies und sollte mal schleunigst überarbeitet werden. Statt viel klickibunti und Eclipse zu kopieren sollten, die mal aufhören an der IDE rumzubauen und lieber ihren Compiler überarbeiten.

Ansonsten finde ich Delphi sehr gut.
 
Sowas gibt es noch ernsthaft? Oder nur als Hobby...

Also beruflich habe ich noch nichts am Hut. Habe bald mein ABI und dann seh ich weiter.
Also kannst du das als "nur" ein Hobby zählen. ;)

Der Delphicompiler schreibt so uneffizienten Code, dass er in seiner uneffizienz unüberbietbar ist.

Aha. Ineffizient also? Ist das Empirie oder woher hast du das?
 
Also wir lernen Delphi im Informatikunterricht (zumindest einige von uns) und zwar mit Delphi 7.
Was ich (bis jetzt) positiv finde: es ist recht einfach gehalten, recht intuitive Oberfläche, die Pascal-Syntax ist auch nicht allzukompliziert.

Was ich nicht so gut finde:
Dass Delphi öfters mal 2-3x abstürzt, wenn der Lehrer aufm Beamer was vorführen will
Die Oberfläche hängt auch manchmal einfach mal paar Sekunden,
Der Compiler mag auch nicht immer gleich anspringen...
Das kann vielleicht auch daran liegen, dass die ganzen Benutzerprofile aus dem Netzwerk geladen werden, da ist der Zugriff teilweise wirklich lahm, aber trotzdem find ich, dass das ganze einfach zu instabil läuft.
 
Was ich nicht so gut finde:
Dass Delphi öfters mal 2-3x abstürzt, wenn der Lehrer aufm Beamer was vorführen will
Die Oberfläche hängt auch manchmal einfach mal paar Sekunden,
Der Compiler mag auch nicht immer gleich anspringen...
Das kann vielleicht auch daran liegen, dass die ganzen Benutzerprofile aus dem Netzwerk geladen werden, da ist der Zugriff teilweise wirklich lahm, aber trotzdem find ich, dass das ganze einfach zu instabil läuft.

Bei meiner Kiste (AMD Athlon 64 3500+, WinXP Home SP2) läuft die Delphi7 IDE bei weitem am stabilsten. Im Gegensatz zu Delphi8, Delphi2005 oder Delphi 2006.
Vielleicht ist das auch der Vorführeffekt. :D Oder Win98? Oder es liegt an deinem genannten Grund. ;)
 
Original von +++ATH0
Aha. Ineffizient also? Ist das Empirie oder woher hast du das?
Richtig, Empirie.
Delphicode braucht länger als C++ Code um eine x-beliebige Rechnung auszurechnen. Kann man ja mal selbst ausprobieren, Primzahlen ausrechnen lassen und dann mit Timer messen. Und was schon angesprochen wurde, Delphi-exe-Dateien sind um ein vielfaches größer als in C++ geschrieben Dateien, die dasselbe Problem lösen.
 
Du kennst dich also eindringlich mit beiden Compilern und der Compileroptimierung aus? Mit beiden Sprachen so gut, dass du jeweils die beste Implentation wählen kannst? NON-VCL Programmierung? Wie man Performance von Code richtig misst? ASM-Inline Optimierungen kannst du sicher vornehmen? Wissen wieviele Takte jeweils welche Befehl usw. braucht...und und und?
 
Original von +++ATH0
Du kennst dich also eindringlich mit beiden Compilern und der Compileroptimierung aus? Mit beiden Sprachen so gut, dass du jeweils die beste Implentation wählen kannst? NON-VCL Programmierung? Wie man Performance von Code richtig misst? ASM-Inline Optimierungen kannst du sicher vornehmen? Wissen wieviele Takte jeweils welche Befehl usw. braucht...und und und?
Ich kann auch ohne Fachgesimpel sagen, was gut und schlecht ist. Zeit ist Geld und Speicherplatz ist Geld. Will man sein Geld verschleudern, kann man ja Audi fahren. Ist zwar super, dass der Audifahrer dann von NON-VCL,ASM-Inline,Compileroptimierung,Performance-von-Code-messen groß reden kann aber ich fahr trotzdem Opel.
 
Als Delphianer finde ich, dass da sich bei den meisten D. Entwicklern zu wenig an Standarts (gerade GUI) gehalten wird und das Rad zig mal neu erfunden wird. Naja und Delphi zwingt dich halt nicht zu OOP, kann Segen aber auch Fluch sein...

Ich finde Object Pascal einfacher zu lesen als C (für Einsteiger) aber C ist natürlich smooth, wenn man nahe an die Hardware ran will.

Ansonsten IMHO ne sehr schöne Sprache! By the way, schaut euch mal Lazarus.freepascal.org an :-)
 
@01 STANDAR_D_

Also, ich persönlich mag die Syntax nicht. Ist warscheinlich gewöhnungssache, aber die Variablen "irgendwo" deklarieren können ist mir lieber...

Beispiel für das was ich nicht mag:

Code:
--------------SNIP--------------
procedure foo(blablub)
var
     i : Integer;
     j : whatever:
begin
     for i := 10 downto 0 do 
     begin
         wasauchimmer();
     end;
end;
--------------SNIP--------------

So in der Art - das gefällt mir rein subjektiv nicht, aber das ist natürlich Geschmacks/Gewöhnungssache.
 
Wie jede Sprache hat Delphi seine Vor- und Nachteile. Grösster Nachteil in meinen Augen ist die schlechte Portierbarkeit auf andere Systeme (Kylix läuft mit aktuellen Linux-Versionen nicht mehr richtig und für MacOSX gibt es meines Wissens nicht mal einen passenden Compiler) und die "Oberflächlichkeit". Oberflächlichkeit ist hier nicht negativ gemeint. Mir fällt nur kein besseres Wort für eine Sprache ein, mit der man nicht direkt in's System eingreifen kann, wie es z.B. mit C/C++ möglich ist. Kurz gesagt: Delphi gehört zu den Sprachen, mit denen es nicht oder nur schwer möglich wäre z.B. einen Treiber zu schreiben oder andere Sachen, die tief in's System eingreifen.
Die Syntax ist reine Gewöhnungssache, wie bei jeder anderen Sprache auch. Wer mit Delphi angefangen und jahrelang gearbeitet hat, wird C genauso grauenvoll finden, wie ein C-Entwickler Delphi meist nicht mag. Programmiersprachen sind halt Geschmackssache und es kommt immer darauf an, was man damit machen will. Für RAD ist Delphi jedenfalls ideal. Trotz der grösseren Binaries laufen die Programme auch meist schneller, als vergleichbare C++-Applikationen.
Delphi zwingt den Entwickler halt regelrecht sich an einen sauberen Stil zu halten und darin sehe ich nicht unbedingt Nachteile.
 
Ich kann auch ohne Fachgesimpel sagen, was gut und schlecht ist. Zeit ist Geld und Speicherplatz ist Geld.

Du hast mich nicht ganz verstanden. ;)
Ich kann in C eine völlig hirnrissige Implementation einer Primzahlfindung schreiben und sie in Delphi besser umsetzten. Dann würde ich eine bessere Zeit in Delphi messen, was 0 aussagt. Um also Effizienz beurteilen zu können muss man oben genanntes Fachwissen haben und vor allem eine solide Sprachkenntnis in beiden Sprachen.
Kann natürlich sein, dass du das hast. Dann alle Achtung.


Delphi gehört zu den Sprachen, mit denen es nicht oder nur schwer möglich wäre z.B. einen Treiber zu schreiben oder andere Sachen, die tief in's System eingreifen.

Das ist vollkommen richtig. K-Mode Module lieber in reinem C.
 
Treiber programmieren wohl nur die wenigsten ;) (das killer_pro Argument für c++).
Und zur Portierbarkeit: Lazarus &FreePascal. Unkomplizierter gehts nicht.

Und mit Speicherplatz muss man heutzutage nicht wirklich geizen - vor allem wer jetzt in C++ eine GUI Anwendung macht, kommt in etwa auf dasselbe Level, wenn er alles schön statisch mitlinkt. Wer aber in Delphi in etwa denselben Aufwand wie in C/C++ in die GUI investieren möchte und alles z.B per WinAPI macht, bekommt auch dieselbe Größe heraus.

Nur dass eben Zeit = Geld ist und man in Delphi auch sehr anspruchsvolle GUIs sehr schnell zusammenschustern kann. Ob die Anwendung dadurch jetzt 800 KB statt 50KB groß ist, interessiert den Anwender doch gar nicht.

Ansonsten sollte man eine Sprache nicht nach einem Compiler beurteilen ;).
 
Original von CDW
Und zur Portierbarkeit: Lazarus &FreePascal. Unkomplizierter gehts nicht.

Hast du mal versucht einen Delphi-Code, der z.B. mit dbExpress eine DB-Verbindung aufbaut unter Linux mit fpc zu kompilieren? Oder Delphi-Code, der mit der ShellBrowser-Komponente arbeitet? Scheinbar nicht, denn sonst würdest du hier nicht von einfacher Portierbarkeit reden. Delphi ist nicht Pascal und die Umbenennung der Sprache von ObjectPascal zu Delphi hatte schon seine Gründe. fpc kann zwar mittlerweile mit dem Standard-Delphi-Kram, d.h. der Delphi-Syntax, komplett umgehen, aber sobald irgendwelche Komponenten genutzt werden, die nicht per Default bei Delphi dabei sind, oder die Netzwerk-Funktionalitäten nutzen, kannst du fpc vergessen.

Das mit den Treibern führte ich im Übrigen nur als Beispiel an. Für mich war es ein wichtiger Grund damals von Delphi/Kylix Abstand zu nehmen. Ich wollte mir halt, mit der von mir genutzten Sprache, alle Türen offen halten und im Laufe der letzten Jahre zeigte sich, dass ich gut daran getan habe.
 
ok also erstmal danke für das große interesse an diesem thema^^

Ich fasse mal zusammen was mir so hängengeblieben ist:

Vorteil:
Saubere, ordentliche Syntax (wobei gewöhnungssache...)
einfach und schnell GUI Anwendungen basteln
leicht zu lernen

Nachteil:
programme sind größer
Code wird langsamer verarbeitet
compiler scheisse^^

mein eindruck:

Ich sage erstmal kaum jemand wird hier sowas wie ein oomrpg oder so etwas programmieren, wo man merkt, dass der code langsamer verarbeitet wird. bei der heutigen prozessorleistung und speicherkapazität is das bei kleineren bis mittelgroßen anwendungen denke ich kaum ein unterschied. Mir kommt es teilweise nur so vor, dass viele auf delphi so rumhacken, weil es "unprofessionell" ist - sprich unkompliziert, schlüssig, einfach^^. Naja ist halt meine meinung.

Executor
 
Zurück
Oben