morp2: Was soll denn das jetzt? Es *gibt* kein Argument für 'C'. Entweder Du magst es, oder nicht. Ich finde 'C' zum
, aber das weißt du ja nun. Ich programmiere seit 30 Jahren, teilweise auch in C. Und mich mag es nicht. Ich bevorzuge Delphi nicht nur, sondern mag die Asthetik, die mir sonst kein Code bietet. Vielleicht ist das Altersstarrsinn oder Gewohnheit. Es ist mir egal. Da ich beide Welten kenne, erlaube ich mir ein abschließendes Urteil : C(++) kommt mir nicht ins Haus.
Eine einzige Sache allerdings fehlt in Delphi: #define.... Sonst vermisse ich Nichts, sondern im Gegenteil: Die Compiler-Magic, die mir viele mühsehlige und fehleranfällige Aufräum- und Initialisierungsarbeiten ersparen, will ich nicht mehr missen. Wenn ein befreundeter C-Programmierer mit Variants arbeiten soll, hat er mehr Probleme als ich. Aber wenn ich maschinennah irgendwelche hochperformanten Minialgorithmen umsetzen muss (
ASM gült nicht), schiele ich auf C,weil ich mir einbilde, das C hier ein paar % besser ist.
Bitte hör auf, mit irgendwelchen peinlichen 'Argumenten' dein C zu verteidigen, bringt doch nix:
Zitat von
morp2:
Zitat von
Bernhard Geyer:
In Delphi/Pascal sind Funktionsbezeichner oft verständlicher oder auch ohne Handbuch/Onlinehilfe zu erraten.
Jeder der in Delphi programmiert gibt seinen Funktionen automatisch sinnvolle Namen?
Ja, tendentiell. Wenn ich mich im Umfeld von Abkürzungen und Sonderzeichen befinde (C mit int, {, ++ etc.) neigt man dazu, den Variablen kurze kryptische Namen zu geben. In Umgebungen mit ausgeschriebenen Wörtern nimmt man eher längere Namen. Natürlich gibt es auch C-Code mit guten Variablennamen und Delphi-Code mit schrecklicher Nomenklatur, aber in der Tendenz ist es schon so, wie Berhard sagt.
Zitat von
morp2:
Zitat von
Bernhard Geyer:
Ich kenne C-Headerdateien mit folgenden Inhalt ...
Und wenn nun auf True verglichen wird aber 2 zurückkommt ist man aufgeschmissen..
Das ist ein klassischer Anfängerfehler.
Nein, ist es nicht. Das ist ein typischer "1.000 Zeilen und wir finden den Fehler nicht"-Fehler. Es gibt leider keinen expliziten boolean-typen. Eine Funktion, die nur 0/1-liefert *sollte*, garantiert mir leider nicht, das sie das auch wirklich tut, eine Delphi-Boolean-Funktion schon.
Verstehst Du? C gibt dem Programmierer viel (
imho: zu viel) Initialitive und Verantwortung in die Hand. Das mag damals bei Kernighan und Richie noch richtig gewesen sein (nämlich dem Dogma der starren veralteten Programmiersprachen zu entkommen), ist aber heute total überholt.
Wenn deine Anwendung
GUI-lastig ist, verwende lieber Delphi. Die
VCL und die angebotenen 3rd-Party-Komponenten sind einfach besser als die, die für C erhältlich sind.
Wenn deine Anwendung
API-lastig ist (also Funktionalität implementiert, und keine
GUI), dann nimm lieber C, weil für C einfach mehr Libraries auf dem Markt sind.
Und wenn schon eine Alternative zu Delphi, dann lieber C# oder Java, ehrlich. C ist veraltet.