pluto hat geschrieben:Den ? Operator würde ich dagegen auch für eine gute Sache halten, der fehlt mir in Pascal.
Das war Ironisch gemeint. Dann hätten wir das gleiche Probleme wie in C:
dass in Vergleichen Zuweisungen möglich sind.
1. Zuweisungen in Vergleichen wären manchmal sehr nützlich.
2. der ? Operator selbst ermöglicht keine Zuweisungen in Vergleichen. Wie soll das denn gehen?
3. Zuweisungen in Vergleichen sind über Seiteneffekte von Funktionsaufrufen in Pascal zwar nur umständlich machbar, aber prinzipiell auch jetzt schon möglich.
keine impliziten Typumwandlungen zuzulassen
Kannst du ein kurzes Beispiel geben, was das genau ist? Ist das eine "Direkte" Umwandlung wie StrToInt?
Nein, ich meine implizite Umwandlungen von integer nach real, byte zu integer etc.
mse hat geschrieben:Durch implizite Typumwandlungen gibt es schwierig zu erkennende Fehler in Ausdrücken.
Klar, es liegt immer in der Hand des Programmierers, Sprachfeatures vernünftig einzusetzen. Ein Sprachfeature zu streichen, weil Programmierer damit auch Mist machen können, halte ich generell für keine gute Idee. Mit Zeigern kann man grauenhaften Code mit schwierig zu erkennenden Fehlern produzieren, und auch mit goto kann man wirren, undurchschaubaren Code produzieren, wenn man es ohne Bedacht einsetzt. Würdet du deshalb Zeiger und goto abschaffen?
wp_xyz hat geschrieben:Es gibt IfThen, und das ist tausend mal verständlicher:
Das ist kein adäquater Ersatz für den Ternary Operator. IfThen ist eine Funktion, da werden zuerst beide Ausdrücke und der Vergleich ausgewertet und die Ergebnisse als Parameter übergeben.
funktioniert bestens (würde, wenn es das gäbe), während
bei einem String der Länge 0 einen Ausnahmefehler produziert.
Abgesehen davon finde ich persönlich diese Schreibweise nicht verständlicher, sondern eher schwerfälliger - aber das ist wohl Geschmackssache. Die Bedingung ist beim ternary Operator durch die Syntax (das ?) deutlich auf den ersten Blick erkennbar von den Werten getrennt, während bei ifthen die Bedingung und die beiden bedingten Ausdrücke nicht so gut unterscheidbar nebeneinander als Parameter der Funktion dastehen.
mse hat geschrieben:Wenn man Generics richtig machen will, geht die Sprachkomplexität schnell in Richtung C++ und das entspricht nicht den Zielen von MSElang.
Sind die Generics von Delphi und von Free Pascal deiner Meinung nach nicht "richtig gemacht"? Ich finde nicht, dass die Sprache dadurch sehr viel komplexer wird.
mse hat geschrieben:Die RTL wird Elemente enthalten, welche zusammen mit speziellen Compilereigenschaften Generics entbehrlich machen.
Da bin ich gespannt... Aber irgendwie wird es doch auf eine Art einer Generics - Implementierung hinauslaufen müssen, auch wenn du es dann anders nennst, oder?