Zitat von
Cöster:
{ und } statt begin und end. Dadurch, dass es nur ein Zeichen ist, nimmt es weniger Platz weg und eine Zeile in der nur "}" steht wirkt schon fast wie eine Leerzeile im Gegensatz zu einer Zeile in der ein ganzes Wort wie "end" steht. Dadurch ist keine weitere Leerzeile zur Strukturierung des Codes nötig und die Struktur springt sehr gut ins Auge.
Reine Geschmacksache. Man gewöhnt sich an beides.
Zitat:
Variablen/Methoden müssen nicht extra in einem gesonderten Abschnitt deklariert werden. Dadurch spart man sich Zeilen und man hat die Deklaration gleich dort stehen, wo die Variable im Code verwendet wird.
Das finde ich gerade gut. Dadurch, dass alles im Interfaceteil deklariert ist hat man einen sehr schönen überblick über die Klasse. Bei C# brauche ich entweder ein
IDE-Feature oder ich muss durch den ganzen Quellcode scrollen. Auf der anderen Seite würde ich mir in Delphi auch mancmal wünschen Variablen direkt im Quelltext deklarieren zu können, um ihre Sichtbarkeit so weit wie möglich einschräbnken zu können.
Zitat:
Operatoren lassen sich überladen. Mit überladenen Operatoren kann man Code besser lesbar machen imo
Habe ich keine Erfahrung mit.
Zitat:
Es gibt einen Garbage Collector, man spart sich also Zeilen zum Freigeben von Objekten
Also das Zeilen sparen ist wohl eine ziemlich doofe Begündung. Eine garbage Collection hat Vorteile, aber auch Nachteile. Ein Vorteil iunteranderem ist, dass man sich keine Speicherlecks einhandelt. Auf der anderen Seite kann sie aber auch dazu verleiten schlampig zu programmieren. Bin ich selber für den Speicher verantworlich, habe ich eine größere Kontrolle, muss aber auch sorgfälltiger arbeiten.
Zitat:
Case-Sensitivität: Indem man Parameter und Variablen mit einem Kleinbuchstaben beginnen lässt und Typen und Methodenbezeichner mit einem Großbuchstaben, sind Präfixe wie "T" für Typen oder "F" für Felder nicht mehr nötig
Auch wieder reine Geschmackssache.
Zitat:
Die foreach-Schleife macht das Durchlaufen von z. B. Arrays ohne Laufvariable möglich
Gibt es mittlerweile auch in Delphi.
Zitat:
Zeichen statt Wörtern sind einfacher zu lesen, z. B. += statt Inc(), ! statt not, & statt and etc. Ganze Wörter hierfür zu benutzen wie in Delphi, ist ja fast so schlimm als würde man in Mathe "plus" schreiben statt das Zeichen + zu benutzen. Durch die Verwendung von Zeichen für Operatoren und Wörtern für Operanden heben sich diese besser voneinander ab
Auch wieder reine Geschmackssache. Aber findest du das gut:
Code:
for(;P("\n"),R--;P("|"))for(e=C;e--;P("_"+(*u++/8)%2))P("| "+(*u/4)%2);
Ok, das ist jetzt C, aber mit C# wahrscheinlich auch möglich.
Zitat:
Ich vermute aber, dass es genauso gut andersrum Vorteile von Delphi gegenüber C# gibt. Welche sind diese?
Pascal wurde ursprünglich als Lehrsprache entwurfen und das sieht man dem heutigen Delphi auch noch an. Und ich finde gerade durch diese nicht kryptischen Zeichen, sondern die Verwendung von ganzen Wörtern (begin, end, Inc, ...) finde ich sie leicht zu lernen. Man schreibt, was man spricht. Das fängt schon bei nicht mathematisch korrekten verwendung des Gleichzeichens unter C+ an:
In C# entspricht ein Gleichzeichen einer Zuweisung. Das ist mathematisch falsch. Denn:
ist mathematisch falsch. Die linke Seite ist eben nicht gleich der rechten Seite. Da ist die Pascal Lösung mit dem ":=" besser. Mathematisch korrekt wäre ein Pfeil, der lässt sich aber schlecht darstellen. Das mit dem Austrufezeiuchen hat ja Hansa schon erwähnt.