A plus plus

The title of this article is incorrect because of technical limitations. The correct title is A++.

A++ stands for abstraction plus reference plus synthesis which is used as a name for the minimalistic programming language that is built on ARS.

ARS is an abstraction from the Lambda Calculus, taking its three basic operations, and giving them a more general meaning, thus providing a foundation for the three major programming paradigms: functional programming, object-oriented programming and imperative programming.

ARS Based Programming is used as a name for programming which consists mainly of applying patterns derived from ARS, to programming in any language.

Contents

History

A++ has been developed in 2002 with the purpose to serve as a learning instrument rather than as a programming language used to solve practical problems.

It is supposed to be an efficient tool to become familiar with the core of programming and with programming patterns that can be applied in other languages needed to face the real world.

What it can Do

A++ with its interpreter available in Scheme, Java, C, C++ and Python offers an ideal environment for basic training in programming, enforcing rigorous confrontation with the essentials of programming languages.


Official Website and Information

The language is introduced on the Web Site: www.aplusplus.net and (http://www.aplusplus.net) is fully covered in the book A++ -- The Smallest Programming Language in the World published in 2004 with the following ISBN 3-87820-116-8. It is also described in the book 'Programmierung pur' ('Undiluted Programming') published under the ISBN 3-87820-108-7.

Constitutive Principles of A++

  • ARS (basic operations)
    • Abstraction
    • + Reference
    • + Synthesis
  • Lexical Scope
  • Closure

Programming Paradigms Supported by A++

  • Functional programming, (directly supported)
    • (writing expressions to be evaluated),
  • Object-oriented programming (directly supported)
    • (sending messages to objects),
  • Imperative programming (directly supported)
    • (writing statements to be executed), including structured programming.
  • Logic programming (indirectly supported)
    • (rule based programming)

Core Features of A++

  • 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 with A++

The purpose of A++ is not to be used as a programming language to write applications for the needs of the real world. Nevertheless it is possible to write simple application programs in A++ like object oriented implementations of a simple account handling and a library management system.

To write real world application programs the language ARS++ is provided, which extends A++ to a language similar to Scheme. ARS++ is derived from ARS plus Scheme plus Extensions.

The book Programmierung pur, at present only available in German under the ISBN 3-87820-108-7, presents A++, its usage and implementation in detail and shows as well how programming in languages like ARS++, Scheme, Java, Python, C and C++ can be done in the spirit of A++.

The next edition of the book will include Perl as well, a powerful programming language in which ARS Based Programming can be applied as easily as in Scheme.

See also

de:Aplusplus

External links

Navigation

  • Art and Cultures
    • Art (https://academickids.com/encyclopedia/index.php/Art)
    • Architecture (https://academickids.com/encyclopedia/index.php/Architecture)
    • Cultures (https://www.academickids.com/encyclopedia/index.php/Cultures)
    • Music (https://www.academickids.com/encyclopedia/index.php/Music)
    • Musical Instruments (http://academickids.com/encyclopedia/index.php/List_of_musical_instruments)
  • Biographies (http://www.academickids.com/encyclopedia/index.php/Biographies)
  • Clipart (http://www.academickids.com/encyclopedia/index.php/Clipart)
  • Geography (http://www.academickids.com/encyclopedia/index.php/Geography)
    • Countries of the World (http://www.academickids.com/encyclopedia/index.php/Countries)
    • Maps (http://www.academickids.com/encyclopedia/index.php/Maps)
    • Flags (http://www.academickids.com/encyclopedia/index.php/Flags)
    • Continents (http://www.academickids.com/encyclopedia/index.php/Continents)
  • History (http://www.academickids.com/encyclopedia/index.php/History)
    • Ancient Civilizations (http://www.academickids.com/encyclopedia/index.php/Ancient_Civilizations)
    • Industrial Revolution (http://www.academickids.com/encyclopedia/index.php/Industrial_Revolution)
    • Middle Ages (http://www.academickids.com/encyclopedia/index.php/Middle_Ages)
    • Prehistory (http://www.academickids.com/encyclopedia/index.php/Prehistory)
    • Renaissance (http://www.academickids.com/encyclopedia/index.php/Renaissance)
    • Timelines (http://www.academickids.com/encyclopedia/index.php/Timelines)
    • United States (http://www.academickids.com/encyclopedia/index.php/United_States)
    • Wars (http://www.academickids.com/encyclopedia/index.php/Wars)
    • World History (http://www.academickids.com/encyclopedia/index.php/History_of_the_world)
  • Human Body (http://www.academickids.com/encyclopedia/index.php/Human_Body)
  • Mathematics (http://www.academickids.com/encyclopedia/index.php/Mathematics)
  • Reference (http://www.academickids.com/encyclopedia/index.php/Reference)
  • Science (http://www.academickids.com/encyclopedia/index.php/Science)
    • Animals (http://www.academickids.com/encyclopedia/index.php/Animals)
    • Aviation (http://www.academickids.com/encyclopedia/index.php/Aviation)
    • Dinosaurs (http://www.academickids.com/encyclopedia/index.php/Dinosaurs)
    • Earth (http://www.academickids.com/encyclopedia/index.php/Earth)
    • Inventions (http://www.academickids.com/encyclopedia/index.php/Inventions)
    • Physical Science (http://www.academickids.com/encyclopedia/index.php/Physical_Science)
    • Plants (http://www.academickids.com/encyclopedia/index.php/Plants)
    • Scientists (http://www.academickids.com/encyclopedia/index.php/Scientists)
  • Social Studies (http://www.academickids.com/encyclopedia/index.php/Social_Studies)
    • Anthropology (http://www.academickids.com/encyclopedia/index.php/Anthropology)
    • Economics (http://www.academickids.com/encyclopedia/index.php/Economics)
    • Government (http://www.academickids.com/encyclopedia/index.php/Government)
    • Religion (http://www.academickids.com/encyclopedia/index.php/Religion)
    • Holidays (http://www.academickids.com/encyclopedia/index.php/Holidays)
  • Space and Astronomy
    • Solar System (http://www.academickids.com/encyclopedia/index.php/Solar_System)
    • Planets (http://www.academickids.com/encyclopedia/index.php/Planets)
  • Sports (http://www.academickids.com/encyclopedia/index.php/Sports)
  • Timelines (http://www.academickids.com/encyclopedia/index.php/Timelines)
  • Weather (http://www.academickids.com/encyclopedia/index.php/Weather)
  • US States (http://www.academickids.com/encyclopedia/index.php/US_States)

Information

  • Home Page (http://academickids.com/encyclopedia/index.php)
  • Contact Us (http://www.academickids.com/encyclopedia/index.php/Contactus)

  • Clip Art (http://classroomclipart.com)
Toolbox
Personal tools