A++ ist eine Programmiersprache, die in den Jahren 1996-2002 vom Autor dieses Artikels entwickelt wurde. Die erste Veröffentlichung erfolgte im Jahre 2002 im S. Toeche-Mittler Verlag in Darmstadt unter dem Titel „Programmierung pur – Programmieren fundamental und ohne Grenzen“ mit der ISBN 3-87820-108-7. Die 2. Auflage dieses Titels erfolgte im Jahre 2003.
Im Jahre 2018 wurde die Programmiersprache A++ in 6 Titeln im tredition-Verlag in Hamburg neu aufgelegt. In diesem Artikel werden diese 6 Titel kurz vorgestellt:
l A++ Die kleinste Programmiersprache der Welt
l A++ The Smallest Programming Language in the World
l A++ and the Lambda Calculus
l Programmieren Lernen mit A++
l A++ und systemnahe Programmiersprachen
l Von A++ nach ARS++
In diesen Titeln wird die Programmiersprache A++ unter unterschiedlichen Gesichtspunkten ausführlich dargestellt.
Bei aller Unterschiedlichkeit dieser Bücher geht es aber immer um den Kern von A++, den man folgendermaßen thematisch umreißen kann:
Das Wesentliche der Programmierung
A++ ist die kleinste Programmiersprache der Welt, deren Sinn es ist einzig das Wesentliche der Programmierung darzustellen, und zwar in einer Form dass damit gearbeitet werden kann, dass man es einüben kann. So soll A++ hilfreich sein beim Erlernen des Programmierens ganz allgemein, aber auch beim Erlernen von konkreten Programmiersprachen.
Elementarteilchen der Programmierung
In A++ werden die Elementarteilchen der Programmierung in reinster Form sichtbar gemacht. Man kann diese gründlich studieren, den richtigen Umgang mit ihnen einüben und sich so die wichtigsten Rüstzeuge der Programmierung aneignen.
Vereinfachung der Programmierung
In dem Bemühen, Programmierung auf das Wesentliche zu reduzieren, geht es darum, Lernende zu bewahren, sich von einer Unzahl von Vorschriften und Regeln einer bestimmten Programmiersprache die Programmierung an sich vergraulen zu lassen.
Energien, die in den meisten Sprachen für die Beherrschung und das Einhalten der Syntax aufgebracht werden m“ussen, kommen in A++ der wichtigeren Aufgabe der logischen Bewältigung des zu lösenden Problems zugute.
Einfache, umfassende und mächtige Denkmuster
Es wird hier dank des Lambda-Kalküls eine Sicht der Programmierung gewonnen, die eine befreiende Wirkung hat. Das Denken wird aus den Niederungen des komplexen Regelwerks einer bestimmten Programmiersprache herausgeholt und heraufgehoben auf die Höhen eines einfacheren, umfassenderen und deshalb mächtigeren Denkens. Das Lambda-Kalkül bietet die theoretische Grundlage für eine solche Sicht.
Verallgemeinerung des Lambda-Kalküls
Der Name A++ ist eine Abkürzung von Abstraktion plus Referenz plus Synthese. Hiermit werden die drei Prinzipien von A++ benannt, die gleichzeitig ihr einziger Inhalt sind. Diese Prinzipien stellen eine Verallgemeinerung der Grundoperationen des Lambda-Kalküls von Alonzo Church dar. Das Lambda-Kalkül ist ein mathematisch-logisches System, jedoch keine Programmiersprache. Es wurde 1941 von dem Logiker Alonzo Church in seinem Buch: „The Calculi of Lambda Conversion“ der Welt vorgestellt.
Erlernen von neuen Programmiersprachen
In einigen der oben genannten Titeln wird der Versuch unternommen, den Weg zum Erlernen der Programmiersprachen Scheme, Java, Python, C und C++ anhand der mittels A++ erarbeiteten Denkmuster aufzuzeigen. Diese Thematik wird nicht nur theoretisch behandelt, sondern es werden auch umfangreiche Fallstudien, präsentiert um den Bezug zur Programmierpraxis zu gewährleisten.
A++ Die kleinste Programmiersprache der Welt
Eine Programmiersprache zum Erlernen der Programmierung
Der Fokus dieses Titels in deutscher Sprache ist das Wesen von A++ und behandelt nicht das Verhältnis zu anderen Programmiersprachen im Unterschied zu seinem Namensvetter in englischer Sprache, der auch im Detail auf A++ und Perl sowie auf A++ auf C/C++ eingeht. Das Verhältnis der Seitenzahlen beider Versionen ist 116 zu 273.
Dieses und die folgenden Bücher wendet sich an alle Personen, die sich mit dem Erlernen der Kunst der Programmierung befassen. Dies sind vor allem Lehrende und Lernende an Hochschulen und den Oberstufen von Gymnasien in den Fachbereichen der Informatik, der Mathematik und der Physik. Dazu gehören aber auch Trainer und Ausbilder sowie Programmierer der Industrie.
Details: https://www.alpha-bound.de/aplplg/index.html#APLPG
Programmieren lernen mit A++
Funktional programmieren in Python und Java
Details: https://www.alpha-bound.de/aplplg/index.html#APLPLBK2
A++ und systemnahe Programmiersprachen
Funktional programmieren in C/C++
Details: https://www.alpha-bound.de/aplplg/index.html#APLPLBK3
Von A++ nach ARS++
A++ mit einer Schnittstelle zu anderen Programmiersprachen
diesem Buch wird eine Erweiterung von A++ vorgestellt, die einer neuen Programmiersprache entspricht (mit Compiler und virtueller Maschine) in der die Funktionalität von Scheme, Python, Java, C++ und C enthalten ist. Dies ist möglich, da in ARS++ eine Schnittstelle zu den anderen Sprachen namens ARSAPI eingebaut ist.
Nicht nur ein A++-Interpreter wird zur Verfügung gestellt, sondern auch ein ARS++-Compiler und ein Interpreter für die virtuelle Maschine (AVIM).
Auch dieses Buch enthält im Anhang eine Einführung in das Lambda-Kalkül von Alonzo Church.
Details: https://www.alpha-bound.de/aplplg/index.html#APLPLBK4
A++ and the Lambda Calculus
Principles of Functional Programming
The book contains an introduction to the Lambda Calculus as the theoretical foundation of all ‚Functional Programming‘ languages.
The Lambda Calculus has been created by the American logician Alonzo Church in the 1930’s and is documented in his works published in 1941 under the title `The Calculi of Lambda Conversion‘.
Alonzo Church wanted to formulate a mathematical logical system and had no intent to create a programming language. The intrinsic relationship of his system to programming was discovered much later in a time in which programming of computers became an issue.
The book `A++ and the Lambda Calculus‘ also contains a brief introduction to the educational programming language A++, a minimal programming language that has been built with the Lambda Calculus as its foundation . The purpose of A++ is to serve as a learning instrument rather than as a programming language used to solve practical problems.
Details: https://www.alpha-bound.de/aplple/index.html#APPLC
A++ The Smallest Programming Language in the World
An Educational Programming Language
The contents of this title in English with its 270 pages is not equivalent with the contents of the German title, which contains only 116 pages. The English title also includes details on the relation between A++ and the programming languages C and Perl.
Details: https://www.alpha-bound.de/aplple/index.html#APLPLE
Die Home-Page für A++ ist https://aplusplus.net. Dort finden sie mehr Details mit Bestellmöglichkeiten für die einzelnen Titel und Download-Möglichkeiten für die Tools.
IMPRESSUM
Georg Paul Loczewski
Hirschbachweg 39a
64846 Gross-Zimmern
Email: gpl@alpha-bound.de
www.alpha-bound.de