ABC (programming language)


ABC is an imperative general-purpose programming language and integrated development environment developed at Centrum Wiskunde & Informatica, in Amsterdam, Netherlands by Leo Geurts, Lambert Meertens, and Steven Pemberton. 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 was developed from the B language, an earlier creation by Meertens and Pemberton which was the first language to use indentation for block structure.
ABC had a major influence on the design of the Python language, whose creator, Guido van Rossum, had worked for several years on the ABC system in the mid-1980s.

Features

Its designers claim that ABC programs are typically around a quarter the size of the equivalent Pascal or C programs, and more readable. 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. ABC could not directly access the underlying file system and operating system.
The full ABC system includes a programming environment with a structure editor, suggestions, static variables, and multiple workspaces, and is available as an interpreter–compiler., the latest version is 1.05.02, for Unix, MS-DOS, Atari ST, and 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

Implementations

ABC has been through multiple iterations, with the current version being the 4th major release. Implementations exist for Unix-like systems, MS-DOS/Windows, Macintosh, and other platforms. The source code was made available via Usenet in the late 1980s/early 1990s.