收藏 分享(赏)

C语言发展史new.doc

上传人:dreamzhangning 文档编号:2825716 上传时间:2018-09-28 格式:DOC 页数:7 大小:27KB
下载 相关 举报
C语言发展史new.doc_第1页
第1页 / 共7页
C语言发展史new.doc_第2页
第2页 / 共7页
C语言发展史new.doc_第3页
第3页 / 共7页
C语言发展史new.doc_第4页
第4页 / 共7页
C语言发展史new.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

1、C 语言发展史1、第一个编程语言比现代的计算机还早诞生。首先,这种语言是种编码(en:code)。于 1801 年发明的提花织布机(或称甲卡提花织布机,英文:en:Jacquard loom),运用打孔卡上的坑洞来代表缝纫织布机的手臂动作,以便自动化产生装饰的图案。Ada Lovelace 在 1842 年至 1843 年间花费了九个月,将意大利数学家 Luigi Menabrea 关于查尔斯 巴贝奇新发表机器分析机的回忆录翻译完成。她于那篇文章后面附加了一个用分析机计算伯努利数方法的细节,被部分历史学家认为是世界上第一个电脑程序。 Herman Hollerith 在观察列车长对乘客票根在特

2、定位置打洞的方式后,意识到他可以把资讯编码记载到打孔卡上,随后根据这项发现使用打孔卡来编码并纪录 1890 年的人口统计资料。第一个计算机程式码是针对他们的应用面设计的。在 20 世纪的前十年主要是用十进制来算数,后来人们发现不只是用文字,也可以用数字来表现逻辑。举例来说,阿隆佐邱奇曾以公式化(formulaic)的方式表达 演算。图灵机 是一种纸带标记(tape-marking)机器(就像电话公司用的那种 )操作方法抽象化后的集合。图灵机这种透过有限数字(finite number)呈现机器的方式,奠定了程式如同冯诺伊曼结构计算机中的资料一样地储存的基础。但不同于 演算,图灵机的程式码并没有

3、办法成为高阶编程语言的基石,这是是因为它主要的用途是分析算法的复杂度。就像许多历史上的“第一次“一样,第一个现代编程语言也很难界定。最一开始是因为硬件限制而限定了语言,打孔卡允许 80行(column) 的长度,但某几行必须用来记录卡片的顺序。FORTRAN 则纳入了一些与英文字词相同的关键字,像是“IF“、“GOTO“( 原字词为 go to),以及“CONTINUE“。之后采用磁鼓(magnetic drum)作为内存使用,也代表计算机程式也必须插入(interleave)到磁鼓的转动(rotation)中。和现今比较起来,这也让编程语言必须更加依赖硬件(hardware-dependen

4、t)。对部分的人认为必须在“编程语言“的状态确立之前,根据能力(power)以及可读性 (human-readability)的程度来决定历史上第一个编程语言是什么语言。提花织布机和查尔斯巴贝奇所制作的差分机(en:Difference Engine)都具备在大量限制下,简单描述机器应执行行为的语言。也有种并非设计给人类运用的受限特定领域语言(en:domain-specific language),是将打孔卡运用到自动演奏钢琴(en:player piano)上。2、ALGOL ,为“算法语言 ”(ALGOrithmic Language)的缩写,是计算机发展史上首批产生的高级程式语言家族。

5、ALGOL 语言并没有被广泛的使用,但它是许多现代程序语言的概念基础。Algol 58: 1958 年, ACM 小组和以当时联邦德国的应用数学和力学协会 GAMM 在苏黎世把他们关于算法表示法的建议综合为一,形成了 Algol 58,先被命名为 IAL(国际代语言,International Algebraic Language),后来改称 Algol 58。Algol 60:1960 年 1 月,图灵奖获得者:艾伦佩利在巴黎举行的有全世界一流软件专家参加的讨论会上,发表了“算法语言Algol 60 报告“,确定了程序设计语言 Algol 60。Algol60 语言的第一个编译器由艾兹赫尔戴

6、克斯特拉来实现。1962 年,艾伦。佩利又对 Algol 60 进行了修正。Algol 60 引进了许多新的概念如:局部性概念、动态、递归、巴科斯-诺尔范式 BNF(Backus-Naur Form)等等。Algol 60 是程序设计语言发展史上的一个里程碑,它标志着程序设计语言成为一门独立的科学学科,并为后来软件自动化及软件可靠性的发展奠定了基础。Algol 68:Algol W:1966 年,IFIP 吸收尼克劳斯维尔特参加对 Algol 语言进行完善与扩充的工作小组。沃思参加进去以后,提交了一份建议书并由东尼霍尔等人修改、完善以后形成Algol W。Algol 68 一些较少被使用到的语

7、言功能 (如同步与并列区块)、语法捷径的复杂系统,以及型态自动强制转换(coercions),使得实作者兴趣缺缺,也让 Algol 68 获得了很难用(diffcult)的名声。尼克劳斯维尔特就干脆离开该设计委员会,另外在开发出更简单的 Pascal 语言。2、CPL(英语:Combined Programming Language,原名 Cambridge Programming Language)在 1963 年,由英国的剑桥大学和伦敦大学首先开发出来。CPL 语言在 ALGOL 60 的基础上更接近硬件一些,但规模比较大,难以实现。3、BCPL(Basic Combined Progra

8、mming Language),源自 CPL 语言,1966 年由剑桥大学的马丁理察德(Martin Richards)所发展出来的。Richards 试着移除了 CPL 中最复杂的组成,第一支 BCPL compiler 在 IBM 7094 电脑中完成。身为早期编程语言的 BCPL,如今已不再广泛使用,但它的影响却是深远的,BCPL 是第一支使用括号语言,括号特征在 C语言中随处可见。BCPL 程序从一个主函数中开始,功能模块可以添加在各个函数中,函数支持嵌套和递归。4、B 语言于 1969 年前后由美国贝尔实验室的电脑科学家肯汤普森(Ken Thompson)在丹尼斯利奇(Dennis

9、Ritchie)的支持下设计出来。B 语言是从 BCPL 系统中删减了汤姆森认为非必备的组件以便能运行在当时的小型计算机上而产生的。B 语言还包括了汤姆森的一些个人偏好(主要在一些特定的程序中减少非空格字符的数量)。 B 语言只有一种数据类型,计算机字。大部分操作将其作为整数对待(例如进行+、-、*、/操作),但其余操作将其作为一个复引用的内存地址。B 语言包括了一些库函数。20 世纪 60 年代,美国 AT&T 公司贝尔实验室(AT&T Bell Laboratory)的研究员 Ken Thompson 闲来无事,手痒难耐,想玩一个他自己编的,模拟在太阳系航行的电子游戏Space Trave

10、l。他背着老板,找到了台空闲的机器PDP-7。但这台机器没有操作系统,而游戏必须使用操作系统的一些功能,于是他着手为 PDP-7 开发操作系统。后来,这个操作系统被命名为UNIX。1970 年,美国贝尔实验室的 Ken Thompson,以BCPL 语言为基础,设计出很简单且很接近硬件的 B 语言(取 BCPL 的首字母)。并且他用 B 语言写了第一个UNIX 操作系统。1971 年,同样酷爱 Space Travel 的 Dennis M.Ritchie为了能早点儿玩上游戏,加入了 Thompson 的开发项目,合作开发 UNIX。他的主要工作是改造 B 语言,使其更成熟。5、1972 年美

11、国贝尔实验室的 D.M.Ritchie 丹尼斯利奇 在 B 语言的基础上最终设计出了一种新的语言,他取了 BCPL 的第二个字母作为这种语言的名字,这就是C 语言。1973 年初,C 语言的主体完成。Thompson 和 Ritchie 迫不及待地开始用它完全重写了 UNIX。此时,编程的乐趣使他们已经完全忘记了那个“Space Travel“,一门心思地投入到了UNIX 和 C 语言的开发中。1977 年,Dennis M.Ritchie 发表了不依赖于具体机器系统的C 语言编译文本可移植的 C 语言编译程序。1978 年由美国电话电报公司(AT&T)贝尔实验室正式发表了 C 语言。布莱恩

12、柯林汉(Brian Kernighan) 和 丹尼斯里奇(Dennis Ritchie) 出版了一本书,名叫The C Programming LanguageC 程序设计语言。这本书被 C 语言开发者们称为“K&R“,很多年来被当作 C 语言的非正式的标准说明。人们称这个版本的 C 语言为 K&R C。6、1982 年,成立 C 标准委员会,建立 C 语言的标准。委员会由硬件厂商,编译器及其他软件工具生产商,软件设计师,顾问,学术界人士,C 语言作者和应用程序员组成。1983 年美国国家标准局 (American National Standards Institute,简称 ANSI)成立

13、了一个委员会。1989 年 C 语言标准被批准,被称为 ANSI X3.159-1989 “Programming Language C“,俗称 ANSI C 或 C89 标准。1990 年,国际标准化组织 ISO(International Organization for Standards)接受了 1989 年的 ANSI C 为 ISO C 的标准,命名为 ISO/IEC 9899:1990,简称 C90 标准。不过习惯上仍然叫 C89 标准。1994 年,ISO 修订了 C 语言的标准。1995 年,ISO 对 C90 做了一些修订,即“1995 基准增补1(ISO/IEC/9899/AMD1:1995)”。在 ANSI 标准化后,C语言的标准在一段相当的时间内都保持不变,尽管 C 继续在改进。1999 年 ISO 9899:1999 的发表。它通常被称为C99。C99 被 ANSI 于 2000 年 3 月采用。2011 年 12 月 8 日,ISO 正式发布了新的 C 语言的新标准C11,之前被称为 C1X,官方名称为 ISO/IEC 9899:2011。新的标准提高了对 C+的兼容性,并增加了一些新的特性。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 专业基础教材

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报