In vielen Sprachen (eine breite Liste von C bis JavaScript):
- durch Kommas
,
getrennte Argumente (zBfunc(a, b, c)
), während - Semikolons
;
trennen sequentielle Anweisungen (zBinstruction1; instruction2; instruction3
).
Warum ist diese Zuordnung für for-Schleifen in denselben Sprachen umgekehrt :
for ( init1, init2; condition; inc1, inc2 )
{
instruction1;
instruction2;
}
statt (was mir natürlicher erscheint)
for ( init1; init2, condition, inc1; inc2 )
{
instruction1;
instruction2;
}
?
Sicher, for
ist ( in der Regel) keine Funktion, sondern Argumente ( das heißt init
, condition
, increment
) verhalten sich eher wie Argumente einer Funktion als eine Folge von Anweisungen.
Liegt es an historischen Gründen / einer Konvention oder gibt es eine gute Begründung für den Austausch von ,
und ;
in Schleifen?
;
nicht |
?" (oder Warum verwenden wir "sonst" nicht "anders"? )), die nicht für eine Sprache, sondern für eine große Anzahl von ihnen gilt. Eine Antwort, die z. B. "in C als Kurzform für while-Schleife erstellt wurde (und mehrere Anweisungen für inc wurden erst später in Betracht gezogen), und die nicht geändert werden sollte, um Irritationen der Programmierer zu vermeiden", wäre vollkommen in Ordnung.