Einführung in Forth


Was Forth ist, dass kann man bei Wikipedia oder beim Forth-ev nachlesen. Oder man konsultiert einfach die Webseiten von Mindforth. Man wird in der Regel jedoch keine Antworten finden sondern es werden sich weitere Fragen ergeben. Forth scheint eine Art von Labyrinth zu sein in dem man sich schnell und heftig verlaufen kann. Zur Verdeutlichung vielleicht ein kleines Beispiel. Auf https://www.youtube.com/watch?v=opoQvfxIwVk ist ein Video zu sehen, wo es um ein Forth Derivat (genauer gesagt APL) geht bei dem eine Art von Challange veranstaltet wird. Die Gewinnerin dieser Challange erzählt sehr ausführlich über ihre Erlebnisse. Eigentlich eine gute Sache möchte man vielleicht sagen, Programmierwettbewerbe sind immer etwas spannendes. Nur, dieser Wettbewerb ist irgendwie anders. Es gelingt nicht auf anhieb und auch mit weiterer Recherche nicht zu ergründen worum es genau ging. Zwar gibt es im Web weitere Informationen darüber, was genau die Aufgabenstellung war, aber offenbar hatte sie nichts damit zu ein ein Programm in C, C++, Java oder Python zu schreiben. Soviel ist sicher. Was genau die Frage war ist unklar, was die Antwort war auch, und was die Gewinnerin erzählt klingt ausländisch. Klar, die sprecherin ist weder aus UK noch aus den USA, das hört man an dem leichten Dialekt. Aber es sind weniger die Äußerlichkeiten sondern der Inhalt der rätselhaft bleibt.

Ganz grob lässt sich natürlich definieren was Forth ist und wodurch es sich von üblichen Programmiersprachen die im TIOBE Index weiter oben gelistet sind unterscheidet. Forth wendet ein grundsätzlich anderes Programmiermodell an, was dazu führt, dass Leute die schonmal programmiert haben umdenken müssen. Anstatt einer Registermaschine wird eine STackmaschine benutzt, es handelt sich dabei um eine Turing-Maschine die um einen Kellerspeicher erweitert wurde. Und anstatt prozeduraler oder objektorientiert programmiert man in Forth funktional? Um ehrlich zu sein, das sind alles nur Hypothesen, was man jedoch festhalten kann ist dass Forth sich grundsätzlich außerhalb steht.

ein großes Geheimnis ist noch immer die Frage wie Forth eigentlich entstanden ist. In einem frühen Paper von Chuck Moore ist zu lesen, dass es bereits in den 1950’er verwendet wurde, damals jedoch unter einem anderen Namen. Ab den 1970’er wurde Forth dann an Observatorien eingesetzt um die Ausrichtung zu den Sternen zu steuern. Das merkwürdige bei Forth ist, dass es keinerlei offensichtliche Vorteile gegenüber anderen Programmiersprachen besitzt. Es gibt mehrere Benchmarks die Forth gegenüberstellen zu BASIC, Assembler und C. Danach ist die Ausführungsgeschwindigkeit von Forth langsamer als die von Assembler aber schneller als BASIC. Forth hat gewissen Vorteil im Umfang des Sourcecode, aber auch das ist in der Praxis eher unbedeutend. Eine weitere Merkwürdigkeit besteht darin, dass es offenbar keine echten Anwenderprogramme für Forth gibt. Es gibt zwar allerhand Forth-Umgebungen wie Volksforth oder Bigforth, aber größere Projekte sind damit bisher nicht durchgeführt worden.

ABer zurück zum Einstiegsvideo: wenn man das Video eine Weile laufen lässt, dann erinnert es an einen Zahlensender wie er früher auf Langwelle übertragen wurde. Bis heute ist unklar, was diese Zahlensender zu bedeuten hatten. Und so ist auch das Video aufgebaut. Offenbar gibt es in dem Video zwei inhaltliche Ebenen und weil das Entschlüsseln mißlingt entsteht Frust beim Zuhören.

Auch wenn der versuch aussichtlos erscheinen mag, Forth, APL oder das obige Video in die universitäre Informatik einzuordnen kann ich zumindest versuchen ungefähr die Richtung zu benennen, wo es möglicherweise weitere Informationen gibt. Am ehesten erinnnert mich der Vortrag der oben verlinkt wurde an folgende Themen: Quantencomputer, PDDL, LTL. Es geht darum, mit Hilfe von Metaprogrammierung sehr viel effizienter Probleme zu lösen, die eine Ebene oberhalt der universitären Informatik liegt. Nur, bisher war mein Eindruck immer, dass Quantencomputer eine Utopie seien, und das PDDL ein Randthema wäre. Aber ungefähr in diesem Kontext und womöglich sogar ontop kann man Forth und APL einordnen. Es handelt sich dabei um eine Informatik die abgespalten von der üblichen Informatik läuft und einen mathematisch-getriebenen Ansatz verfolgt. Unklar ist, ob das ein Vorteil oder ein Nachteil ist.

Interessanterweise gibt es bei Youtube mehrere Videos zum Stichwort „Dyalog APL Robot“ wo offenbar die Control-Software eines Roboters mit Hilfe der Sprache APL gesteuert wird. Das ist deshalb interessant weil auch Leute die keine Ahnung von Programmieren haben einschätzen können, was der Roboter da gerade macht. Was genau diese Roboter machen ist unklar, aber offenbar handelt es sich um den selben Kurs an dem Gary McKinnon teilgenommen hat bevor er bei Infowars.com erzählt hat, dass er von Außerirdischen entführt wurde …

Advertisements

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s