Allgemeines zu Aleph

Aleph ist die konsequent Fortsetzung moderner Techniken in der Programmierung. Jedes Objekt das der Computers "kennt" kann in einem Aleph-Programm benutzt werden. Es liegt ein universelles Programmiersystem mit absoluter Objektorientierung vor. Diese strikte Verwendung von Objekten hat natürlich Konsequenzen. In den folgenden Abschnitten werden die wesentlichen Punkte kurz angesprochen.

Architektur der virtuellen Maschine

Aleph hat eine virtuelle Maschine V2M, die komplett in Java geschrieben ist. Die V2M ist ein Kellerautomat. Sie steht damit in der Tradition von Forth und Java. Im Gegensatz zu ihren "Ahnen" kennt die V2M nur Objekte. Es besteht keine Möglichkeit der direkten Behandlung von Zahlen oder Adressen. Alle diese einfachen Dinge können zu Fehlern oder sogar Angriffen führen. Die V2M benutzt Wertobjekte statt Zahlen. Der Sammelbegriff für Zahlen, Strings, Characters usw. lautet Symbols.
Hier ist vieles anders. Für die Zeichenfolge "123" steht keinesfalls die Interpretation als Integer fest. Es ist zwar normal derartige Zeichenfolgen als Zahlenwert zu interpretieren, jedoch kann der Programmierer auch ganz andere Sachen realisieren. Es herrscht völlige (totale, absolute) Freiheit. Wie weitgehend diese Freiheit ist und welche Probleme sie birgt kann nur selbst ausprobiert werden.

Freiheit die ich meine

Wirklich frei ist der Programmierer nur in Assembler (mit eigener Mnemotechnik). Aleph bringt diese Freiheit über seine V2M auf die Ebene der Hochsprachen neuester Generation. Für den normalen Programmierer bedeutet diese Freiheit dass es keine Fehlermeldungen gibt. Der Theoretiker wird so etwas vielleicht als syntaktische Anarchie bezeichnen und mit dieser Vermutung sogar Recht haben. Der Praktiker wird die fehlende Syntax nutzen und den Anwender entsprechend unterstützen.

Es ist nicht Aufgabe einer Programmiersprache den Entwickler zu unterstützen, sondern die Lösung eines Problems zu optimieren.


Natürlich wird sich jeder Programmierer seine eigene Syntax schaffen. Jedoch bleibt es ihm überlassen wie restriktiv der Test ausfällt. Aleph stellt keine syntaktischen Elemente bereit.

Variablen, Argumente, Parameter

Derartige Elemente sind überflüssig. Zumindest im Verständnis von Aleph. Natürlich besteht die Möglichkeit Variablen zu definieren. Argumente und/oder Parameter sind unverzichtbar, wenn das verwendete Objekt (Funktion, Methode) sie verlangt. Es ist jedoch allein dem Programmierer vorbehalten diese Attribute als solche zu erklären.
Variablen bilden eine Ausnahme. Sie sind generell frei von Typisierungen und können so auch Sequenzen des Programms enthalten. Sie sind extrem flexibel. Es spielt keine Rolle ob sie einen Wert, eine Sequenz oder Quellcode enthalten. Sie können all das und noch viel mehr.

Notationen

Die Schreibweise in Aleph, also die Formulierung einer Sequenz, erfolgt normalerweise in postfix. Diese Schreibweise wird auch als UPN (Umgekehrt Polnische Notation) bezeichnet. Diese Form ist schwer lesar, dafür aber sehr effizient. Die Effizienz gilt aber nur für die Ausführung, nicht für die Pflege. Deshalb besteht die Möglichkeit auch andere Notationen zu verwenden. Es handelt sich um infix (normale Arithmetik) und prefix. Besonders prefix ist weit verbreitet, denn jeder Aufruf einer Funktion/Methode ist ein prefix-Ausdruck. Aleph stellt erforderlichen Instrumente bereit, um alle drei Notationen in eigenen Anwendungen zu verwenden.

Detailliertere Informationen

Die folgenden Links führen zu weiteren Informationen. Die gesamte Dokumentation ist als Tutorium online verfügbar und natürlih im Download enthalten.