User:Calebsmith0319/ABC (programming language)
![]() | This is the sandbox page where you will draft your initial Wikipedia contribution.
If you're starting a new article, you can develop it here until it's ready to go live. If you're working on improvements to an existing article, copy only one section at a time of the article to this sandbox to work on, and be sure to use an edit summary linking to the article you copied from. Do not copy over the entire article. You can find additional instructions here. Remember to save your work regularly using the "Publish page" button. (It just means 'save'; it will still be in the sandbox.) You can add bold formatting to your additions to differentiate them from existing content. |
Article Draft
Lead
ABC is an imperative general-purpose programming language and integrated development environment (IDE) developed at Centrum Wiskunde & Informatica (CWI), in Amsterdam, Netherlands by Leo Geurts, Lambert Meertens, and Steven Pemberton.[1] It is interactive, structured, high-level, and intended to be used instead of BASIC, Pascal, or AWK. It is intended for teaching or prototyping, but not as a systems-programming language.
Article body
Features
Its designers claim that ABC programs are typically around a quarter the size of the equivalent Pascal or C programs, and more readable.[2] Key features include:
- Only five basic data types
- No required variable declarations
- Explicit support for top-down programming
- Statement nesting is indicated by indentation, via the off-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 a monolithic implementation, leading to an inability to adapt to new requirements, such as creating a graphical user interface (GUI). ABC could not directly access the underlying file system and operating system.
The full ABC system includes a programming environment with a structure editor (syntax-directed editor), suggestions, static variables (persistent), and multiple workspaces, and is available as an interpreter–compiler. As of 2020[update], the latest version is 1.05.02, and it is ported to Unix, DOS, Atari, and Apple MacOS.
Implementations
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.
Further Reading
More details on ABC can be found in the book "The ABC Programmer's Handbook" by Leo Geurts, Lambert Meertens and Steven Pemberton (ISBN 0-13-000027-2). A newsletter and mailing list were available from CWI.
References
Pemberton, Steven (1991-01-02). "A short introduction to the ABC language". ACM SIGPLAN Notices. 26 (2): 11–16. doi:10.1145/122179.122180. ISSN 0362-1340. [3]
- ^ 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.
- ^ Pemberton, Steven (2012-02-22). "The ABC Programming Language: a short introduction". Centrum Wiskunde & Informatica (CWI). Amsterdam. Retrieved 2020-09-04.
- ^ Pemberton, Steven (1991-01-02). "A short introduction to the ABC language". ACM SIGPLAN Notices. 26 (2): 11–16. doi:10.1145/122179.122180. ISSN 0362-1340.