History of program

1950与1960年代

有三个现代编程语言于1950年代被设计出来,这三者所派生的语言直到今日仍旧广泛地被采用:

另一个1950年代晚期的里程碑是由美国与欧洲计算器学者针对"算法的新语言"所组成的委员会出版的ALGOL 60报告(名称取自"ALGOrithmic Language"(算法语言))。这份报告强化了当时许多关于计算的想法,并提出了两个语言上的创新功能:

  • 嵌套区块结构:可以将有意义的代码片段组群成一个区块(block),而非转成分散且特定命名的程序。
  • 词汇范围(lexical scoping):区块可以有区块外部无法透过名称访问,属于区块本身的变量、程序以及函数。

另一个创新则是关于语言的描述方式:

  • 一种名为巴科斯-诺尔范式 (BNF)的数学化精确符号被用于描述语言的语法。之后的编程语言几乎全部都采用类似BNF的方式来描述程序语法中上下文无关的部分。

Algol 60对之后语言的设计上带来了特殊的影响,部分的语言很快的就被广泛采用。后续为了开发Algol的扩展子集合,设计了一个名为Burroughs(en:Burroughs large systems)的大型系统。

延续Algol的关键构想所产生的成果就是ALGOL 68

  • 语法跟语义变的更加正交(orthogonal),采用匿名的历程(routines),采用高端(higher-order)功能的递归式输入(typing)系统等等。
  • 整个语言及语义的部分都透过为了描述语言而特别设计的Van Wijngaarden grammar来进行正式的定义,而不仅止于上下文无关的部分。

Algol 68一些较少被使用到的语言功能(如同步与并行区块)、语法快捷方式的复杂系统,以及类型自动强制转换(coercions),使得实现者兴趣缺缺,也让Algol 68获得了很难用(diffcult)的名声。尼克劳斯·维尔特就干脆离开该设计委员会,另外再开发出更简单的Pascal语言。

在这段期间被开发出来的重要语言包括有:

1967-1978:确立了基础范式

1960年代晚期至1970年代晚期的期间中,编程语言的发展也有了重大的成果。大多数现在所使用的主要语言范式都是在这段期间中发明的:

这些语言都各自演展出自己的家族分支,现今多数现代编程语言的祖先都可以追溯他们其中至少一个以上。

在1960年代以及1970年代中结构化程序设计的优点也带来许多的争议,特别是在程序开发的过程中完全不使用GOTO。这项争议跟语言本身的设计非常有关系:某些语言并没有包含GOTO,这也强迫程序员必须结构化地编写程序。尽管这个争议在当时吵翻了天,但几乎所有的程序员都同意就算语言本身有提供GOTO的功能,在除了少数罕见的情况下去使用GOTO是种不良的程序风格。结果是之后世代的编程语言设计者发觉到结构化编程语言的争议实在既乏味又令人眼花缭乱。

在这段期间被开发出来的重要语言包括有:

1980年代:增强、模块、性能

1980年代的编程语言与之前相较显得更为强大。C++合并了面向对象以及系统程序设计。美国政府标准化一种名为Ada的系统编程语言并提供给国防承包商使用。日本以及其他地方运用了大量的资金对采用逻辑编程语言结构的第五代语言进行研究。函数编程语言社群则把焦点转移到标准化ML及Lisp身上。这些活动都不是在开发新的范式,而是在将上个世代发明的构想进一步发扬光大。

然而,在语言设计上有个重大的新趋势,就是研究运用模块或大型组织化的程序单元来进行大型系统的开发。Modula、Ada,以及ML都在1980年代发展出值得注意的模块化系统。模块化系统常拘泥于采用泛型程序设计结构:泛型存在(generics being)、本质(essence),参数化模块(parameterized modules)。(参阅多态)

尽管没有出现新的主要编程语言范式,许多研究人员仍就扩展之前语言的构想并将它们运用到新的内容上。举例来说,Argus以及Emerald系统的语言配合面向对象语言运用到分布式系统上。

1980年代的编程语言实现情况也有所进展。计算机系统结构RISC的进展假定硬件应当为编译器设计,而非身为人类的汇编语言程序员。借由中央处理器速度增快的帮助,编译技术也越来越积极,RISC的进展对高级语言编译技术带来不小的关注。

语言技术持续这些发展并迈入了1990年代。

在这段期间被开发出来的重要语言包括有:

1990年代:互联网时代

1990年代未见到有什么重大的创新,大多都是以前构想的重组或变化。这段期间主要在推动的哲学是提升程序员的生产力。许多"快速应用程序开发" (RAD) 语言也应运而生,这些语言大多都有相应的集成开发环境垃圾回收等机制,且大多是先前语言的派生语言。这类型的语言也大多是面向对象的编程语言,包含有Object PascalVisual Basic,以及C#Java则是更加保守的语言,也具备垃圾回收机制。与其他类似语言相比,也受到更多的观注。新的脚本语言则比RAD语言更新更好。这种语言并非直接从其他语言派生,而且新的语法更加开放地(liberal)与功能契合。虽然脚本语言比RAD语言来的更有生产力,但大多会有因为小程序较为简单,但是大型程序则难以使用脚本语言撰写并维护的顾虑[来源请求]。尽管如此,脚本语言还是网上层面的应用上大放异彩。

在这段期间被开发出来的重要语言包括有:

现今的趋势

编程语言持续在学术及企业两个层面中发展进化,目前的一些趋势包含有:

在这段期间被开发出来的重要语言包括有:

自己的预测

  程序员对编程语言的要求不外乎是:好用,没bug,能快速开发,容易写出高质量的代码,性能好,可伸缩,容易部署,生态圈完备等。所以程序语言这块广阔的市场的价值主张也主要围绕着这些需求展开。

  我的预测是,未来仍会是不同的方向对应不同的编程语言。但是编程语言会朝着易用性、快速开发、高质量代码方向发展。

  在这个云计算时代,有太多太多可能性。编程语言的市场在呼唤一个能够以并发性的原语为指令基础,以分治的思想为指导原则写代码的语言或者VM。

  因此,函数式语言(functional programming language)顺应时代的趋势,正逐步扩大影响力,它势必会在未来成为相当有竞争力的语言之一。

参考:  

作者:陈天
链接:https://zhuanlan.zhihu.com/p/19960178

原文地址:https://www.cnblogs.com/kazama/p/9902163.html

时间: 2024-10-02 23:01:23

History of program的相关文章

History of program(1950-2020)

1957年 约翰·巴科斯(John Backus)创建了是全世界第一套高阶语言:FORTRAN. John Backus 1959年 葛丽丝·霍普(Grace Hopper)创造了现代第一个编译器A-0 系统,以及商用电脑编程语言"COBOL",被誉为COBOL之母 . Grace Hopper 1964年 约翰·凯梅尼(John Kemeny)和托马斯·库尔茨(Thomas Kurtz)共同开发了BASIC程序语言. John Kemeny Thomas Kurtz 1970年 尼克

history of program(language)

Visual Basic从1991年诞生以来,现在已经13年了.BASIC是微软的起家产品,微软当然不忘了这位功臣.随着每一次微软技术的浪潮,Visual Basic都会随之获得新生.可以预见,将来无论微软又发明了什么技术或平台,Visual Basic一定会首先以新的姿态登上去的.如果你想紧跟微软,永远在最新的技术上最快速地开发,你就应该选择Visual Basic. 1991-西雅图夜空的雷电随着Windows 3.0的推出,越来越多的开发商对这个图形界面的操作系统产生了兴趣,大量的Wind

9th week blog(History of Program)

object的发展史: 一.面向对象的发展史.(分为三个阶段) (一)初级阶段   20世纪60年代挪威计算中心开发的Simula 67,首先引入了类的概念和继承机制,它是面向对象语言的先驱.该语言的诞生是面向对象发展史上的第一个里程碑.随后20世纪70年代的CLU.并发Pascal.Ada和Modula2等语言对抽象数据类型理论的发展起到了重要作用,它们支持数据与操作的封装.犹他大学的博士生Alan Kay设计出了一个实验性的语言Flex,该语言从Simula 67中借鉴了许多概念,如类.对

Report of program history

计算机语言的发展历程可以简单划分为以下几个阶段 : 机器语言--->汇编语言-->高级计算机语言 机器语言:最初的计算机所使用的是由"0"和"1"组成的二进制数,二进制是计算机的语言的基础.计算机发明之初,计算机只能被少部分人使用,人 们需要用0.1组成的指令序列交由计算机执行,对于机器语言的使用与普及都是很令人头疼的问题.对于程序的移植能力几乎没有,从而时间成本,人力成本十分昂贵.但机器语言也不是没有优势,由于这种语言是直接对计算机硬件进行操作,所以在

history program(language)

1950与1960年代 有三个现代编程语言于1950年代被设计出来,这三者所衍生的语言直到今日仍旧广泛地被采用: Fortran (1955),名称取自"FORmula TRANslator"(公式翻译器),由约翰·巴科斯等人所发明: LISP,名称取自"LISt Processor"(列举处理器),由约翰·麦卡锡等人所发明: COBOL,名称取自"COmmon Business Oriented Language"(通用商业导向语言),由被葛丽

uva 111 History Grading(DP初步应用)

uva 111 History Grading Many problems in Computer Science involve maximizing some measure according to constraints. Consider a history exam in which students are asked to put several historical events into chronological order. Students who order all

POJ1789:Truck History(Prim算法)

http://poj.org/problem?id=1789 Description Advanced Cargo Movement, Ltd. uses trucks of different types. Some trucks are used for vegetable delivery, other for furniture, or for bricks. The company has its own code describing each type of a truck. Th

poj 1789 Truck History 最小生成树

Description Advanced Cargo Movement, Ltd. uses trucks of different types. Some trucks are used for vegetable delivery, other for furniture, or for bricks. The company has its own code describing each type of a truck. The code is simply a string of ex

Brief History of Machine Learning

Brief History of Machine Learning My subjective ML timeline Since the initial standpoint of science, technology and AI, scientists following Blaise Pascal and Von Leibniz ponder about a machine that is intellectually capable as much as humans. Famous