一、计算机的发展
第二次世界大战期间,敌对双方都使用了飞机和火炮,猛烈轰炸对方军事目标,要想打得准,必须精确计算并计算出绘制“射击图表”。美国国防部要求宾夕法尼亚大学设计以电子管取代继电器的电子化电脑,目的是用来计算炮弹的弹道。
二、编程语言发展
(1)机器语言
光电阅读机将记录在穿孔卡片上的数据读入计算机,计算的结果则利用打卡机在卡片打出的一些小孔就表示输出数据。卡片上穿孔代表0/1记录数据。
计算机能直接识别和接受的二进制代码称为机器指令。
机器指令的集合就是该计算机的机器语言。
机器语言的特点是:难学、难记、难检查、难修改、难以推广使用。依赖具体机器难以移植。
(2)汇编语言
由于机器语言难以理解,莫奇莱等人发明助记符来代替0、1。
也就是把机器语言的符号化,用英文字母和数字表示指令的符号语言。
汇编语言的特点是:相比机器语言简单好记,但仍然难以普及。汇编指令需通过汇编程序转换为机器指令才能被计算机执行。依赖具体机器难以移植。
(3)高级语言
到了高级语言,就更接近于人们习惯使用的自然语言和数学语言。
高级语言特点是:功能强大,不依赖于具体机器。用高级语言编写的源程序需要通过编译程序转换成机器指令的目标程序。
在1957年,第一个高级语言fortran诞生。
(4)第一个结构化语言
1960年,第一个结构化程序设计语言推出ALGOL
(5)最简单的BASIC语言
1964年美国达特莱斯学院的两个教员开发basic语言。
1967年开发Pascal语言
三、C语言的发展史
- C语言的祖先ALGOL60,1963年,英国的剑桥大学个伦敦大学首先将ALGOL60发展成CPL。
- 1967年英国剑桥大学的Matin Richards对CPL语言做了简化,推出BCPL语言。
- 1970年美国贝尔实验室的Ken Thompson以BCPL语言为基础,又作了进一步的简化,设计出了很简单的而且很接近硬件的B语言,并用B语言开发了第一个高级语言的UNIX操作系统。
- 1983年Ken Thompson与在UNIX系统上的亲密合作者Dennis RIT坻崿将B语言改成了C语言。
- 1978年,Brain W. Kernighan、Ken Thompson与Dennis Ritchie合著了著名的《The C Programming Language》,该书介绍的C语言成为后来广泛使用的C语言版本的基础。
- 20世纪60年代,C语言被广泛应用,从大型主机到小型微机,也产生了C语言的很多不同版本。
- 1983年美国国家标准局(ANSI)成立委员会,来制定C语言标准
- 1989年C语言标准被批准,这个版本的C语言被称为ANSI C。
- 1990年国际标准化组织ISO接受C89(ANSI C)为ISO C标准。
- 1999年ISO又对C语言标准进行修订,保留原来C语言特征基础上,增加了一些功能,被称为C99。
- 2011年ISO正式发布了C语言新的国际标准草案:ISO/IEC 9899:2011,即C11。
四、C语言的之父
丹尼斯·里奇,全名丹尼斯·麦卡利斯泰尔·里奇(Dennis MacAlistair Ritchie)
百度百科