丰酱

导航

编程语言发展史

        二十世纪四十年代当计算机刚刚问世的时候,程序员必须手动控制计算机。当时的计算机十分昂贵,唯一想到利用程序设计语言来解决问题的人是德国工程师楚泽(konradzuse)。不久后,计算机的价格大幅度下跌,而计算机程序也越来越复杂。也就是说,开发时间已经远比运行时间来得宝贵。于是,新的集成、可视的开发环境越来越流行。它们减少了所付出的时间、金钱(以及脑细胞)。只要轻敲几个键,一整段代码就可以使用了。这也得益于可以重用的程序代码库。随着c,pascal,fortran,等结构化高级语言的诞生,使程序员可以离开机器层次,在更抽象的层次上表达意图。由此诞生的三种重要控制结构,以及一些基本数据类型都能够很好的开始让程序员以接近问题本质的方式去思考和描述问题。随着程序规模的不断扩大,在60年代末期出现了软件危机,在当时的程序设计模型中都无法克服错误随着代码的扩大而级数般的扩大,以至到了无法控制的地步,这个时候就出现了一种新的思考程序设计方式和程序设计模型-----面向对象程序设计,由此也诞生了一批支持此技术的程序设计语言,比如eiffel,c++,java,这些语言都以新的观点去看待问题,即问题就是由各种不同属性的对象以及对象之间的消息传递构成。面向对象语言由此必须支持新的程序设计技术,例如:数据隐藏,数据抽象,用户定义类型,继承,多态等等。

       下面这张图片描绘了整个编程语言的历史。包括各种编程语言的发明人,编程语言的特点和适用领域,被什么网站或公司使用等。

编程语言发展的编年史:

1951 – Regional Assembly Language 

1952 – Autocode 

1954 – IPL (LISP语言的祖先) 

1955 – FLOW-MATIC (COBOL语言的祖先) 

1957 – FORTRAN (第一个编译型语言)  1957 – COMTRAN (COBOL语言的祖先) 

1958 – LISP  1958 – ALGOL  

1959 – FACT (COBOL语言的祖先)  1959 – COBOL  1959 – RPG 

1962 – APL  1962 – Simula  1962 – SNOBOL 

1963 – CPL (C语言的祖先) 

1964 – BASIC     1964 – PL/I  1966 – JOSS 

1967 – BCPL (C语言的祖先) 

1968 – Logo 

1969 – B (C语言的祖先)  1970 – Pascal  1970 – Forth 

1972 – C  1972 – Smalltalk  1972 – Prolog 

1973 – ML 

1975 – Scheme        

1978 – SQL 

1980 – C++ (既有类的C语言,更名于1983年7月) 

1983 – Ada 

1984 – Common Lisp  1984 – MATLAB 

1985 – Eiffel  1986 – Objective-C 

1986 – Erlang 

1987 – Perl 

1988 – Tcl    1988 – Mathematica 

1989 – FL 

1990 – Haskell  

1991 – Python  1991 – Visual Basic 

1993 – Ruby  1993 – Lua 

1994 – CLOS (ANSI Common Lisp的一部分)  

1995 – Java  1995 – Delphi (Object Pascal)  1995 – Java  1995 – PHP 

1996 – WebDNA 

1997 – Rebol  1999 – D 

2000 – Action 

2001 – C#  2001 – Visual Basic .NET 

2002 – F#  2003 – Groovy 

2003 – Scala 

2007 – Clojure 

2009 – Go 

2011 – Dart

        如今通用的编程语言有两种形式:汇编语言和高级语言。
计算机语言 计算机语言
汇编语言和机器语言实质是相同的,都是直接对硬件操作,只不过指令采用了英文缩写的标识符,容易识别和记忆。源程序经汇编生成的可执行文件不仅比较小,而且执行速度很快。
        高级语言是绝大多数编程者的选择。和汇编语言相比,它不但将许多相关的机器指令合成为单条指令,并且去掉了与具体操作有关但与完成工作无关的细节,例如使用堆栈、寄存器等,这样就大大简化了程序中的指令。同时,由于省略了很多细节,编程者也就不需要有太多的专业知识。
高级语言主要是相对于低级语言而言,它并不是特指某一种具体的语言,而是包括了很多编程语言,如流行的vb、vc、foxpro、delphi等,这些语言的语法、命令格式都各不相同。
       高级语言所编制的程序不能直接被计算机识别,必须经过转换才能被执行,按转换方式可将它们分为两类:解释类和编译类。
特别要提到的:在C语言诞生以前,系统软件主要是用汇编语言编写的
计算机语言 计算机语言
。由于汇编语言程序依赖于计算机硬件,其可读性和可移植性都很差;但一般的高级语言又难以实现对计算机硬件的直接操作(这正是汇编语言的优势),于是人们盼望有一种兼有汇编语言和高级语言特性的新语言——C语言。
        高级语言的发展也经历了从早期语言到结构化程序设计语言,从面向过程到非过程化程序语言的过程。相应地,软件的开发也由最初的个体手工作坊式的封闭式生产,发展为产业化、流水线式的工业化生产。
        高级语言的下一个发展目标是面向应用,也就是说:只需要告诉程序你要干什么,程序就能自动生成算法,自动进行处理,这就是非过程化的程序语言。

posted on 2018-11-04 23:22  丰酱  阅读(797)  评论(0编辑  收藏  举报