FirstStep - Eine Ausbildungssprache
Die Sprache FirstStep wird als Programmiersprache in einer Vorlesung zur Einführung in die Informatik verwendet, die den Problemkreis der Programmierung vermitteln will. Es gibt eine Reihe von Programmiersprachen, die für eine solche Einführung im Prinzip in Frage kämen. Allerdings haben diese Sprachen gewichtige Nachteile, die bei ihrer Rechtfertigung hinderlich sind.
Eine Sprache wie FirstStep soll diese Nachteile vermeiden, zugleich aber auch eine Möglichkeit vorstellen, wie eine moderne Programmiersprache aussehen sollte und könnte. Da diese Sprache besonders neue Programmierkonzepte vermitteln soll, wurde auf die folgenden Punkte nachdrücklich Wert gelegt.
- Alle verwendeten Bezeichner müssen explizit definiert werden. FirstStep verwendet eine notationelle Unterscheidung zwischen Schlüsselwörtern und vom Benutzer definierten Bezeichnern, so daß bereits beim Lesen des Texts sofort klar wird, welche Bedeutung ein Bezeichner hat. Kommentare werden durch einfache Zeichen eingeführt. Ein FirstStep-Programm ist übersichtlich strukturiert und entsprechend einfach zu verstehen. Es können externe Objekte eingebunden werden, so daß auch komplexe Systeme modelliert werden können.
- FirstStep ist "werteorientiert". Dieses bedeutet, daß ein Ausdruck, wie in der Mathematik, einen Wert repräsentiert, und die Darstellung (beispielsweise als Ganzzahl, Gleitpunktzahl, Oktalzahl usw.) unwichtig ist. Somit werden Ausdrücke entsprechend der in der Mathematik üblichen Weise interpretiert. Probleme wie in Fortran (keine Typumwandlung), Pascal (explizite Dereferenzierung), C (nur Werteparameter), Modula 2 (keine automatische Typanpassung) usw. können hier also nicht auftreten.
Zur Werteorientierung gehört es auch, daß sowohl Ausdrücke als auch Anweisungen einen Wert liefern können. So kann eine Schleife einen Wert ergeben, und können Funktionen mehrere Werte als Ergebnis zurückgeben. Hier werden keine strukturabhängigen Einschränkungen gemacht.
- FirstStep ist objektorientiert, d.h. es können Attribute und Methoden gekapselt werden, es können Klassen instanziiert werden und Attribute und Methoden bekannter Klassen können vererbt werden. Klassen sind dabei auch notationell in Schnittstelle und Implementation getrennt, so daß es einfach möglich ist, die extern verfügbaren Objekte einer Klasse zu erkennen. Klassen können vererbt werden und Methoden einer Klasse können Variable sein, d.h. von einer abgeleiteten Klasse verändert werden (dieses Konzept wird häufige als virtuell bezeichnet)
- FirstStep unterstützt die Überladung von Funktionen, so daß der gleiche Funktionsname für verschiedene Funktionalitäten verwendet werden kann, abhängig von Parametertypen und -anzahl. Dadurch können insbesondere auch Operatoren überladen werden, so daß Objekte auf einfache Weise verknüpft werden können.
- FirstStep kennt das Prozeßkonzept, so daß Aufgaben quasiparallel ausgeführt werden können. Es wird ein ereignisorientiertes Prozeßkonzept unterstützt, so daß auch eine zeitgetreue Simulation durchgeführt werden kann.
Inhalt
- Die Struktur von FirstStep
- Link-Definitionen
- Schreibweise
- Blöcke
- Definitionen
- Deklarationen
- Anweisungen
- Funktionen und Prozeduren
- Klassen
- Ein- und Ausgabe, Dateien und Verbindungen
- Syntax
Anhang:
- Beispiele
- Module
- Dokumentation zu FirstStep in Word 6.0
Dokumentation zu FirstStep in Word 7.0
Dokumentation zu FirstStep in PostScript
zurück
Index
vor
Sonstiges
- Wer Lust hat, kann sich den Artikel Diploma Mills einmal durchlesen und darauf antworten, sowohl mir, als auch den Autoren.
- Für LINUX gibt es eine
FirstStep-Version. Die Datei einfach in ein Verzeichnis kopieren, entpacken und den Anweisungen der README-Datei folgen
Weitere Informationen zu FirstStep finden Sie in dem Buch
"System,
Model, Programm".