Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

ABC (programming language)

From Wikipedia, the free encyclopedia
Programming language
ABC
Paradigmsmulti-paradigm:imperative,procedural,structured
Designed byLeo Geurts,Lambert Meertens,Steven Pemberton
DeveloperCentrum Wiskunde & Informatica (CWI)
First appearedJanuary 1987; 38 years ago (1987-01)
Stable release
1.05.02 / 1990; 35 years ago (1990)
Typing disciplinestrong,polymorphic
OSUnix-like,Windows,MacOS, andAtari TOS
Websitehomepages.cwi.nl/~steven/abc/
Influenced by
SETL,ALGOL 68[1]
Influenced
Python

ABC is animperative general-purposeprogramming language andintegrated development environment (IDE) developed atCentrum Wiskunde & Informatica (CWI), inAmsterdam,Netherlands by Leo Geurts,Lambert Meertens, andSteven Pemberton.[2] It is interactive, structured,high-level, and intended to be used instead ofBASIC,Pascal, orAWK. It is intended for teaching or prototyping, but not as a systems-programming language.

ABC had a major influence on the design of the languagePython, developed byGuido van Rossum, who formerly worked for several years on the ABC system in the mid-1980s.[3][4]

Features

[edit]

Its designers claim that ABCprograms are typically around a quarter the size of the equivalentPascal orC programs, and more readable.[5] Key features include:

  • Only five basicdata types
  • No required variable declarations
  • Explicit support fortop-down programming
  • Statement nesting is indicated byindentation, via theoff-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

ABC was originally amonolithic implementation, leading to an inability to adapt to new requirements, such as creating agraphical user interface (GUI). ABC could not directly access the underlyingfile system andoperating system.

The full ABC system includes a programming environment with astructure editor (syntax-directed editor), suggestions,static variables (persistent), and multiple workspaces, and is available as aninterpretercompiler. As of 2020[update], the latest version is 1.05.02, forUnix,MS-DOS,Atari ST, andMacOS.

Example

[edit]

An example function to collect the set of allwords in a document:[6]

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

Implementations

[edit]

ABC has been through multiple iterations, with the current version being the 4th major release. Implementations exist for Unix-like systems, MS-DOS/Windows, Macintosh, and other platforms. The source code was made available via Usenet in the late 1980s/early 1990s.

References

[edit]
  1. ^Biancuzzi, Federico; Warden, Shane (April 2009).Masterminds of Programming: Conversations with the Creators of Major Programming Languages.O'Reilly Media. p. 32.ISBN 978-0-596-51517-1. RetrievedDecember 14, 2009.He [Lambert Meertens] was clearly influenced byALGOL 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
  2. ^Pemberton, Steven (January 1987). "An Alternative Simple Language and Environment for PCs".IEEE Software.4 (1):56–64.doi:10.1109/MS.1987.229797.S2CID 12788361.
  3. ^Hamilton, Naomi (2008-05-08)."The A-Z of Programming Languages: Python".Computerworld. IDG Communications. Archived fromthe original on 2008-12-29. Retrieved2020-09-04.... I figured I could design and implement a language 'almost, but not quite, entirely unlike' ABC, improving upon ABC's deficiencies, ...
  4. ^Stewart, Bruce (2002-06-04)."An Interview with Guido van Rossum".ONLamp.com. O’Reilly Media. Archived fromthe original on 2013-03-13. Retrieved2020-09-04.... in my head I had analyzed some of the reasons it had failed.
  5. ^Pemberton, Steven (2012-02-22)."The ABC Programming Language: a short introduction".Centrum Wiskunde & Informatica (CWI). Amsterdam. Retrieved2020-09-04.
  6. ^This article is based on material taken fromABC at theFree On-line Dictionary of Computing prior to 1 November 2008 and incorporated under the "relicensing" terms of theGFDL, version 1.3 or later.

Further reading

[edit]
Authority control databases: NationalEdit this at Wikidata
Retrieved from "https://en.wikipedia.org/w/index.php?title=ABC_(programming_language)&oldid=1315305239"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2025 Movatter.jp