All Topics  
ABC programming language

 

   Email Print
   Bookmark   Link






 

ABC programming language



 
 
ABC is an imperative general-purpose programming language
Programming language

A programming language is a machine-readable artificial language designed to express computations that can be performed by a machine, particularly a computer....
 and programming environment
Integrated development environment

An integrated development environment also known as integrated design environment or integrated debugging environment is a software application that provides comprehensive facilities to computer programmers for software development....
 developed at CWI
National Research Institute for Mathematics and Computer Science

The National Research Institute for Mathematics and Computer Science is one of the leading European research centers in the field of mathematics and theoretical computer science....
, Netherlands
Netherlands

The Netherlands is a country that is part of the Kingdom of the Netherlands. It is a parliamentary democratic constitutional monarchy. The Netherlands is located in North-West Europe, and bordered by the North Sea to the north and west, Belgium to the south, and Germany to the east....
 by Leo Geurts, Lambert Meertens
Lambert Meertens

Lambert Meertens is a Netherlands computer scientist and professor.In the 1960s, Meertens applied affix grammars to the description and composition of music, and obtained a special prize from the jury at the 1968 IFIP Congress in Edinburgh for his computer-generated string quartet, "Quartet No....
, and Steven Pemberton
Steven Pemberton

Steven Pemberton is one of the developers of the ABC programming language and of the Views system.He is chair of the W3C XHTML2 and XForms Working Groups and also member of RDFa Taskforce....
. 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.






Discussion
Ask a question about 'ABC programming language'
Start a new discussion about 'ABC programming language'
Answer questions from other users
Full Discussion Forum



Encyclopedia


ABC is an imperative general-purpose programming language
Programming language

A programming language is a machine-readable artificial language designed to express computations that can be performed by a machine, particularly a computer....
 and programming environment
Integrated development environment

An integrated development environment also known as integrated design environment or integrated debugging environment is a software application that provides comprehensive facilities to computer programmers for software development....
 developed at CWI
National Research Institute for Mathematics and Computer Science

The National Research Institute for Mathematics and Computer Science is one of the leading European research centers in the field of mathematics and theoretical computer science....
, Netherlands
Netherlands

The Netherlands is a country that is part of the Kingdom of the Netherlands. It is a parliamentary democratic constitutional monarchy. The Netherlands is located in North-West Europe, and bordered by the North Sea to the north and west, Belgium to the south, and Germany to the east....
 by Leo Geurts, Lambert Meertens
Lambert Meertens

Lambert Meertens is a Netherlands computer scientist and professor.In the 1960s, Meertens applied affix grammars to the description and composition of music, and obtained a special prize from the jury at the 1968 IFIP Congress in Edinburgh for his computer-generated string quartet, "Quartet No....
, and Steven Pemberton
Steven Pemberton

Steven Pemberton is one of the developers of the ABC programming language and of the Views system.He is chair of the W3C XHTML2 and XForms Working Groups and also member of RDFa Taskforce....
. 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
Indentation

English An indentation can mean two things:*To make notches in something or form deep recesses in a coastline for instance.*To place text farther to the right to separate it from surrounding text....
. 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
C (programming language)

C is a general-purpose computer programming language originally developed in 1972 by Dennis Ritchie at the Bell Telephone Laboratories to implement the Unix operating system....
 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
Graphical user interface

A graphical user interface is a type of user interface which allows people to human-computer interaction such as computers; hand-held devices such as MP3 Players, Portable Media Players or Gaming devices; household appliances and office equipment....
. ABC could not directly access the underlying file system and operating system.

ABC includes a programming environment with syntax-directed editing, suggestions, persistent variables
Static variable

In computer programming, the data value of a static variable persists for the life of the running process. Typically, a static variable has a broader Scope than other variables....
, and multiple workspaces.

ABC is available as an interpreter/compiler
Compiler

A compiler is a computer program that transforms source code written in a programming language into another computer language . The most common reason for wanting to transform source code is to create an executable program....
, currently at version 1.05.02. ABC has been ported to Unix
Unix

Unix is a computer operating system originally developed in 1969 by a group of American Telephone & Telegraph employees at Bell Labs, including Ken Thompson , Dennis Ritchie, Douglas McIlroy, and Joe Ossanna....
, DOS
DOS

DOS, short for "Disk Operating System", is a shorthand term for several closely related operating systems that dominated the IBM PC compatible market between 1981 and 1995, or until about 2000 if one includes the partially DOS-based Microsoft Windows versions Windows 95, Windows 98, and Windows Me....
, Atari
Atari

Atari is a corporate and brand name owned by several entities since its inception in 1972. It is currently owned by Atari Interactive, a wholly owned subsidiary of the French publisher Infogrames ....
, and Apple Macintosh.

ABC also had a major influence on the design of the Python programming language
Python (programming language)

Python is a general-purpose high-level programming language. Its design philosophy emphasizes code readability. Python's core syntax and semantics are Minimalism , while the standard library is large and comprehensive....
; Guido van Rossum
Guido van Rossum

Guido van Rossum is a Netherlands computer programmer who is best known as the author of the Python . In the Python community, Van Rossum is known as a ?Benevolent Dictator for Life? , meaning that he continues to oversee the Python development process, making decisions where necessary....
, who developed Python, previously worked for several years on the ABC system in the early 1980s .

Example

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

See also

  • Off-side rule
    Off-side rule

    A computer programming language is said to adhere to the off-side rule if in it the scope of declarations is expressed by their indentation, i.e., blocks are formed via indentation....


External links



Books