维基百科
ABC (程式語言)
ABC是一種指令式通用程式語言和編程環境,最初由荷兰数学和计算机科学研究学会(CWI)的里奥·格茨(Leo Geurts)、兰伯特·梅尔滕斯(Lambert Meertens)與史蒂文·彭伯顿(Steven Pemberton)开发。它是指令式、结构化的高级语言,意图用來取代BASIC、Pascal與AWK,它的设计目標是用于教學或建立原型,而非用作一种系统编程语言。
编程范型 | 多范式:指令式、过程式、结构化 |
---|---|
設計者 | 里奥·格茨(Leo Geurts) 兰伯特·梅尔滕斯(Lambert Meertens) 史蒂文·彭伯顿(Steven Pemberton) |
實作者 | 荷兰数学和计算机科学研究学会 |
发行时间 | 1987年1月 |
型態系統 | 强类型, 多态 |
作業系統 | 类Unix, Windows, MacOS, Atari TOS |
網站 | homepages |
啟發語言 | |
SETL, ALGOL 68[1] | |
影響語言 | |
Python |
ABC語言对Python语言有着主要的影响,Python的创立者吉多·范罗苏姆(Guido van Rossum)在1982年至1986年间参与了ABC系统的设计与实现工作[2][3]。
特征
ABC的设计者声称,典型的ABC程序的大小只是等价的Pascal或C程序的四分之一,并且更加具有可读性。它的关键特征包括:
ABC最初是一个单体实现,导致它不能适配新的需求,比如建立图形用户界面。ABC不能直接访问底层文件系统和操作系统。
完全的ABC系统包括了使用结构编辑器(语法导向编辑器)、提示、持久变量和多工作空间的编程环境,并可获得到ABC的解释器/编译器,其当前版本是1.05.02,它已经移植到了Unix、DOS、Atari和Apple Macintosh。
例子
一个函数words
,它在文档中收集出所有单词的集合:
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
引用
- ^ "He was clearly influenced by ALGOL 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 Federico Biancuzzi; Shane Warden. Masterminds of Programming: Conversations with the Creators of Major Programming Languages. O'Reilly Media. April 2009: 32 [December 14, 2009]. ISBN 0-596-51517-0.
- ^ The A-Z of Programming Languages: Python (页面存档备份,存于互联网档案馆). "...I figured I could design and implement a language 'almost, but not quite, entirely unlike' ABC, improving upon ABC's deficiencies...", Computerworld (2008-08-05). Retrieved on 2014-07-08.
- ^ An Interview with Guido van Rossum (页面存档备份,存于互联网档案馆). "... in my head I had analyzed some of the reasons it had failed..." ONLamp.com. Retrieved on 2013-07-08.
參考文獻
外部連結
- A Short Introduction to the ABC Language(页面存档备份,存于互联网档案馆)
- ABC Programmer's Handbook(页面存档备份,存于互联网档案馆)