Download as pdf or txt
Download as pdf or txt
You are on page 1of 3

ABC (programming language)

ABC is an imperative general-purpose programming language and


integrated development environment (IDE) developed at Centrum ABC
Wiskunde & Informatica (CWI), Netherlands by Leo Geurts, Paradigms multi-paradigm:
Lambert Meertens, and Steven Pemberton.[2] It is interactive, imperative,
structured, high-level, and intended to be used instead of BASIC, procedural,
Pascal, or AWK. It is intended for teaching or prototyping, but not structured
as a systems-programming language.
Designed by Leo Geurts,
ABC had a major influence on the design of the language Python, Lambert
developed by Guido van Rossum, who formerly worked for Meertens, Steven
several years on the ABC system in the mid-1980s.[3][4] Pemberton
Developer Centrum
Wiskunde &
Contents Informatica (CWI)

Features First appeared January 1987

Example Stable release 1.05.02 / 1990


References Typing strong,
External links discipline polymorphic
OS Unix-like,
Windows, MacOS,
Features and Atari TOS
Website homepages.cwi.nl
Its designers claim that ABC programs are typically around a /~steven/abc/ (http
quarter the size of the equivalent Pascal or C programs, and more
s://homepages.cw
readable.[5] Key features include:
i.nl/~steven/abc/)
Only five basic data types Influenced by
No required variable declarations SETL, ALGOL 68[1]
Explicit support for top-down programming
Influenced
Statement nesting is indicated by indentation, via the
off-side rule Python
Infinite precision arithmetic, unlimited-sized lists and
strings, and other features supporting orthogonality and ease of use by novices

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 structure editor (syntax-directed editor),
suggestions, static variables (persistent), and multiple workspaces, and is available as an 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. Biancuzzi, Federico; Warden, Shane (April 2009). Masterminds of Programming:
Conversations with the Creators of Major Programming Languages (https://books.google.co
m/books?q=He-was-clearly-influenced-by-ALGOL-68). O'Reilly Media. p. 32. ISBN 978-0-
596-51517-1. Retrieved December 14, 2009. "He 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. Pemberton, Steven (January 1987). "An Alternative Simple Language and Environment for
PCs". IEEE Software. 4 (1). doi:10.1109/MS.1987.229797 (https://doi.org/10.1109%2FMS.1
987.229797).
3. Hamilton, Naomi (2008-05-08). "The A-Z of Programming Languages: Python" (https://web.a
rchive.org/web/20081229095320/http://www.computerworld.com.au/index.php/id%3B66665
771). Computerworld. IDG Communications. Archived from the original (http://www.computer
world.com.au/index.php/id;66665771) 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" (https://web.archive.or
g/web/20130313095540/http://www.onlamp.com/pub/a/python/2002/06/04/guido.html).
ONLamp.com. O’Reilly Media. Archived from the original (http://www.onlamp.com/pub/a/pyth
on/2002/06/04/guido.html) 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"
(https://homepages.cwi.nl/~steven/abc/). Centrum Wiskunde & Informatica (CWI).
Amsterdam. Retrieved 2020-09-04.

External links
ABC Programmer's Handbook (https://homepages.cwi.nl/~steven/abc/programmers/handbo
ok.html)

This article is based on material taken from the Free On-line Dictionary of Computing prior to 1 November
2008 and incorporated under the "relicensing" terms of the GFDL, version 1.3 or later.

Retrieved from "https://en.wikipedia.org/w/index.php?title=ABC_(programming_language)&oldid=1037012778"

This page was last edited on 4 August 2021, at 01:08 (UTC).

Text is available under the Creative Commons Attribution-ShareAlike License; additional terms may apply. By using
this site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia
Foundation, Inc., a non-profit organization.

You might also like