Forth als Lösungsorientiertes Programmsystem

Freitag, 10. November 2006 @ 17:27 CET

Beitrag von: AndiElgeti

In der Literatur wird zwischen maschinenorientierten und Problemorientierten Programmiersprachen unterschieden.
Doch Forth ist anders. Im Vack, ?Programmieren mit Forth" wird Charles Moore so zitiert:

"Sie sehen, wie die Möglichkeiten der Sprache Schritt für Schritt hinzukamen. Zu keiner Gelegenheit setzte ich mich hin, um eine Programmiersprache zu entwerfen. Ich löste die Probleme so, wie sie entstanden."

Der letzte Satz ist besonders bemerkenswert. Er zeigt nämlich, daß Forth ein "Lösungs"- orientiertes Programmiersystem ist. ...

Angenommen, der Nutzer von "Volksforth" wäre ein Lehrer, der einen Zensurenspiegel seiner Schüler erstellen und auswerten will. In der Klasse seien 30 Schüler, die jeweils 15 Fächer haben und darin maximal 10 Zensuren im Jahr enthalten.

Problemorientierte Programmierer denken automatisch an eine Datenbankanwendung.

Doch die Aufgabenstellung läßt vermuten, daß sich die Namen der Schüler im Schuljahr und die Schulfächer nicht ändern, ers also Konstanten sind.

Die Lösung des Problemes wäre also ein Feld mit 30 x 15 x 10 Zellen.
Die anzusprechende Zelle berechnet sich

Zelle = ZensurNr + 10* FachNr + 150*SchülerNr

wobei die ZensurNr, FachNr und Schülernummer mit 0 beginnen. Diese werden so festgelegt:

SchülerNr

: constant MeierA 0 ;

: constant SchulzF 1 ;

: constant MartensH 2 ;

FachNr

: constant Bio 0 ;

: constant Deutsch 1 ;

Diese Forth-typischen Einträge erlauben dann diese Eingabe :

MeierA Bio 5 neueZensur

Oder

MeierA Bio ?Zensuren

Demnach muß der Volksforth-Nutzer dann die Doppelpunktdefinitionen der Funktionswörter hinzufügen.

Ein Vorteil in Forth ist dabei auch, daß nicht alle Auswertungsalgorithmen gleich bei Programmierung bekannt sein müssen.

Stattdessen können jederzeit zusätzliche Wörter eingefügt werden.

Kommentare (0)


Forth-Gesellschaft e.V.
/article.php/20061110172735992