Next: To provide a method
Up: Motivations for `Programmierung pur'
Previous: To provide a method
Contents
`Programmierung pur' includes above that a tool providing
the possibility to get hands-on experience in the process of learning and
exploring the fundamentals of programming.
This tool is the programming language ``A++'', introduced in
`Programmierung pur', a language that owes it's existence to a generalization
of the base operations of the Lambda Calculus and
may very well be called the smallest language of the world.
A++ consists of only three
operations but is nevertheless powerful enough to serve as a language,
in which everything essential in programming can be expressed.
Summary of A++ features:
- constitutive principles of A++:
- ARS (basic operations):
- abstraction
- reference
- synthesis
- lexical scope
- closure
- programming paradigms supported:
- functional programming,
(writing expressions to be evaluated),
- object oriented programming
(sending messages to objects),
- imperative programming
(writing statements to be executed), including structured programming.
- logic programming
(rule based programming)
(ARS++ recommended!)
- features directly derived from ARS:
- logical abstractions
(true, false, if, not, and, or),
- numerical abstractions
(natural numbers, zerop, succ, pred, add, sub, mult),
- relational abstractions,
(equalp, gtp, ltp, gep)
- recursion,
- creation and processing of lists
(cons, car, cdr, nil, nullp, llength, remove, nth,
assoc),
- higher order functions
(compose, curry, map, mapc, map2, filter, locate, for-each) ,
- set operations
(memberp, union, addelt),
- iterative control structure ('while'),
- development of applications like `simple account handling' and
`library management'.
Speed and impact of learning
All this can be learned in a relatively short time, because it is not
necessary to spend a lot of effort on the syntax of a programming
language, which might not be the language of choice later anyway.
On the contrary, everything learned in A++ can be applied in almost any
programming language.
Next: To provide a method
Up: Motivations for `Programmierung pur'
Previous: To provide a method
Contents