3 ABC (programming language)

ABC (programming language)

Infobox programming language
name = ABC

paradigm = multi-paradigm: imperative, procedural, structured
year =
designer = Leo Geurts, Lambert Meertens, Steven Pemberton
developer = CWI
latest release version = 1.05.02
latest release date =
typing = strong
implementations =
dialects =
influenced_by = SETL
influenced = Python

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.

ABC has only five basic datatypes. It does not require variable declarations. It has explicit support for top-down programming. Statement nesting is indicated by indentation. It provides infinite precision arithmetic, unlimited sized lists and strings, and other features supporting orthogonality and ease of use by novices. Its designers claim that ABC programs are typically around a quarter the size of the equivalent Pascal or C programs, and more readable.

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.

ABC includes a programming environment with syntax-directed editing, suggestions, persistent variables, and multiple workspaces.

ABC is available as an interpreter/compiler, currently at version 1.05.02. ABC has been ported to Unix, DOS, Atari, and Apple Macintosh.

ABC also 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 early 1980s [http://www.computerworld.com.au/index.php/id;66665771] [http://www.onlamp.com/lpt/a/2431] .


An example function words 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


ee also

*Off-side rule

External links

* [http://www.cwi.nl/~steven/abc/ A Short Introduction to the ABC Language]


* [http://idhub.com/abc/ ABC Programmer's Handbook]

Wikimedia Foundation. 2010.

Look at other dictionaries:

  • Python (programming language) — infobox programming language name = Python paradigm = multi paradigm: object oriented, imperative, functional year = 1991 designer = Guido van Rossum developer = Python Software Foundation latest release version = 2.6 latest release date =… …   Wikipedia

  • Oxygene (programming language) — Oxygene Developer RemObjects Software Stable release 3.0.21 (August 29, 2009; 2 years ago (2009 08 29)) Influenced by Object Pas …   Wikipedia

  • Dao (programming language) — Infobox programming language name = Dao paradigm = Multi paradigm year = 2006 designer = Limin Fu latest release version = dao 1.0 preview latest release date = 2008 04 25 typing = statically typed or dynamically typed influenced by = C++, Lua,… …   Wikipedia

  • Clarion (programming language) — For other uses, see Clarion. Clarion Developer(s) JPI, Clarion International, SoftVelocity Stable release 8.0 / August 30, 2011; 2 months ago (2011 08 30) Operating system …   Wikipedia

  • Clean (programming language) — Clean Paradigm(s) functional Appeared in 1987 Designed by Software Technology Research Group of Radboud University Nijmegen Stable release …   Wikipedia

  • Euphoria (programming language) — Euphoria openEuphoria logo Paradigm(s) Imperative, procedural Appeared in 1993 Designed by Jeremy Cowgar, Robert Craig (original), Matt Lewis, Derek Parnell …   Wikipedia

  • Audio programming language — An audio programming language is a programming language specifically optimized for sound and music production or sound synthesis. Some of the languages below are optimized more for music composition, and some are optimized more for synthesis. For …   Wikipedia

  • B (programming language) — infobox programming language name = B caption = file ext = paradigm = year = 1969 designer = Ken Thompson developer = Ken Thompson, Dennis Ritchie latest release version = latest release date = latest test version = latest test date = turing… …   Wikipedia

  • Thue (programming language) — Thue (pronEng|ˈtuːeɪ TOO ay ) is an 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 the Chomsky hierarchy. Because it is able to define… …   Wikipedia

  • FOIL (programming language) — FOIL was the name for two different programming languages. CAI style languageThe first FOIL was a CAI language developed at the University of Michigan in 1967. The acronym stood for File Oriented Interpretive Language and it was very similar to… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”

We are using cookies for the best presentation of our site. Continuing to use this site, you agree with this.