Forth Skill

Die Programmiersprache Forth ist eigentlich gar keine Sprache. Die Grammatik ist fast nicht vorhanden, aber jedes Wort darf sich seine eigene zusammenbasteln. Es ist fast sprachtransparent. Andererseits enthält es viele Elemente eines eigenständigen Betriebssystems mit eingebetteter Entwicklungsumgebung, so dass man Forth als Progammiersystem beschreiben kann. Es greift irgendwo von allem etwas auf.

Tatsächlich hat Forth dort den größten Erfolg, wie die meisten Betriebssysteme schon zu groß geraten sind - so ist das Openboot (etwa bei Apple Macs und Sun Sparcstations) eigentlich ein Forth. Auch die Java-Maschine (und deren Varianten) sind ähnlich gestrickt, da sie ja unabhängig vom unterliegenden Betriebssystem sind. Und Postscript ist dazu entworfen worden, als Spezialsystem in Druckern zu leben. Sie alle haben Ideen von Forth geborgt.

Ich selbst kam mit Forth in den frühen 1980ern in Kontakt. Das Basic der Homecomputer war für strukturierte Programmierung einfach nicht geeignet, und war noch dazu ziemlich langsam. Die meisten dieser Computer waren noch zu klein, um einen C Compiler zu tragen, geschweige denn eine Entwicklungsumgebung. Letztlich schrieb ich Programme anfangs oft in Assembler, bis ich dann Forth entdecke - und dank der erworbenen Assembler-Kenntnisse schrieb ich meinen ersten Compiler.

Diese uralte Kenntnis war ein Hauptgrund bei Tektronix eingestellt zu werden, da dort noch eine Unmenge an Forth-Quellen aus den 1980er existierten. Und nicht nur dort, sondern auch bei den Kunden. Letztlich muss ich aber sagen, dass Forth aussterben wird. Schon die wenigen Grundelemente der Sprache sind von der heute verbreiten Art verschieden (etwa Zeichenkettenbehandlung). Es wird schnell offenbar, dass hier kein Informatiker der Urheber war - jener sagte auch mal, dass er Forth nicht "erfand" sondern "entdeckte". Spätere Verbesserung krankten letztlich immer daran, dass sie zu vormaligem Code teilweise inkompatibel waren.

Projekte

Mein erstes Forth auf dem Atari 800 war selbst zum großen Teil in Forth geschrieben, und darauf aufgesetzt waren dann ein paar kleine Computerspiele. Aber diese Programme sind mittlerweile schon lange verloren - damals in den frühen 1980ern verwendete man noch Kassetten als Datenspeicher. Später Minidisketten. Nichts davon ist heute noch verfügbar. Mögen sie in Frieden ruhen.

Bei Tektronix bekam ich dann viele Jahre später den Auftrag, dass dortige Fig-Forth basierte System zu erweitern, und später ein neues portables Forth-System zu errichten, dass sich am jüngsten Forth-Standard (von 1992) orientierte. Die PFE (Portable Forth Environment) ist in blankem C geschrieben, und nutzt Spezialitäten des GCC mit Assemblerstücken aus, um möglichst schnell zu sein. Das System (bei Sourceforge öffentlich ausgelegt) ist über die Jahre stark angewachsen.

Letztes enthält allerdings C Code - keinen Forth Code. Natürlich wurde neue Applikation nicht in Forth geschrieben, aber es gab bei Tektronix vielfach Möglichkeiten, alte Programme umzuschreiben und zu erweitern. Bis heute erhalte ich hier Aufträge von Tektronix, da sich kaum jemand mit Forth noch so gut auskennt - noch gesteigert durch den Umstand, dass ich die das dort verwendete Forth-System (allein) entwickelt habe.