Stackbasierte Sprachen (Forth, Postscript)

Offizieller Titel

185.079 Ausgewählte Kapitel der Praktischen Informatik 3 (VU2)

wahlweise auch 2,4,5.

Anrechnungen

Wahlfach in den Bakkalaureatsstudien "Data Engineering & Statistics", "Software & Information Engineering, Schwerpunkt Software Engineering", "Medizinische Informatik" und im Magisterstudium "Software Engineering & Internet Computing".

Wahlfach im Diplomstudium Informatik (Wahlfachkatalog "Technische Informatik").

Termin

Vorlesungen: ab 12.10.2004 jeden Di 15:30h-17:00h (pünktlich), Arbeitsgruppenbibliothek, Argentinierstrasse 8, 4. Stock, Mitte.

Nach Ende des Vorlesungsteils Präsentationen zum gleichen Termin.

Status

Vorlesungsteil beendet. Am 11.1., eventuell am 18.1., und am 25.1. finden die Übungspräsentationen statt. Termine bisher:
11.1.2005 Monitzer Eder Roschger Greiner
18.1.2005
25.1.2005 Revucky Stubenschrott Wenninger Mecl
Wer noch keinen Termin hat, soll sich bitte bei mir melden. Am 18.1. sind noch Termine verfügbar.

Umfeld

Postscript ist bekannt als Seitenbeschreibungssprache für Laserdrucker. Ein Ableger von Postscript, PDF, gewinnt (leider) zunehmend an Populartität als Dokumentenbeschreibungssprache. Tatsächlich ist Postscript aber eine vollwertige höhere Programmiersprache.

Forth ist eine Programmiersprache auf dem semantischen Niveau von C. Da sie sich auch in sehr eingeschränkten Umgebungen noch gut verwenden läßt, ist sie beliebt für Embedded-Control-Applikationen. Eine prominente Anwendung von Forth ist der in SPARC-Systemen und PCI-PowerPC-Systemen verwendete FCode zur Konfiguration der Steckkarten.

Gemeinsam ist diesen Sprachen u.a. der für den Programmierer sichtbare Stack, der eine zentrale Rolle spielt. Die Unterschiede liegen bei der Typüberprüfung, beim Binden von Namen, und bei der Speicherverwaltung.

Eine weitere prominente stackbasierte Sprache ist die JavaVM, die allerdings nicht für die direkte Programmierung durch Menschen ausgelegt ist, und daher in dieser Lehrveranstaltung nur am Rande vorkommt.

Lehrziel

Erwerb von Programmierkenntnissen in Forth und Postscript. Kennenlernen der besonderen Eigenschaften dieser Sprachen, des sich daraus ergebenden Auswirkungen auf Programmierstil (kurze Prozeduren, viel Wiederverwendung) und Programmiermethodik (Metaprogrammierung, andere Debuggingmethode). Besseres Verständnis für die Konzepte von Programmiersprachen.

Inhalt

Überblick über Postscript und Forth. Einfache Programmierbeispiele in diesen Sprachen. Lösung einer selbstgewählten Aufgabe in einer stackbasierten Sprache.

Abgabe

Schreiben Sie ein beliebiges Programm in Forth oder Postscript, und präsentieren Sie es dann. Präsentieren Sie, was das Programm macht, und wie es implementiert ist.

Weisen Sie dabei besonders auf Programmteile hin, in denen Sie die besonderen Spracheigenschaften der gewählten Sprache verwendet haben (also Programmteile, die nicht 1:1 in C oder Java übersetzbar wären; die Postscript-Graphik zählt nicht, die könnte man in C oder Java mit einer Library ergänzen). Wenn Ihr Programm solche Programmteile hat, darf es beliebig kurz sein.

Da es den meisten aber schwer fällt, so etwas im vorhinein zu planen, planen Sie lieber ein Programm in der Größenordnung 50-100 Zeilen, das sie möglichst idiomatisch schreiben (z.B. kurze Definitionen, richtige Reihenfolge der Werte am Stack). Wenn ihnen dabei eine Verwendung einer besonderen Spracheigenschaft einfällt, führen Sie sie durch, wenn nicht, geben Sie ihr Programm eben so ab (auch dann werden Sie wohl positiv beurteilt).

Für die Präsentation haben Sie maximal 20min Zeit, sie müssen den Rahmen aber nicht ausnutzen.

Der Termin für die Präsentation wird in der Vorlesung vereinbart, bzw. können Sie sich noch rechtzeitig vor dem Präsentationstermin per Email melden.

Einige frühere Abgaben

Unterlagen

Notizen (auf Anfrage auch als Hardcopy erhältlich).

Vortragender/Betreuer

Anton Ertl