title: ARS-based programming
text: # ARS-based programming
  
  ARS-based programming is built on three principles: abstraction, reference and synthesis. These principles can be seen as a generalized form of the basic operations of the Lambda calculus. All essential features of a programming language can be derived from ARS, even the three major programming paradigms: functional programming, object-oriented programming and imperative programming.
  
  The programming language A++ is a demonstration that, based on ARS, programming patterns can be developed that are very powerful, providing a solid base for solving common programming problems.
  
  ARS-based programming as covered in the book Programmierung pur (Undiluted Programming or Barebones Programming) published in German under the ISBN 3-87820-108-7 (the English rights are available now) is facilitated by three tools: A++, ARS++, and ARSAPI.
  
  * A++, a minimal programming language with interpreter for basic training enforcing rigorous confrontation with the essentials of programming;
  * ARS++, a full blown programming language including a virtual machine and compiler, extending A++ into a language that is fully ars-compatible with a functionality going beyond that of Scheme with the power of coping with the challenges of real world programming;
  * ARSAPI, a bridge between ARS and popular programming languages like Java, C and C++, consisting of definitions and patterns recommended to express ARS in the target language.
  