AW: Delphi ist unbeliebt...angeblich
Um auf das "unbeliebt" zurück zu kommen, viele BASIC-Programmierer mokieren sich über die Definitionsorgien unter
Delphi-Quellcode:
...
const,type,var
bis sie sich in etwas mehr als 200 Zeilen zurecht finden müssen um einen unerklärlichen Fehler zu finden.:mrgreen: Und hinterher steif und fest behaupten das wäre im allg. nicht nötig und nur in diesem Spezialfall notwendig. Gruß K-H |
AW: Delphi ist unbeliebt...angeblich
Zitat:
|
AW: Delphi ist unbeliebt...angeblich
Zitat:
|
AW: Delphi ist unbeliebt...angeblich
Zitat:
|
AW: Delphi ist unbeliebt...angeblich
@joachimd: :thumb:
|
AW: Delphi ist unbeliebt...angeblich
Zitat:
Unsere größte App brauchte z.B. in XE8 etwa eine Stunde Kompilierzeit... seitdem ist das ganze aber immerhin etwas schneller geworden. |
AW: Delphi ist unbeliebt...angeblich
Zitat:
|
AW: Delphi ist unbeliebt...angeblich
Nein, noch nie. Ich habe nur mal die Wikipedia-Artikel zu den drei Spitzenreitern gelesen, und:
Zitat:
|
AW: Delphi ist unbeliebt...angeblich
Also wenn Perl einfach zu erlernen ist, dann kann Regular Expressions jedes Kleinkind...
|
AW: Delphi ist unbeliebt...angeblich
Zitat:
Programming Perl Programming Pearls |
AW: Delphi ist unbeliebt...angeblich
Zitat:
Zitat:
Zitat:
Zitat:
|
AW: Delphi ist unbeliebt...angeblich
Zitat:
|
AW: Delphi ist unbeliebt...angeblich
Zitat:
|
AW: Delphi ist unbeliebt...angeblich
Zitat:
Aber ich gebe Dir recht, ohne Spring4D ist FPC na ja... ;-) Oder heist das dann Spring4F ? |
AW: Delphi ist unbeliebt...angeblich
Zitat:
FPC 2.2 hatte Ende 2007 experimentelle Unterstützung für Generics, Delphi 2009 dann ein Jahr später ebenfalls. In beiden funktionierten Generics erst im Laufe der Zeit immer besser, aber die Umsetzung in Delphi 2009 funktionierte bei meinen Experimenten auf Anhieb deutlich besser. Zumal in FPC als einziger (?) Sprache ein extra Schlüsselwort generic (vollkommen unnötigerweise, wenn man sich mal den Syntaxbaum anschaut) dafür eingeführt wurde. |
AW: Delphi ist unbeliebt...angeblich
Zitat:
Und vermutlich wird es, wenn Attribute in FPC Einzug halten auch eine alternative Syntax statt der mit den eckigen Klammern geben, das bemäkeln auch einige in Delphi, dass man sich da 1:1 an C# orientiert hat. Was mich zu dieser "Pascal/Delphi ist lesbarer, weil es begin/end" hat Argumentation bringt, ich möchte mich jedesmal erschießen, wenn ich das höre. Als ob begin/end und Variablen am Anfang einer Routine Code irgendwie lesbarer macht, als wenn ich geschweifte Klammern und eine inline Variable an genau der Stelle wo ich sie brauche habe. Das ist imo wie Fremdenfeindlichkeit - "Syntax in Sprache Y ist nicht wie in Sprache X, die ich gern habe, daher mag ich Y nicht". |
AW: Delphi ist unbeliebt...angeblich
Also ich finde Klammerorgien in jeder Sprache......
Daß das bei den "C"-Dialekten noch etwas ausgeprägter ist als in anderen Sprachen macht es nicht besser. Wenn Du allerdings einen Font hast, der die Lesbarkeit besser unterstützt, dann reden wir noch mal drüber. Gruß K-H |
AW: Delphi ist unbeliebt...angeblich
Zitat:
Und befragt wuren natürlich die, welche das Produkt regelmäßig nutzen und daher die Herstellerwebseite besuchten. Zitat:
Außerdem "ein User" ... braucht man nicht mindestens zwei, damit es erfolgreich endet? Und wieviele neue User gibt es in den 11 Minuten? (natürlich viel mehr, als sich verlieben, also geht die durchschnittliche individuelle Chance dennoch gegen 0) So viel zu Statitsiken. Traue keiner Statistik, die du nicht selber manipuliert hast. |
AW: Delphi ist unbeliebt...angeblich
Hm, Pascal ist teilweise so läääänglich, aber das ist nicht schlecht. Vielleicht mache ich zu viel Delphi, aber manchmal finde ich eine vier Zeilen lange anonyme Methode trotzdem lesbarer als ein kurzes Lambda.
Delphi-Quellcode:
vs.
uses
System.Generics.Collections, System.Generics.Defaults; [...] var values: TBytes; compareDescending: IComparer<Byte>; begin values := [1, 3, 2]; compareDescending := TComparer<Byte>.Construct( function(const left, right: Byte): Integer begin Result := (right - left) end ); TArray.Sort<Byte>(values, compareDescending); end.
Code:
Ist aber natürlich schon ein starkes Stück. Grade für triviale Dinge wird es oft so aufgebläht.
using System;
byte[] values = new byte[] { 1, 3, 2 }; Array.Sort( values, (l, r) => r-l ); // sort descending Ob man nun begin/end, Klammern oder Emojis für Blöcke nimmt, darüber wird sich ja niemand ernsthaft streiten wollen. |
AW: Delphi ist unbeliebt...angeblich
Bei Arrays geht es nicht, wenn man nur den Feldtyp übergibt, aber
Delphi-Quellcode:
kann man auf
TClass.Method<Xyz>(value{: Xyz});
Delphi-Quellcode:
kürzen.
TClass.Method(value{: Xyz});
Geht aber nur bei der Methode und nicht für eine ganze Klasse.
Delphi-Quellcode:
.
TClass<Xyz>.Method(value{: Xyz});
|
AW: Delphi ist unbeliebt...angeblich
Zitat:
Code:
Und in der Form ist es dann nicht mehr so viel kürzer als Delphi.
delegate(byte left, byte right)
{ return (right - left); } |
AW: Delphi ist unbeliebt...angeblich
Zitat:
Problem 1: in der RTL bietet TArray.Sort keine Überladung für TComparison<T>, so dass man das schreiben könnte:
Delphi-Quellcode:
Lösung: Spring.pas nutzen (oder selbst schreiben meinetwegen), das fügt diesen Oberload hinzu.
TArray.Sort<Byte>(values,
function(const left, right: Byte): Integer begin Result := (right - left) end); Problem 2: Anonyme Methoden sind halt keine Lamdbas und der Compiler ist dämlich (entschuldige, ich meine single pass mit begrenztem Look ahead), so dass er nur sehr begrenzt Type Inference betreiben kann und er somit die explizite Angabe der Signatur braucht um das dann in die entsprechende Methode zu packen. Der C# Compiler geht da vereinfacht ausgedrückt hin und nimmt erstmal die Lambda auseinander und konstruiert daraus dann die Signaturen und testet sie gegen die möglichen Overloads der aufzurufenden Methode (Eric Lippert erklärt das etwas in seinem Blog etwas besser - gibt noch zahlreiche weitere Artikel von ihm zu der Thematik). Zitat:
Zusätzlich gibt es keine Möglichkeit, eine Variable direkt mit einem Sinnvollen Wert zu befüllen. D.h. sie ist entweder solange in einem undefinierten Zustand (managed Typen mal ausgeklammert), bis ich ihr einen Wert zuweise. Was dazu führt, dass man entweder Unsinnscode schreibt, um erstmal alles auf Null/Leer zu setzen oder Bugs in Kauf nimmt oder auf den Compiler hofft, einem die Verwendung einer unitialisierten Variable aufzuzeigen (was im übrigen z.B. in C# by default ein Fehler und nicht nur eine Warnung ist). |
AW: Delphi ist unbeliebt...angeblich
Zitat:
Sherlock |
AW: Delphi ist unbeliebt...angeblich
Also, weil ich in letzter Zeit µC programmiere muss man ein wenig C/C++ konnen und was soll ich sagen
Eclipse ist Open Source aber es hat seine Krankheiten und undefiniertes Verhalten hin und wieder. Microsoft Visual Studio ist meiner Meinung zum vergleich mit Delphi einfach nur schlecht. Außerdem haben die nicht so ein tolles Forum wie dieses hier. LOL:thumb: |
AW: Delphi ist unbeliebt...angeblich
Zitat:
Der Vergleich, eigentlich beide, hinken also. |
AW: Delphi ist unbeliebt...angeblich
|
AW: Delphi ist unbeliebt...angeblich
und es gibt da noch ein paar Männer mehr mit Foren ...
z. B.: Entwickler-Ecke und Delphi-Treff :wink: |
AW: Delphi ist unbeliebt...angeblich
Ich habe von diesem Forum geredet und kann das mit anderen Foren vergleichen,
ich habe mal eine Noop Frage bei PHP gefragt und da bekommt man als Antwort, lerne das erst richtig dannn kannst Du fragen. Den Script habe ich hinbekommen, aber lernen wollte ich PHP deshalb nicht. Was mich nur an Delphi stört, da hätte man was an der Syntax ändern können zum Beispiel finde ich es toll in so vielen anderen Sprachen mit Klammer das begin{ end} zu machen, warum hat sich da die Pascal Syntax nicht weiter Evolutioniert. Auch die for (i = 0;i<5;i++) Syntax finde ich besser als in Pascal. Ich glaube wenn da jemand dahinter gewesen wäre um Pascal Moderner, der Zeit anzupassen wäre Pascal auch bei den jüngeren populärer. Also Java ist doch der lezte Dreck und ich konnte mich nie dafür begeistern. Have a good one |
AW: Delphi ist unbeliebt...angeblich
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
|
AW: Delphi ist unbeliebt...angeblich
Zitat:
Code:
Im Grunde war Delphi also schon gnadenlos veraltet, als es 1994 das Licht der Welt erblickte.IF Index1 < 4 THEN (* Simple IF statement *) WriteString("Index1 is less than 4."); WriteInt(Index1,4); WriteLn; END; (* end of first IF statement *) |
AW: Delphi ist unbeliebt...angeblich
Die Pascalvariante von Wirth unterscheidet von dem Pascal/Delphi von heute stark.
Bei Wirth führte Weiterentwicklung jeweils zu einer neuen Sprache. Turbo-Pascal/Delphi hatte von Anfang an alle Weiterentwicklungen von Pascal->Modula->Oberon beherrscht, natürlich nicht unbedingt die Syntaxänderungen, teilweise weiß man es nur nicht ( else statt otherwise) In modernen IDEs werden die Blöcke (begin ..end) sowieso automatisch eingefügt. Zudem empfinde ich das Fehlen des begin bei Vorhandensein persönlich komisch. |
AW: Delphi ist unbeliebt...angeblich
Auch aus meiner Sicht ist man mit C & Co. wesentlich flexibler, und diese erlauben insgesamt einen kompakteren Quellcode. Dosiert hätte man m.E. durchaus auch am "Eingemachten", d.h., an der Ur-Syntax, die ja noch von Pascal (und davor von Algol) abstammt, etwas verändern können. Wollte man wohl nicht. Dennoch bleibe ich lieber bei Delphi.
|
AW: Delphi ist unbeliebt...angeblich
Mich hat das begin/end eigentlich nie sonderlich gestört, aber in Kombination mit anonymen Funktionen finde ich es extrem hässlich.
Ich glaube, die Stärke von C ist einfach, dass die Sprache extrem anpassbar ist, zum einen durch die kompakte Syntax mit wenigen Schlüsselworten, zum anderen durch die mächtigen Macros. Man kann extrem viele Features aus moderneren Sprachen in C mit Macros nachbilden, an die zum Zeitpunkt der Erfindung von C noch niemand gedacht hat. Das reicht von Objektorientierunng bis hin zu Coroutinen und DSLs. In Pascal muss immer die ganze Sprache angepasst werden. Und umgekehrt veralten manche Sprachfeatures veralten auch einfach. Man denke an die Pascal-File-Routinen (file of byte, Assign und Co.). Ist alles mal gut gemeint gewesen, aber hat den Test der Zeit nicht bestanden. Trotzdem wird dieser Ballast mitgeschleppt. Das ist der Philosophieunterschied zwischen Pascal und C/C++. In Pascal versucht man so viel Funktionalität wie möglich in den Compiler einzubauen, in C versucht man, die Funktionalität eher minimalistisch zu halten, aber die Sprache so zu gestalten, dass man als Programmierer leicht Features nachrüsten kann. Das sieht man z.B. auch in C++. Während in Pascal Strings und dynamische Arrays spezielle Datenstrukturen mit Compilermagic sind, ist das ganze in C++ über Klassen abgebildet. Die Sprache hat aber Features, durch die man diese Klassen genau so komfortabel verwenden kann, z.B. durch direkte Zuweisungen von String-Literalen (z.B. std::string foo = "bar"). Diese Features ermöglichen aber nicht nur die komfortable Verwendung von Strings, sondern eröffnen darüber hinaus viel weitergehende Möglichkeiten, die in Pascal gar nicht möglich wären. |
AW: Delphi ist unbeliebt...angeblich
Die Sprache ist das eine, die Programmierumgebung das andere.
Mich stört an Delphi die mangelnde Flexibilität des Debuggers. Da ich viel mit Arrays arbeite, vermisse ich flexible Darstellungsformen, wie ich sie von C++ und Java kenne. Angenommen, man hat ein großes Array mit nicht gar zu kleinen Records. Gibt man die Arrayvariable beim Debugger als zu überwachende Variable ein, erscheint das Array ab 1. Element (gewönlicherweise mit 0 indiziert) mit allen jeweiligen Recordeinträgen in einer Zeile(!). Nicht nur, daß das extrem unübersichtlich ist, nein, es bricht auch recht bald ab. In den C-Sprachen werden die Arrayeinträge schön zeilenweise, auf Wunsch auch mit fast beliebiger Anzahl, ausgestellt. Möchte man z.B. bei einem Array die Elemente indiziert 100 bis 200 schön nacheinander ansehen, ist sehr viel Handarbeit angesagt. Und da fehlt gleich die nächste Flexibilität: Weder kann man Variablenlisten aus dem Überwachungsfenster exportieren noch in dieses importieren. Dennoch ist das Programmieren mit Delphi insgesamt sehr flexibel und bequem. |
AW: Delphi ist unbeliebt...angeblich
Zitat:
Was die Anzeige eines Teilbereichs des Arrays betrifft, so geht das auch relativ einfach: Nehmen wir an, wir haben eine Array Variable so deklariert:
Delphi-Quellcode:
Nehmen wir weiter an, das Array habe 1000 Elemente und wir wollen die Elemente 100 bis 109 überwachen. Dann gibt man unter Ausdruck
var
arr: TArray<Double>;
Delphi-Quellcode:
und bei Wdh-Zähler
arr[100]
Delphi-Quellcode:
an. Leider wird das Ergebnis nur in einer Zeile angezeigt und lässt sich nicht wie oben aufklappen.
10
Ein anderes, weitgehend unbekanntes Feature ist, daß man die Watches in Gruppen anordnen kann. |
AW: Delphi ist unbeliebt...angeblich
Zitat:
Man kann das Delphi Gebashe auch wirklich übertreiben. "Delphi gets the job done" was will man mehr? Syntaktischer Zucker? Also bitte. Ich habe keinen Bock zu jedem Delphi Release erstmal eine Woche die Schulbank drücken zu müssen, nur um mit den "ganzen tollen und unbedingt nötigen neuen Sprachfeatures" Schritt halten zu können. Delphi ist gut so wie es ist, abgesehen von einer lange fälligen IDE Überarbeitung (damit meine zB ich das rauswerfen der .net Altlasten), machen die Jungs und Mädels vieles Richtig. Klar könnten die Bugs zügiger beseitigen, und FMX läuft auch noch nicht so ganz rund, aber im großen und ganzen ist es ein vernünftiges Produkt mit einem vernünftigen Fahrplan. Sherlock |
AW: Delphi ist unbeliebt...angeblich
Zitat:
Das letzte mal als ich in einem Projekt mit C/C++ zu tun hatte waren die größten Probleme genau die2 "komfortable Verwendung von Strings". Bin ich froh das sowas in Pascal fast nicht möglich ist. Zitat:
Es wird schon was gemacht und die IDE einer 10.2 ist um welten besser als ein D8 oder 2005er Version. Zitat:
Aber ist auf jedenfalls besser als zu Zeiten als Borland sich zur Powerpoint-Company entwickelt hatte und die IDE-Sparte nur noch lästig war. |
AW: Delphi ist unbeliebt...angeblich
Zitat:
Daumen hoch. :thumb: |
AW: Delphi ist unbeliebt...angeblich
Zitat:
|
AW: Delphi ist unbeliebt...angeblich
Zitat:
Ich möchte noch anmerken , dass wenn man das Stack-Overflow-Ranking so betrachtet, der "Hassfaktor" mit dem Alter der Programmiersprachen zu korrelieren scheint. Die "Hipster-Sprachen" wie Rust, Kotlin, Swift usw. scheinen die wenigsten Feinde zu haben. Ist ja auch logisch, weil bisher kaum jemand was mit denen zu tun hatte. Also kann man auch nicht viel dran hassen. Es fehlt mir an dem Ranking eine Aussage über die Gründe. Die können durchaus unterschiedlich sein, weshalb Stack Overflow hier ein wenig Äpfel und Birnen vergleicht. Auf meinem ganz persönlichen Ranking stände z.B. Java ganz oben, dicht gefolgt von Javascript. Warum? Weil ich deren Syntaxen für schrecklich unelegant halte. Ich glaube dass es nicht unwahrscheinlich ist, dass einige Voter Delphi und Embarcadero in einen Topf warfen. Letztere kritisiere ich ja auch gelegentlich, wie ihr sicher wisst. Beruflich mache ich derzeit viel mit Javascript und jQuery. Das artet regelmäßig in furchtbar unübersichtliche Verschachtelungen anonymer Prozeduren aus. Ich mags übersichtlich, auch wenn das mit dem Preis etwas längerer Quelltexte erkauft wird. So hätte es bei Delphi für mich auch nie anonyme Prozeduren gebraucht. Methodenzeiger reichen für den Zweck auch völlig aus. So hat halt jeder sein persönliches Geschmäckle und Preferenz. Daher sollten wir uns geehrt fühlen, dass es anscheinend doch so viele Programmierer gibt, die schon mal mit Delphi zu tun hatten ;-) PS: Ich habe nicht alle elf Seiten des Threads gelesen, nur mal so am Rande bemerkt. Gut möglich dass manches schon mal gesagt wurde. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:37 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz