Mr. Loczewski had been been working in the fields of Programming und Programming Methodology as an Instructor, Course Developer, Education Consultant and Systems Programmer for Honeywell HFSI and Bull (Compagnie des Machines Bull) in the USA and Germany since 1970.
The first authentic documentation covering A++ was published in 2002 in German language with the title 'Programmierung pur' (ISBN 3-87820-108-7). See bibliography: [3]. The Second edition followed in 2003.
The first documentation in English had the title: 'A++ The Smallest Programming Language in the World' and was published in 2005 by the S.Toeche-Mittler Verlag in Darmstadt, Germany, (ISBN 3-87820-116-8). See bibliography: [4]. A new augmented edition is available: See bibliography: [5].
The Preface of the 2nd title gives insight into the roots of the A++ development. An excerpt from this preface follows:
Describing the origin of Scheme he gives homage to the Lambda Calculus, invented by Alonzo Church in the late 1930's. (See bibliography: [1])
He talks about the importance of the principle of abstraction and makes the following
statement in this context on page XV (See bibliography: [6]):
Abstraction consists in treating something complex as if it were simpler, throwing away detail. In the extreme case, one treats the complex quantity as atomic, unanalyzed, primitive. The lambda calculus carries this to a pure, unadulterated extreme. It provides exactly three operations, plus a principle of startling generality.
Following these words which have been quoted here, Guy L. Steele describes the three basic
operations of the lambda calculus.
He continues to describe the ingenuity of the lambda calculus coming up with
another remarkable statement on page XVI:
Guy L. Steele's praise of the lambda calculus fascinated me, impressed me a lot and never let me loose.Abstraction is all there is to talk about: it is both the object and the means of discussion.
I am grateful to Guy L. Steele for letting me discover the beauty of ARS, which he describes
in the mentioned text, in which he also outlines the origin of Scheme. Scheme is a programming
language which has inherited a lot of the beauty and power of the lambda calculus that
Guy L. Steele is talking about.
Glenn L. Vanderburg has used the following words to describe Scheme in his advanced text book about Java (See bibliography: [7] on page 593):
Now there is another thing that bothered me though: it has to do with how Scheme is defined in the official document, the R5RS-Report (See bibliography: [2]). The formal syntax definition starting on page 38 in that document does not show at all the three basic operations of the lambda calculus to be the root or the core of the scheme programming language.Scheme might be considered the queen of programming languages: It is small, pure, and beautiful.
The fascination of ARS, shared with Guy L. Steele, and the two things that bothered me
led finally to the development of A++ and even ARS++. ARS++ extends A++ into Scheme and beyond
without giving up ARS as root and core of the language, showing up `unadulterated' in its
definition.
Scheme is small, A++ is even smaller. It was a challenge for me to see how far
one could go just using ARS, without creating a programming language with all kinds
of whistles and bells definitely tempting a student in the process of
being initiated to programming
to focus his or her attention on things that are not essential to programming at all.
To develop A++ and extending it to ARS++ and to define an interface to C, C++ and Java called ARSAPI, was a great adventure and learning experience for me,which I would like to share with many other people being engaged in teaching or studying the art of programming. This book covers the first part. All parts together are presented in `Programmierung pur' (`Undiluted Programming').