阿T课堂开播啦!这里只有干货干锅,没有水坑没有套路!
计算机编程语言的发展,也是随着计算机本身发展而发展。人类不断的提高科技的同时,也必须使工具的使用越来越简化,从而提高整个社会效率,这其中也包括要求计算机语言接近人类的思维方式来编程。
第一代语言:机器语言
机器语言由数字组成所有指令。而第一代机器语音可以直接被cpu直接使用,由0和1组成,但对于人类来说,机器语言过于繁琐,难于维护更新,特别是大规模编码。如以下指令翻译成汇编:
1. 0000,0000,000000010000 代表 LOAD A, 16
2. 0000,0001,000000000001 代表 LOAD B, 1
3. 0001,0001,000000010000 代表 STORE B, 16
这种0和1极简的信息理论最早由香农所提出,即比特,他认为一切信息一切答案都能用0和1组成的比特来体现。
第二代语言:汇编语言
为了编程的方便,以及更大规模的软件工程。人类开始改进机器语言,使用英文缩写的助记符来表示基本的计算机操作。这些助记符构成了汇编语言的基础。相比高级语言,这是最接近机器机底层的语言,广泛应用在硬件操作,驱动程序、嵌入式操作系统和实时运行程序。与面向对象相反,汇编面向处理器的程序设计语言。
第三代:高级语言
对于简单的任务,汇编语言可以胜任。但是随着计算机的发展,渗透到了工作生活的更多的方面,一些复杂的任务出现了,汇编语言就显得力不从心(应该说是程序员使用汇编语言解决复杂问题出现了瓶颈)。于是,出现了高级语言。像我们熟知的C、C++、Java等等都是高级语言。
高级语言允许程序员使用接近人类语言的指令来编写程序。例如,实现一个简单的任务:A+B=C , 使用机器语言、汇编语言和高级语言的的实现如下图1-2所示.
从上面这个简单的加法计算,可以看出越到高级语言,越接近人的思维,人使用起来就越方便。
高级语言的出现,尤其是面向对象语言的出现,对于提高开发效率和可维护性做出了重要贡献,将来的主要编程语音还是会以高级语言的面向过程,面向对象,甚至面向领域,面向金钱开发为主。
请输入图片描述
编程语言简史
1951 – Regional Assembly Language
1952 – Autocode
1954 – IPL (LISP语言的祖先)
1955 – FLOW-MATIC (COBOL语言的祖先)
1957 – FORTRAN (第一个编译型语言)
1957 – COMTRAN (COBOL语言的祖先)
1958 – LISP
1958 – ALGOL 58
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 – 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