dass gerade bei mathematischen Quelltexten die Lesbarkeit / Übersicht durch die zusätzlichen Zeichen schlechter ist.
Der Operator ist aber auch nicht auf mathematische Quelltexte beschränkt:
Delphi-Quellcode:
var Item := if List <> nil then List.First
else nil;
Ich kann Pascal/Delphi Code sehr schnell erfassen, aber aus dem "?" ein
then
zu lesen und aus ":" ein
else
klappt einfach nicht. Die jetzige Lösung kann ich dagegen sofort umsetzen.
Ich hätte da wohl eher die ifthen()-Funktionen per Compilerschalter zum Ternary-Operator gemacht. Oder vielleicht stattdessen eine iif()-Funktion eingeführt. Aber das hätte natürlich zu Inkompatibilitäten für existierenden Code führem können.
Funktionen lösen das Problem nicht und eine unsichtbare Compiler-Magic ist auch nicht wirklich intuitiv. Es ist ja schon nicht mal sicher dass
inline
immer das macht was man erwartet.