zoukankan      html  css  js  c++  java
  • 浅谈语言的过去与未来

    各个语言的的出现时间:

    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 – JavaScript

    1995 – PHP

    1996 – WebDNA

    1997 – Rebol

    1999 – D

    2000 – ActionScript

    2001 – C#

    2001 – Visual Basic .NET

    2002 – F#

    2003 – Groovy

    2003 – Scala

    2007 – Clojure

    2009 – Go

    2011 – Dart

    从 1951 年到 2014 年,人类一共发明了 256 种编程语言,每一种语言的出现都带有某些新特征。编程语言不断的在革新,很快就会有超出这个清单的新编程语言出现。

    ·第一代语言:机器语言(相当于人类的原始阶段)

    机器语言由数字组成所有指令。当让你使用数字编程,写几百个数字、甚至几千个数字,每天面对的是纯数字,我大胆预测:“程序员群体100%会有精神问题”。

    机器语言通常由数字串组成(最终被简化成01),对于人类来说,机器语言过于繁琐。使用机器语言,人类无法编出复杂的程序。如下为一段典型的机器码:

    1. 0000,0000,000000010000 代表 LOAD A, 16

    2. 0000,0001,000000000001 代表 LOAD B, 1

    3. 0001,0001,000000010000 代表 STORE B, 16

    ·第二代语言:汇编语言(相当于人类的手工业阶段)

    为了编程的方便,以及解决更加复杂的问题。程序员开始改进机器语言,使用英文缩写的助记符来表示基本的计算机操作。这些助记符构成了汇编语言的基础。如下是一些常见的汇编语言助记符(单词)比如:LOAD、MOVE之类,这样人更容易使用了。识别几百、几千个单词,感觉要比几百几千个数字,美妙多了。汇编语言相当于人类的手工业社会,需要技术极其娴熟的工匠,但是开发效率也非常低。

    汇编语言虽然能编写高效率的程序,但是学习和使用都不是易事,并且很难调试。另一个复杂的问题,汇编语言以及早期的计算机语言(Basic、Fortran等)没有考虑结构化设计原则,而是使用goto语句来作为程序流程控制的主要方法。这样做的后果是:一大堆混乱的调转语句使得程序几乎不可能被读懂。对于那个时代的程序员,能读懂上个月自己写的代码都成为一种挑战。

    汇编语言仍然应用于工业电子编程领域、软件的加密解密、计算机病毒分析等。

    ·第三代:高级语言(相当于人类的工业阶段)

    对于简单的任务,汇编语言可以胜任。但是随着计算机的发展,渗透到了工作生活的更多的方面,一些复杂的任务出现了,汇编语言就显得力不从心(应该说是程序员使用汇编语言解决复杂问题出现了瓶颈)。于是,出现了高级语言。像我们熟知的C、C++、Java等等都是高级语言。

    高级语言允许程序员使用接近日常英语的指令来编写程序。高级语言的出现,尤其是面向对象语言的出现,相当于人类的工业社会,高级语言极其易用,编程门槛和难度大大降低,大量的人员进入软件开发行业,为软件爆发性的增长提供了充足的人力资源。目前以及可预见的将来,计算机语言仍然处于“第三代高级语言”阶段。计算机语言趋势面向对象程序设计以及数据抽象在现代程序设计思想中占有很重要的地位,未来语言的发展将不在是一种单纯的语言标准,将会以一种完全面向对象,更易表达现实世界,更易为人编写,其使用计算机语言将不再只是专业的编程人员,人们完全可以用订制真实生活中一项工作流程的简单方式来完成编程。

    未来形式:


    计算机语言趋势面向对象程序设计以及数据抽象在现代程序设计思想中占有很重要的地位,未来语言的发展将不在是一种单纯的语言标准,将会以一种完全面向对象,更易表达现实世界,更易为人编写,其使用计算机语言将不再
    只是专业的编程人员,人们完全可以用订制真实生活中一项工作流程的简单方式来完成编程。
    未来发展的三个方向:
    1.并发式。 2.声明式。 3.函数式。 4.动态式。
  • 相关阅读:
    iOS开发——Xcode快捷键
    iOS开发——国际化支持Localizable.strings
    SQL 函数
    常用窗体表单布局
    Extjs grid combo
    怎么完全卸载sql2005?
    ExtJS文件上传
    ExtJS视频学习笔记
    ExtJS问题集——Menu的show()和showBy()函数是什么意思
    C# DataGridView操作
  • 原文地址:https://www.cnblogs.com/dxz1/p/9907540.html
Copyright © 2011-2022 走看看