Forth es un lenguaje interpretado basado en un stack, una pila, esto quiere decir que el programador tiene control absoluto de los valores que entran o salen de la pila, que es una estructura de datos en donde el primer elemento que entra es el último en salir. Curiosamente, con el 14 de febrero, para el día de San Valentín, el cual usa “emojis”, es decir, emoticones, en lugar de las palabras del diccionario de Forth.
Por ejemplo, el programa para calcular el factorial de un número se escribe en Forth tradicional de la siguiente manera:
: factorial 0 swap begin dup 1 – dup 1 = until
begin * over 0 = until swap drop ;
5 factorial .
>>> 120
En HeartForth se ve así:
- Es extremadamente compacto. Muchos programas complejos caben en un tuit, por ejemplo.
- Una clara separación visual entre programa y datos. No se necesitan editores que coloreén la sintaxis.
Los lenguajes tipo Forth son interesantes porque el manejo directo del stack da para algunos programadores una facilidad que prácticamente ningún otro lenguaje otorga. De hecho, en general, el stack no es accesible directamente en muchísimos lenguajes imperativos.
Quizás el HeartForth es una curiosidad del 14 de febrero, pero tal vez podría funcionar para interesarnos un poco en este tipo de lenguajes de programación, que tienen sus propios méritos y cuyo paradigma es diferente al que hallamos tradicionalmente en programación.
Referencias: