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
Lambda calculus (also written as ''λ''-calculus) is a formal system in mathematical logic for expressing computation based on function abstraction and application using variable binding and substitution. It is a universal model of computation t ...
''. All essential features of a
programming language
A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language.
The description of a programming l ...
can be derived from ARS even the three major programming paradigms:
functional programming
In computer science, functional programming is a programming paradigm where programs are constructed by applying and composing functions. It is a declarative programming paradigm in which function definitions are trees of expressions that ...
,
object-oriented programming
Object-oriented programming (OOP) is a programming paradigm based on the concept of " objects", which can contain data and code. The data is in the form of fields (often known as attributes or ''properties''), and the code is in the form of ...
and
imperative programming
In computer science, imperative programming is a programming paradigm of software that uses statements that change a program's state. In much the same way that the imperative mood in natural languages expresses commands, an imperative program co ...
.
The programming language
A++
A, or a, is the first letter and the first vowel of the Latin alphabet, used in the modern English alphabet, the alphabets of other western European languages and others worldwide. Its name in English is ''a'' (pronounced ), plural ''ae ...
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 (the English rights are available now) is facilitated by three tools: A++, ARS++, and ARSAPI.
#
A++
A, or a, is the first letter and the first vowel of the Latin alphabet, used in the modern English alphabet, the alphabets of other western European languages and others worldwide. Its name in English is ''a'' (pronounced ), plural ''ae ...
, a minimal programming language with interpreter for basic training enforcing rigorous confrontation with the essentials of programming;
#
ARS++
ARS++ was developed in 2002 for the book ''Undiluted Programming'' to demonstrate ARS based programming in a real world context. ARS++ is used in the book to implement an A++ interpreter and an XML Database System. Even the implementation of 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 A scheme is a systematic plan for the implementation of a certain idea.
Scheme or schemer may refer to:
Arts and entertainment
* ''The Scheme'' (TV series), a BBC Scotland documentary series
* The Scheme (band), an English pop band
* ''The Schem ...
with the power of coping with the challenges of real world programming;
# ARSAPI, a bridge between ARS and popular programming languages like
Java
Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's mo ...
,
C and
C++, consisting of definitions and patterns recommended to express ARS in the target language.
See also
*
Educational programming language
An educational programming language is a programming language that is designed mostly as an instrument for learning, and less as a tool for writing programs to perform work.
Types of educational programming languages
Assembly languages
Origi ...
External links
ARS Based Programming: Fundamental And Without Limits further information on ARS.
Programming paradigms
{{compu-prog-stub