Forth

Forth fue creado por Charles Moore en los años 60 desarrollando herramientas especializadas para varias aplicaciones. Fue formalizado como lenguaje para la automatización de telescopios cuando Moore trabajaba en el National Radio Astronomy Observatory, en 1970. Forth suele considerarse un lenguaje para aplicaciones científicas, sin alejarse mucho del campo en que se fraguó. Se considera especialmente adecuado para sistemas incrustados (en inglés, embedded).

Forth cuenta entre sus ventajas el ser pequeño (ocupa poca memoria), rápido y extensible. Y entre sus puntos débiles, que tiene una sintaxis extraña que lo hace difícil de aprender y posiblemente de usar (aunque sobre esto hay, como es natural, distintas opiniones). Una característica importante es que es un lenguaje basado en el uso de una pila (en inglés, stack). Por ejemplo, la sentencia equivalente a PRINT 5-3 (de BASIC) es 5 3 - ., donde 5 pone el número 5 en la cima de la pila, 3 pone el número 3 arriba del 5, - resta el elemento de la cima del que está debajo, elimina ambos operandos y pone en la pila el resultado, y . (punto) muestra el número de la cima y lo elimina.

Como ejemplo de las posibilidades de Forth, lo siguiente es la definición de una función para calcular el máximo común divisor de dos números, basada en el algoritmo de Euclides:

: GCD ( n n--n) BEGIN DUP WHILE TUCK MOD REPEAT DROP ;

Después de introducir esta definición, podemos interactuar así con el intérprete:

12345 32325 GCD .
15 ok

Una página con muchos enlaces sobre Forth (donde puedes encontrar aún más compiladores) es Forth Interest Group Home Page.

4tH es un pseudocompilador derivado de Forth para MS-DOS, Windows y Unix. Pensado inicialmente para crear lenguajes script para aplicaciones, se ha usado también como iniciación al lenguaje Forth. Se distribuye también el código fuente en C. El sitio web incluye un tutorial on-line.

ATLAST es un lenguaje muy parecido a Forth diseñado para ser incrustado en aplicaciones. Desarrollado por Autodesk, es actualmente de dominio público.

bigFORTH es un compilador bajo licencia GPL para Linux y Windows (versiones beta y pre-beta respectivamente).

CamelForth es un compilador para microprocesadores 8051, 8086, Z80 y 6809. Se inició como un proyecto educativo pero se ha hecho popular para sistemas incrustados. Se distribuyen versiones independientes para cada uno de los micros mencionados. La versión 8086 incluye código fuente en ensamblador y ejecutable MS-DOS. Se puede usar gratuitamente para fines no comerciales.

F-PC es un sistema FORTH de dominio público para MS-DOS. Tiene amplia documentación (aunque requiere conocimientos previos del lenguaje).

forth32 es un Forth de 32 bits para MS-DOS.

Forth interpreter source es un intérprete de Forth distribuido como código fuente en C, pensado para ser añadido a otro programa. Es gratuito para uso no comercial.

gforth es una implementación de Forth con licencia GPL para DOS, Win32, Linux y OS/2 conforme al estándar ANS Forth. En el sitio web se encuentra la documentación.

kForth, de Krishna Myneni (publicado por el Creative Consulting for Research and Education), es un intérprete Forth bajo licencia GPL. Hay versiones DOS, Windows y Linux. En el sitio web se encuentra el manual on-line, que también se puede descargar en un archivo zip.

lina es un Forth 32-bit ISO para Linux Intel.

Mops (de Michael Hore), es, en palabras de su autor, a robust and powerful public-domain development system for the Macintosh. With Forth and Smalltalk parentage, Mops has extensive OOP capabilities including multiple inheritance, and a class library supporting the Macintosh interface.

MVP-FORTH es un pequeño intérprete de dominio público para MS-DOS pensado para aprender el lenguaje. Incluye un completo tutorial (que puede consultarse on-line en Forth Guide). Usar GBHFORTH.COM o GBH4TH.COM.

pFORTH, de Phil Burk, es una versión de Forth escrita en ANSI C que se ha portado a multitud de plataformas. Es de dominio público, pero para bajarlo hay que rellenar un formulario (sólo el nombre y la dirección de correo). El sitio web contiene el manual de referencia y un tutorial de Forth.

Pigmy Forth para MS-DOS, de Frank Sergeant.

Pocket Forth es un pequeño compilador para sistemas Macintosh. Es especialmente adecuado para aplicaciones CGI.

Win32Forth es un sistema Forth para Windows 95 y NT. El autor (Tom Zimmer) advierte que no está libre de fallos, y que no contiene facilidades para la programación de Windows (o sea, hay que usar directamente la API).


Última revisión: 13 de octubre de 2002

Código XHTML 1.0 validado