El origen de la cuarta lengua
La mayor diferencia entre Forth y los lenguajes tradicionales es la extensibilidad. El proceso de programación de Forth consiste en definir nuevas palabras, y las palabras son en realidad nuevos comandos para el lenguaje. Una palabra se puede definir mediante una serie de palabras previamente definidas, lo cual es similar al proceso de educar a los niños: siempre les enseñamos nuevos conceptos a los niños usando conceptos que han entendido previamente, y estas palabras se denominan "definiciones avanzadas". De manera similar, también se pueden definir nuevas palabras mediante código ensamblador y, dado que la mayoría de las implementaciones de Forth incluyen el ensamblador del procesador host, estas palabras se denominan palabras de código.
El resultado de la escalabilidad es que al desarrollar una aplicación, también desarrollamos indirectamente un "lenguaje orientado a aplicaciones" especial para este tipo de aplicación, que puede ser utilizado por aplicaciones o modificaciones similares.
La extensibilidad de Forth no se trata solo de agregar nuevos comandos al lenguaje en sí, por lo que no equipare las definiciones con las definiciones tradicionales de funciones y procedimientos del lenguaje de alto nivel. La extensibilidad también puede crear una palabra que puede definir otras palabras. Esta palabra se llama "palabra definitoria". Al crear una palabra definida de este tipo, el programador puede especificar un comportamiento especial para la palabra que crea en tiempo de compilación, tiempo de ejecución o ambos. Esta capacidad nos permite definir tipos de datos especiales y tener un control total sobre su comportamiento y estructura. Debido a que el comportamiento de ejecución de esta palabra se puede definir en un lenguaje de alto nivel o lenguaje ensamblador, las palabras creadas al definir la palabra tendrán el mismo rendimiento que otras palabras de Forth. Este sistema también nos permite agregar una nueva "directiva de compilación" para implementar tipos especiales de bucles u otras estructuras de control, como las estructuras CASE.