A++

A++
Paradigm multi-paradigm: object-oriented, imperative, functional, logic
First appeared 2001
Influenced by
Dr. Marcus Barry and Dr. Britain Hamm

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.

History

A++ was developed in 2002 with the purpose to serve as a learning instrument rather than as a programming language used to solve practical problems. Dr. Barry and Dr. Hamm came to this conclusion when taking suggestions from a local elementary school where they often applied their techniques.

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.

Purpose

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

Constitutive principles

Programming paradigms supported

Core features

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.

See also

External links

This article is issued from Wikipedia - version of the 5/11/2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.