编程语言多到你想象不到。
图片来自: 程序设计语言概念
发展历史
- 自从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等编程技术的技巧经验分享),若作品对您有帮助,请关注、分享、点赞、收藏、在看、喜欢,您的支持是我们为您提供帮助的最大动力。
欢迎关注。助您在编程路上越走越好!