程序设计语言发展历程

来自计算思维百科
跳转至: 导航搜索

真正意义上的计算机程序设计语言是伴随着电子计算机的产生发展而逐步发展起来的。

简介

著名英国诗人拜伦之女爱达·勒芙蕾丝(Ada Lovelace,原名奥古斯塔·爱达·拜伦,Augusta Ada Byron,后从夫勒芙蕾丝伯爵的姓)是19世纪的一位英国数学家。她在1842-1843年间翻译了意大利数学家蒙纳博雷(Luigi Menabrea)的一篇关于计算机的先驱英国数学家巴贝奇(Charles Babbage)发明的分析机(Analytical Engine)的文章。在这篇翻译的附录中,勒芙蕾丝描述了一个用分析机计算伯努利数(Bernoulli numbers)的方法。一些历史学家认为这是历史上第一个计算机(是指更广泛意义上的计算机,而不是电子计算机)程序,而勒芙蕾丝也因此被称为第一个程序员。

真正意义上的计算机程序设计语言是伴随着电子计算机的产生发展而逐步发展起来的。

10.2.1.png

表1 列出了计算机程序设计语言的发展简史。

1940-1950:开端

真正意义上的现代计算机程序设计语言是伴随着电子计算机的产生而产生的。德国工程师和计算机先驱康拉德·楚泽(Konrad Zuse)在1941年设计了世界上第一个有完备程控功能的图灵计算机Z3并实现了其后续机型的商业化。1943年,楚泽设计了Plankalkül语言,但是直到1948年才正式发表。而Plankalkül 的第一个编译器直到1998年才实现。同时,世界上第一台电子计算机ENIAC的编程语言ENIAC coding system也于1943年设计出来。

1950-1967:百花齐放的阶段

上世纪50年代初到60年代中期是计算机程序设计语言发展的一个百花齐放的阶段,涌现出很多新的语言。其中数种语言到现在依然广泛使用,甚至产生了很多分支,比如FORTRAN、LISP、COBOL和BASIC等。ALGOL语言也在这个阶段出现,标志着程序设计语言学科领域的开始。此外,第一个带有面向对象程序设计特征的语言Simula也是在这个阶段出现的。

1968-1978:范型发展阶段

上时间60年度末到70年度末是计算机程序设计语言另一个大发展的时期,各种范型的语言都出现了。这个时期同样也涌现出很多目前广泛使用的语言,例如最普遍的系统级语言C、第一个完全意义上的面向对象程序设计语言Smalltalk、影响深远的面向结构化程序设计语言Pascal、逻辑式程序设计语言Prolog、以及数据应用领域的标准语言SQL等。

此外,这个阶段还爆发了关于结构化程序设计中是否应该使用goto语句的大讨论。著名计算机科学家1972年图灵奖得主迪杰斯特拉(Edsger Wybe Dijkstra)是使用goto语句的坚决反对者。目前,大部分的程序员都认为使用goto语句是有害的。

1979-1989:巩固提高阶段

上世纪80年代并没有出现新的范型类型的程序设计语言,发展的重点集中在已有语言的巩固提高上。C++把面向对象和系统级程序设计结合起来;美国政府为国防项目承包商规定了标准化的Ada语言;日本政府以及其他地方投入了大量的资金对采用逻辑程序设计语言结构的第五代语言进行研究。函数式程序设计语言领域则把焦点转移到标准化ML及Lisp语言上。

值得一提的是,著名的脚本语言Perl是在这个阶段提出的。

1990-1999:互联网时代

上世纪90年代互联网的飞速发展也是程序设计语言领域的一个重要里程碑。新的平台的出现也促进了新的语言的发生发展,Java就是在这个阶段应运而生的。函数式程序设计语言在这个阶段取得了长足的发展。同时,许多"快速应用程式开发" (RAD) 语言也应运而生,这些语言大多是已有语言衍生出的面向对象语言,整合了集成开发环境和垃圾回收等机制,包括Visual Basic、Visual C++、Delphi等。这个阶段出现的主要语言包括函数式语言Haskell、网页语言Html、RAD语言Visual Basic和Delphi、以及著名脚步语言Python等。

2000-:进一步发展的新世纪

进入新世纪,程序设计语言继续在学术和工业界两个方面发展。这段时间出现的主要语言包括C#和.NET等。