
ABC (程式語言)
跳到导航
跳到搜索
编程范型 | 多范式:指令式、过程式、结构化 |
---|---|
設計者 | Leo Geurts, Lambert Meertens, Steven Pemberton |
實作者 | CWI |
穩定版本 | 1.05.02
(2012年3月9日
) |
型態系統 | 强类型, 类型多态性 |
網站 | homepages![]() |
啟發語言 | |
SETL, ALGOL 68[1] | |
影響語言 | |
Python |
ABC,一種程式語言與編程環境,起源於荷兰数学和计算机科学研究学会,最初的設計者為Leo Geurts、Lambert Meertens與Steven Pemberton。程式風格受到ALGOL-68的影響,最初用來取代BASIC、Pascal與AWK,目標是在教導非專業的程式設計師學習如何開始寫程式。
程式語言Python的設計風格,有許多源自於ABC語言。Python的创立者Guido van Rossum在1980年代中期曾为ABC系统工作了很多年[2][3]。就范羅蘇姆本人看来,ABC這種語言非常優美和强大,是專門為非專業程式設計師設計的。但是ABC語言并没有成功,究其原因,他認為是非開放造成的。范羅蘇姆決心在Python中避免這一錯誤,并取得了非常好的效果。[4]
特征[编辑]
它的设计者声称ABC程序的大小典型的是等价的Pascal或C程序的四分之一,并且更加可读。关键特征包括:
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.
- ^ Guido van Rossum. Foreword for "Programming Python" (1st ed.). 1996-05-01 [2020-09-12]. (原始内容存档于2014-07-24) (英语).
本條目部分或全部内容出自以GFDL授權發佈的《自由線上電腦詞典》(FOLDOC)。