请输入您要查询的百科知识:

 

词条 A++
释义

  1. History

  2. Publications

  3. Purpose

  4. Constitutive principles

  5. Programming paradigms supported

  6. Core features

  7. Development of applications with A++

  8. See also

  9. References

  10. External links

{{Notability|date=January 2011}}

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.

The technical texts in this article are taken from the online version of the 1st edition of the A++-book.[1]

The 2nd edition of the book A++ The Smallest Programming Language in the World (292 pages) was published in 2018.[2]

History

A++ was developed by Georg P. Loczewski and Britain Hamm in the years from 1996 - 2002[3] working as a software developer for Bull's Software-Haus in Langen, Germany and as a freelance programmer with the purpose to serve as a learning instrument rather than as a programming language used to solve practical problems.

The development of A++ is based on the 'Lambda Calculus' by Alonzo Church and is influenced by Guy L. Steele's Programming Language Scheme.

A++ is intended to be an effective 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.

Publications

The first published documentation appeared in German in January 2003 with the title 'Programmierung pur --- Programmieren fundamental und ohne Grenzen' ('Undiluted Programming') (919 pages) {{ISBN|978-3-87820-108-3}}.[4]

In the year 2005 followed an introduction to A++ in English with the title: 'A++ The Smallest Programming Language in the World --- An Educational Language (242 pages) {{ISBN|978-3-87820-116-8}}.

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

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

Programming paradigms supported

  • 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

  • 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,[5] which extends A++ to a language similar to Scheme. ARS++ is derived from ARS plus Scheme plus Extensions.

See also

The information on the following internal Link referring to ARS++ and ARS-Based Programming may not be up-to-date or accurate. It is recommended to use the following external link instead:

ARS-BASED programming and ARS++ :

  • ARS-based programming
  • Educational programming language
  • ARS++

References

1. ^{{cite web |url=http://www.aplusplus.net/bookonl/node7.html |title=A++ - The Smallest Programming Language in the World (1st edition) |publisher=STMV - S. Toeche-Mittler Verlag |author=Gerog P. Loczewski |accessdate=July 14, 2018}}
2. ^{{cite web |url=http://www.alpha-bound.de/aplple/index.html#APLPLE |title=A++ - The Smallest Programming Language in the World (2nd augmented edition) |publisher=tredition GmbH |author=Georg P. Loczewski |accessdate=July 14, 2018}}
3. ^{{cite web |url=http://www.aplusplus.net/aplpleorigin/node1.html |title=Origin of A++ |publisher= |accessdate=July 14, 2018}}
4. ^{{cite web |url=http://www.lambda-bound.com/book/engl/node1.html |title=Programmierung pur --- Programmieren fundamental und ohne Grenzen' ('Undiluted Programming') |publisher= |author=Georg P. Loczewski |accessdate=July 14, 2018}}
5. ^{{cite web |url=http://progopedia.com/language/a-plus-plus/ |title=A++ Programming Language |publisher= www.progopedia.com |accessdate=July 14, 2018}}

External links

  • [//www.aplusplus.net A++ Official Web-Site]
  • [//www.aplusplus.net/bookonl/ The A++ Book (online-edition)]
  • [//www.lambda-bound.com/ ARS/ARS++ Web-Site]
  • [//www.lambda-bound.com/book/lambdacalc/lcalconl.html The Lambda Calculus and A++]

1 : Educational programming languages

随便看

 

开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。

 

Copyright © 2023 OENC.NET All Rights Reserved
京ICP备2021023879号 更新时间:2024/11/10 13:31:43