编程语言进化史

编程语言多到你想象不到。

图片来自: 程序设计语言概念

发展历史

  • 自从1946年冯诺依曼原理被提出,计算机数据和指令是通过二进制形式以及后来的汇编语言(二进制助记符),但依然没有改变容易出错的本质。
  • 1951年Rutishauser提出的用编译程序实现高级语言的思想,为Fortran的诞生奠定基础。
  • 1954年,第一个脱离机器的高级语言Fortran诞生,它的产生为了解决汇编语言的缺点,主要用于科学计算。Fortran先后提出了所有程序语言的基础概念:
    • 变量、表达式、赋值、函数调用、输入输出
    • 条件比较、顺序、选择和循环结构
    • 用于数值计算的整数、实数、复数、数组
  • 1958年,ALGOL诞生,也称为ALGOL58,1960年更新为ALGOL60,当时IBM主推Fortran, 不支持ALGOL,ALGOL未能流行,但ALGOL的思想影响了后来的绝大部分编程语言。
  • 1960年,COBOL语言发布,用于商务处理。COBOL的目标是哪怕只能看懂英文的人也能看懂COBOL. 它提出了记录的概念(如今的struct)、表和文件,但很繁琐。
  • 也是50年代末期,用于人工智能研究的LISP语言被提出。它只被科学家使用,没有广泛普及。
  • 尽管如上,50年代工程端依然是汇编语言的市场。
  • 1962年,APL语言被提出,主要面向数学。
  • 同样是1962年,用于文本处理的SNOBOL诞生。80年代ICON是它的后裔。
  • 1963~64年,IBM试图设计一款集Fortran/COBOL和ALGOL优点于一体的编程语言,命名为PL/1, 但由于太庞大未能普及。
  • 1964年,ALGOL 60的改进版ALGOL W诞生。
  • 1967年,为普及程序教育未初学者量身打造的BASIC诞生。
  • 同样1967年,为青少年启蒙的LOGO语言诞生。
  • 1967年,SIMULA67诞生。它以ALGOL 60为基础,首次提出了”类”的概念。
  • 1968年,ALGOL 68在ALGOL W的基础上继续发展。ALGOL 68集语言和技术的大成,提出了很多重要的思想,对C语言产生了重大影响。但其学术气太重,难以掌握,未能流行。
  • 1971年,Pascal诞生。最初本着精简、有效、可靠的设计思想,引入了丰富的数据类型和完全结构化的控制结构,迅速普及,为后来的程序语言有里程碑的影响。
  • 1971~72年,Bliss语言诞生,属于无类型的结构化语言。
  • 1972年,C语言诞生。C语言原型是BCPL语言,BCPL又被改造成B语言,接着改造成C语言。C语言重写Unix操作系统,操作系统和编程语言互相促进,很快就把Pascal抛在后面。
  • 1972年,非面向过程的Prolog语言诞生,利用谓词可实现逻辑推理,为人工智能研究提供重要基础。
  • 1972~74年,Mesa语言诞生。
  • 1974年左右,Clu编程语言诞生,同样有类概念,它的语法来自ALGOL,没有继承的概念。Clu提出了模板、异常处理和迭代器、多任务(超过一个变量在赋值运算符左侧),影响了C++、Python、Ruby和Lua的设计。
  • 1975年Modula发布,1977年,正式发布为Modula-2.
  • 1976年,Euclid语言诞生,基于Pascal语言。
  • 70年代,美国军方招标开发新语言,就是后来的Ada,后面发展为Ada-83和Ada-95.
  • 70年代末到80年代初值得一提的还有FORTH语言。
  • 1980年,Smalltalk-80发布,类概念来自SIMULA 67,又提出了类继承概念。面向对象思想影响很大,Object Pascal、Objective-C、Objext Assembler(68000汇编程序改造)。Object LOGO、Object FROTH均采用消息编程模式。
  • 1981年,Edison语言诞生,有并发语言和控制功能。
  • 1983年,LISP的面向对象版本LOOPS诞生,1985年Common LOOPS诞生。CLOS?
  • 1985年,C++诞生。
  • 1985年,SPOOL作为Prolog面向对象的扩展诞生。
  • 1985年,Eiffel诞生。
  • 1987年,Borland Turbo Pascal 5.5诞生。
  • 1988年,查询类语言SQL语言诞生。
  • 80年代,操作系统统一界面语言开始形成,如Shell.
  • Oberon是1990年代左右完成。
  • 微软于1991年发布Visual Basic 1.0, 经过十年演变逐渐演变为VB6.0,在.NET发布之后的2002年更新为Visual Basic.NET(7.0). 相比VB6.0,增加了面向对象的设计。

    ……


微风不燥,阳光正好,你就像风一样经过这里,愿你停留的片刻温暖舒心。

我是程序员小迷(致力于C、C++、Java、Kotlin、Android、iOS、Shell、JavaScript、TypeScript、Python等编程技术的技巧经验分享),若作品对您有帮助,请关注、分享、点赞、收藏、在看、喜欢,您的支持是我们为您提供帮助的最大动力。

欢迎关注。助您在编程路上越走越好!

  • 27
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值