En muchos idiomas (una lista amplia, de C a JavaScript):
- comas
,
argumentos separados (por ejemplo,func(a, b, c)
), mientras que - punto y coma
;
instrucciones secuenciales separadas (por ejemplo,instruction1; instruction2; instruction3
).
Entonces, ¿por qué se invierte esta asignación en los mismos idiomas para para bucles ?
for ( init1, init2; condition; inc1, inc2 )
{
instruction1;
instruction2;
}
en lugar de (lo que me parece más natural)
for ( init1; init2, condition, inc1; inc2 )
{
instruction1;
instruction2;
}
?
Claro, for
no es (generalmente) una función, pero los argumentos (es decir, init
, condition
, increment
) se comportan más como argumentos de una función que como una secuencia de instrucciones.
¿Se debe a razones históricas / a una convención, o hay una buena razón para el intercambio de ,
y ;
en bucles?