Kurs:Programmieren in Aleph/Installation

Aus Wikiversity

Aleph installieren[Bearbeiten]

Aleph setzt Java voraus! Java meint hier nicht die run-time-Umgebung für jre, sondern ein SDK.

Diese Voraussetzung wird hier gemacht. Für die Installation von Java sollten die entsprechenden Informationsquellen genutzt werden.

Die hier beschriebene Installation ist an Linux orientiert. Die Unterschiede zu anderen Betriebssystemen sind jedoch minimal. Praktisch wird nur zwischen Konsole (Linux) und DOS-Fenster (alle anderen) unterschieden. Es sind folgende Schritte notwendig:

  1. Ordner (Verzeichnis) anlegen.
  2. aleph.zip in diesen Ordner kopieren.
  3. aleph.zip entpacken.
  4. In den angelegten Ordner wechseln.

Unter Linux mit einer KDE-Oberfläche sieht das dann ungefähr so aus:

Für Benutzer anderer Betriebssysteme (Oberflächen) wird sich bei entsprechender Baumdarstellung ein ähnliches Bild ergeben.

Starten von Aleph[Bearbeiten]

Aleph benutzt für die Ausgabe in seiner Grundeinstellung die Ausgabeeinheit des Computers. Das ist normalerweise die Konsole. Wenn also die Konsole geschlossen wird, gibt es auch nichts zu sehen.

Starten aus einer Konsole[Bearbeiten]

Normalerweise genügt es in der Konsole (Kommandozeile, DOS-Fenster)

java aleph

einzugeben. Aus dem Aleph-Ordner heraus und unter der Annahme, dass Java nicht systemweit (also als eigenständiges Etwas) installiert ist, wäre

ein mögliches Erscheinungsbild.

Es erscheint ein leeres Fenster mit den Buttons Start und Clear. Es handelt sich um die einfachste GUI von Aleph. Alle Ergebnisse werden in der Konsole angezeigt. Das Ergebnis ist im Abschnitt Erscheinungsbild dargestellt.

Starten über eine IDE[Bearbeiten]

Angenehmer ist natürlich eine IDE. Natürlich sind Systeme wie eclipse und NetBeans sehr leistungsfähig, allerdings benötigen sie eine lange Zeit der Einarbeitung. Deshalb wird hier eXJE (evtl. von www.exmpl.de herunterladen) verwendet. Das System ist sehr einfach zu bedienen und bietet eine geschlossene, abgesicherte Umgebung.

Der unbestreitbare Vorteil von IDEs ist, dass ein laufendes Programm einfach über die Tastatur (oder einen Mausklick) abgebrochen werden kann. Wird stattdessen nur die Konsole verwendet, kann der Abbruch nur über den Taskmanager erfolgen.

Hier ist nicht der Platz, die Einrichtung einer IDE zu beschreiben. Die folgenden Bilder sind deshalb am eXJE orientiert, weil es schnell geht. Andere IDEs würden den Rahmen sprengen.

Nach dem Start der IDE erscheint

In dem jetzt erscheinenden Dialog wird nun der Pfad zum Aleph-Ordner eigetragen.

Nun muss die Datei aleph.java geöffnet werden.

Mit einem Klick auf das Zahnrad-Bild oder über das Menü wird Aleph gestartet.

Erscheinungsbild[Bearbeiten]

Aleph nutzt zwei Fenster. Einmal seine eigene GUI und ein Ausgabefenster. Letzteres kann von einer IDE stammen oder es ist ein Konsolenfenster. Für die Inhalte und damit das Verständnis dieses Kurses spielt die IDE keine Rolle.

Das Aleph-Fenster ist sehr einfach gehalten. Es besitzt nur zwei Schaltflächen.

Das Ausgabefenster ist entweder die Konsole oder ein Fenster der IDE. Hier wird eXJE als Beispiel verwendet. Es trägt daher die Bezeichnung Protokollfenster (ProtocolWindow).

Die Verhaltensweise der hier gezeigten Konstellation mit dem eXJE ist einfach. Wird das Aleph-Fenster geschlossen, bleibt das Protokollfenster geöffnet. Wird das Protokollfenster geschlossen, wird auch das Aleph-Fenster geschlossen.

Bei der Verwendung der Konsole liegt natürlich eine andere Verhaltensweise vor. Unter Umständen muss der laufende Task über die Systemsteuerung beendet werden.

Erster Kontakt[Bearbeiten]

Die ersten Versuche mit einer neuen Programmiersprache sind meist ernüchternd. Bei Aleph erst recht, wie folgendes Beispiel zeigt:

Ein Klick auf den Start-Button führt gleich zu drei Reaktionen.

Aleph erkennt keine der drei Eingaben. Deshalb die Frage um was es sich denn handelt. Die Frage ist allerdings rein rhetorisch, denn antworten kann der Benutzer nicht.

Der einfachste Ausgabebefehl in Aleph ist der Punkt ('.' dot). Er kennzeichnet in der natürlichen Sprache das Ende eines Satzes, womit normalerweise eine Aussage abgeschlossen wird. Aussagen sollen eine Reaktion nach sich ziehen, womit hier eben eine Ausgabe gemeint ist.

Ausgeben kann Aleph nur Werte. Zahlen, Zeichen (characters), Wahrheiten (booleans) und Strings sind Wertobjekte und können ausgegeben werden. So führt die Eingabe (Achtung: vorher den Clear-Button klicken)

"Mein erster Versuch" .

zu der Ausgabe:

Mein erster Versuch

Vieles ist anders in Aleph. So ist die virtuelle Maschine ein Kellerautomat. Genau wie die JVM arbeitet die V2M mit einem Stack. Der Stack wird aber nicht versteckt, wie in C/C++ und Java, sondern bleibt dem Programmierer zugänglich.

Diese Eigenschaft ist wohl die größte Stärke von Aleph. Leider ist es gerade für Anfänger schwierig, die neuen Freiheiten auszunutzen. Hier gleich ein Beispiel:

Eingabe:

3 4 5 . . .

Ausgabe:

543

Das Ergebnis ist nicht fünfhundertdreiundvierzig sondern fünf vier drei.

Hier die detaillierte Erklärung des Ablaufs:

  • Die Zeichenfolge "3" wird als Wert erkannt und auf dem Stack abgelegt.
  • Die Zeichenfolge "4" wird als Wert erkannt und auf dem Stack abgelegt.
  • Die Zeichenfolge "5" wird als Wert erkannt und auf dem Stack abgelegt.

Jetzt ist das oberste Element auf dem Stack der Wert 5.

  • Die Zeichenfolge "." wird als Anweisung erkannt und ausgeführt. Sie nimmt das oberste Element vom Stack, wandelt es in seine darstellbare Form und gibt es aus.

Dieser Vorgang wiederholt sich noch zweimal und führt dann zu der irreführenden Ausgabe 543.

Soweit die Installation und erste Kontakte mit Aleph. Die weiteren Abschnitte dieses Kurses zeigen die Programmierung mit Aleph. Sie beziehen sich oft auf die Dokumentation von Aleph. Deshalb sollte sie beim Bearbeiten dieses Kurses greifbar sein.