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.
-