ⓘ ABC (programming language)

ABC (programming language)

ⓘ ABC (programming language)

ABC is an imperative general-purpose programming language and programming environment developed at CWI, 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 not meant to be a systems-programming language but is intended for teaching or prototyping.

The language had a major influence on the design of the Python programming language; Guido van Rossum, who developed Python, previously worked for several years on the ABC system in the mid 1980s.


1. 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:

  • Infinite precision arithmetic, unlimited-sized lists and strings, and other features supporting orthogonality and ease of use by novices.
  • Does not require variable declarations.
  • Explicit support for top-down programming.
  • Statement nesting is indicated by indentation, via the off-side rule.
  • Only five basic data types.

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 syntax-directed editing, suggestions, persistent variables, and multiple workspaces - and is available as an interpreter/compiler, currently at version 1.05.02, and ported to Unix, DOS, Atari, and Apple Macintosh.


2. 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 collection: INSERT word IN collection RETURN collection
  • computer ABC computer virus a memory - resident, file - infecting computer virus ABC programming language a programming language and environment ABC stream
  • list of notable programming languages optimized for sound production, algorithmic composition, and sound synthesis. ABC notation, a language for notating
  • FOIL was the name for two different programming languages The first FOIL was a CAI language developed at the University of Michigan in 1967. The acronym
  • esoteric programming language invented by John Colagioia in early 2000. It is a meta - language that can be used to define or recognize Type - 0 languages from
  • formerly known as Chrome is a programming language developed by RemObjects Software for Microsoft s Common Language Infrastructure, the Java Platform
  • 1C: Enterprise programming language A NET A - 0 System A A ABAP ABC ABC ALGOL ACC Accent Ace DASL Distributed Application Specification Language Action
  • notable programming languages grouped by type. There is no overarching classification scheme for programming languages Thus, in many cases, a language is
  • Python is an interpreted, high - level, general - purpose programming language Created by Guido van Rossum and first released in 1991, Python s design philosophy
  • Clean is a general - purpose purely functional computer programming language For much of the language s active development history it was called Concurrent