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:- Only five basic data types
- No required variable declarations
- Explicit support for top-down programming
- Statement nesting is indicated by indentation, via the off-side rule
- Infinite precision arithmetic, unlimited-sized lists and strings, and other features supporting orthogonality and ease of use by novices
- Polymorphic commands and functions
- Interactive environment with command completion, persistent workspaces, and no separate file handling
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 allwords 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