二叉排序树的实现_webservice原理_二叉排序树的删除图解(9)

电脑杂谈  发布时间:2017-03-17 05:12:08  来源:网络整理

1989 – FL (Backus)

1990年代:互联网时代

1990 – Haskell

1991 – Python

1991 – Visual Basic

1993 – Ruby

1993 – Lua

1994 – CLOS (part of ANSI Common Lisp)

1995 – Java

1995 – Delphi (Object Pascal)

1995 – JavaScript

1995 – PHP

1997 – REBOL

1999 – D

现今的趋势

编程语言持续在学术及企业两个层面中发展进化,目前的一些趋势包含有:

在语言中增加安全性与可靠性验证机制:额外的堆栈检查、资讯流(information flow)控制,以及静态执行绪安全。

提供模组化的替代机制:混入(en:mixin)、委派(en:delegates),以及观点导向。

元件导向(component-oriented)软件开发

元编程、反射或是存取抽象语法树(en:Abstract syntax tree)

更重视分散式及移动式的应用。

与的整合,包含XML及关联式。

支援使用Unicode编写程式,所以源代码不会受到ASCII字符集的限制,而可以使用像是非拉丁语系的脚本或延伸标点符号。

图形化使用者接口所使用的XML(XUL、XAML)。二叉排序树的实现

在这段期间被开发出来的重要语言包括有:

2001 – C#

2001 – Visual Basic .NET

2002 – F#

2003 – Scala

2003 – Factor

2006 – Windows PowerShell

2007 – Clojure

2009 – Go

需求

在回顾这些历史的时候发现,我们无论是创造程序语言还是计算机,或者软件也好,最终的目的都是为了两个字——需求。我们遵循着工具理性的框架,追寻着完成需求的目标。而在计算机发展的过程的过程中,主要的需求有哪些?

不断创造更加好用的硬件基础。并且创造响应的软件来适应更快的硬件。

webservice原理_二叉排序树的实现_二叉排序树的删除图解

随着硬件规模和软件规模的不断扩大,发展相应的理论去控制规模扩大带来的影响,即控制复杂性。

当然,我们必须先解决的第一个需求就是我们创造计算机的原始需求:创造工具来满足人们现实生活中的需求。但是像绝大部分工具一样,一旦我们穿凿了它,它本省也会衍生出来很多需求。工具本身也需要演化。而工具本身的需求就是后两条。 满足第一条需求的方式,千奇百怪!基本上会涉及到人类现已掌握的知识的各个层面。比如一个图书分享网站,最起码要涉及:管理学、心理学、营销、产品设计、美术设计、交互设计、图书馆管理等等。而这些知识通过软件设计物化在了网站这个东西上面。然后我们就能通过网站这个工具,来满足我们图书分享的需求。 但是,我们能够发现,其实程序设计(程序员思维的最主要的展现形式)虽然与第一条需求有关,但又关系不是很大。的确,我们是通过软件设计这件事情,物化了我们的知识。但是在这个过程中,软件设计并不关系人们的需求具体是什么,是图书网站,还是聊天软件和软件设计并没有直接的关系。相对来说,软件设计比较关心的是后面两个需求:来自工具本身的需求。用一句话说就是:Make it work, Keep it 。 首先你必须让这个工具能够工作,其次你必须让这个工具能够持续稳定的工具的工作(不会因为规模扩大,复杂性增长而招致灾难)。

而这就是程序员思维中在工具理性下面最为核心的两个具体的概念:Make it work, keep it 。 明白了这一点,我们再回过头去看一下刚刚所述的软件和程序设计的历史。刚开始人们需要有一个机器替代人进行计算于是有了差分机和ENIAC,有了硬件之后,自然就需要一种驱动机制能够让这些机器能够运转起来,于是我们发明了程序语言和软件。而随着硬件的不断发展和软件规模的不断扩大,人们发现最原始的计算机语言(机器语言)不使用于快速开发。于是就有了汇编这样的低级语言。后来低级语言也被证明在开发速度上存在缺陷,也不太适合快速开发,于是我们有了高级语言,比如Lisp、C、fortran。刚开始的时候这些高级语言,的确能够满足快速开发的需求。但是,随着软件规模的不断扩大。我们开始发现:靠,我们创造了软件却控制不了软件。计算机和软件这个工具的规模已经超出了人类能够认知的规模,它的复杂性已经开始变得不可控了。这怎么能行呢,于是我们开始创造了面向对象和软件工程等理论工具来帮助我们控制这种软件复杂性。 而到了今天,我们看一下我们日常Coding中常见的那些理论的方法,基本上也都是围绕着Make it work, keep 展开的。其实这两个问题是不能够割裂开阐述的,为了理解上方面,我们就先单独说吧,不过中间会有概念的穿插。


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-37952-9.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 舒孟丹
      舒孟丹

      质检总局还说他们对真假不负责任

    • 李文博
      李文博

      真正有品位的不喝

    热点图片
    拼命载入中...