ABC (programming language)

from Wikipedia, the free encyclopedia
ABC
Paradigms : Multiparadigm programming languages : imperative programming , procedural programming , structured programming
Publishing year: 1975
Designer: Leo Geurts , Lambert Meertens , Steven Pemberton
Developer: CWI
Current  version : 1.05.02   ()
Typing : Strong typing , polymorphism
Influenced by: SETL & Algol 68
Affected: python
homepages.cwi.nl/~steven/abc/

ABC is a general purpose imperative programming language and development environment developed by Leo Geurts, Lambert Meertens and Steven Pemberton at CWI, The Netherlands. The programming language is interactive, structured, high-level and should be used instead of BASIC , Pascal or AWK . However, it was not designed to be a systems programming language, but to facilitate teaching or prototyping .

The language had a huge impact on the design of the Python programming language (as a counterexample); Guido van Rossum , who developed Python, had previously worked on the ABC system for several years (beginning of the 80s).

Functions

The developers of the programming language claim that ABC programs are only around a quarter of the size of a corresponding Pascal or C program and are also easier to read. Some key features of the programming language are:

  • Only five basic data types
  • Variables do not have to be declared
  • Explicit support for top-down programming .
  • Infinite precision arithmetic, unlimited lists and strings, and other features that support orthogonality and ease of use for beginners

ABC was originally a monolithic implementation , which meant that it was not possible to adapt to new requirements, such as the creation of a graphical user interface. Furthermore, ABC could not directly access the underlying file system and operating system.

The complete ABC system includes a programming environment with syntax-controlled processing, suggestions, persistent variables and several work areas - and is currently available as an interpreter / compiler (with version 1.05.02) on Unix , DOS , Atari and Apple.

example

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

1 PUT {} IN collection
2 FOR line IN document:
3     FOR word IN split line:
4         IF word not.in collection:
5             INSERT word IN collection
6 RETURN collection

Individual evidence

  1. "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 Federico Biancuzzi, Shane Warden: Masterminds of Programming: Conversations with the Creators of Major Programming Languages . Ed .: O'Reilly Media . 2009, ISBN 0-596-51517-0 , pp. 32 ( Google Books [accessed December 14, 2009]).
  2. Federico Biancuzzi: Masterminds of Programming: Conversations with the Creators of Major Programming Languages . ISBN 0-596-51517-0 , pp. 32 .
  3. Computerworld Australia - The leading source of technology news, analysis and tools for IT decision makers, managers and professionals. (No longer available online.) Archived from the original on December 29, 2008 ; accessed on March 13, 2017 .
  4. Bruce Stewart: An Interview with Guido van Rossum - O'Reilly Media. Retrieved March 13, 2017 .