Hoppla, hab’ da gerade ein „C“ unter dem Tisch gefunden! 😁
Und: es ging mir ja „nur“ im ästhetische Aspekte im und um den Quelltext. (Aber die sind doch bestimmt auch Argumente für so manches Stück Sprachzucker gewesen?)
Bleibt nur die if/switch/else-Frage: doch, ich finde schon, daß da ein swtich() in mancher Hinsicht hilfreich und auch arbeitssparend sein kann. Weil es, wenn es an passenden Stellen verwendet wird, die logische Stuktur deutlicher zeigt als ein „if/else if/if/else if/else if else else … Monster“
Und: es kann bei der Fehler-Abwehr helfen. Weil die Fallunterscheidung nicht so leicht (versehentlich) getrennt werden kann:
x = doSth();
if(x < 0) { … }
/*else?*/ if(x == 0) { … }
/*else?*/ if(x > 0) { … }
wehrt sich wenig gegen „Vandalismus“ wie
x = doSth();
if(x < 0) { … }
let y = x;
x = doSthElse();
/* da ist nix mit else! */ if(x == 0) { … }
/*else?*/x = -y;
if(x > 0) { … }
Natürlich kann man da auch „elsen“. Aber schon schielt womöglich das Monster um die Ecke?