ABC (programming language)

Source: Wikipedia, the free encyclopedia.
ABC
Developer
Centrum Wiskunde & Informatica (CWI)
First appearedJanuary 1987; 37 years ago (1987-01)
Stable release
1.05.02 / 1990; 34 years ago (1990)
Windows, MacOS, and Atari TOS
Websitehomepages.cwi.nl/~steven/abc/
Influenced by
SETL, ALGOL 68[1]
Influenced
Python

ABC is an imperative general-purpose programming language and integrated development environment (IDE) developed at Centrum Wiskunde & Informatica (CWI), Netherlands by Leo Geurts, Lambert Meertens, and Steven Pemberton.[2] It is interactive, structured, high-level, and intended to be used instead of BASIC, Pascal, or AWK. It is intended for teaching or prototyping, but not as a systems-programming language.

ABC had a major influence on the design of the language Python, developed by Guido van Rossum, who formerly worked for several years on the ABC system in the mid-1980s.[3][4]

Features

Its designers claim that ABC programs are typically around a quarter the size of the equivalent Pascal or C programs, and more readable.[5] Key features include:

ABC was originally a monolithic implementation, leading to an inability to adapt to new requirements, such as creating a graphical user interface (GUI). ABC could not directly access the underlying file system and operating system.

The full ABC system includes a programming environment with a

interpreter–compiler. As of 2020, the latest version is 1.05.02, and it is ported to Unix, DOS, Atari, and Apple MacOS
.

Example

An example function to collect the set of all words in a document:

HOW TO RETURN words document:
   PUT {} IN collection
   FOR line IN document:
      FOR word IN split line:
         IF word not.in collection:
            INSERT word IN collection
   RETURN collection

References

  1. ISBN 978-0-596-51517-1. Retrieved December 14, 2009. He [Lambert Meertens] was clearly influenced by ALGOL 68's philosophy of providing constructs that can be combined in many different ways to produce all sorts of different data structures or ways of structuring a program. – Guido van Rossum
  2. .
  3. ^ Hamilton, Naomi (2008-05-08). "The A-Z of Programming Languages: Python". Computerworld. IDG Communications. Archived from the original on 2008-12-29. Retrieved 2020-09-04. ... I figured I could design and implement a language 'almost, but not quite, entirely unlike' ABC, improving upon ABC's deficiencies, ...
  4. ^ Stewart, Bruce (2002-06-04). "An Interview with Guido van Rossum". ONLamp.com. O’Reilly Media. Archived from the original on 2013-03-13. Retrieved 2020-09-04. ... in my head I had analyzed some of the reasons it had failed.
  5. ^ Pemberton, Steven (2012-02-22). "The ABC Programming Language: a short introduction". Centrum Wiskunde & Informatica (CWI). Amsterdam. Retrieved 2020-09-04.

External links