¿Por qué Forth usa IF statement THEN ... en lugar de ENDIF?¿Por qué usa Forth IF ENTONCES ... en lugar de ENDIF?
Estoy implementando un compilador Forth (no conforme). Básicamente, la sintaxis de Forth parece muy contraintuitiva para mí con respecto a las declaraciones IF.
IF ."Statement is true"
ELSE ."Statement is not true"
THEN ."Printed no matter what;
¿Por qué es la declaración poniendo fin a una THEN
? Esto hace que el lenguaje sea extremadamente extraño para mí. Para mi compilador, estoy considerando cambiarlo a algo como ENDIF
que dice más natural. Pero, ¿cuál era la razón detrás de tener declaraciones IF-THEN al revés en primer lugar?
¿Alguien piensa que esto sería más adecuado para los programadores.se? – Earlz
Tendrás que preguntarle a Chuck Moore. Nadie más sabrá la respuesta. [Aquí dice cuando presentó "El postfix condicional criticado alguna vez"] (http://www.colorforth.com/HOPL.html). –
Si no estoy muy equivocado, hay (o, tal vez, hubo) implementaciones (no puedo recordar cuál en este momento, lo siento) donde ENDIF se definió como una especie de sinónimo de ENTONCES, lo que significa que usted no es el primero para encontrar la secuencia de 'IF-ELSE-THEN' un poco demasiado inusual. Yo, nunca he tenido un problema con eso, sin embargo. (Creo que vi una explicación para esto en algún libro hace mucho tiempo, y estaba en la línea de @AshleyF ha dicho en su respuesta.) –