精华内容
下载资源
问答
  • C++内存管理的缩影

    2016-10-31 07:27:00
    都说C++内存管理是个大坑。实际上也确实是这样。 C++有析构函数,每当一个对象过期的时候,C++会执行两个动作 ...指针就是一个4字节的变量,甚至可以转化成int等类型打印。明白这个道理,就知道C++析构函...

    都说C++内存管理是个大坑。实际上也确实是这样。

    C++有析构函数,每当一个对象过期的时候,C++会执行两个动作

    1.执行析构函数。

    2.将对象和对象的所有数据删除。

     

    很多人就会问了,既然有把对象删除的操作,要析构函数何用?我一开始也有一样的疑问,但是!我们都知道C++有一种神奇的类型,指针!指针他就是一个4字节的变量,甚至可以转化成int等类型打印。明白这个道理,就知道C++析构函数的作用了。

     

    delete关键字,他后边可以接一个指针,也可以接一个例如 delete []array 这样的数组变量,其实意义都一样,它寻找的都是一个或者一组地址,把它指向的堆内存释放掉。

     

    看一组类定义:

    #pragma once
    #include<string>
    
    struct BattleValue
    {
    public:
        int atk;
        int def;
    
        std::string name;
        std::string desc;
    
        BattleValue();
        ~BattleValue();
    };
    
    class Role
    {
        public:
        Role();
        Role(int atk, std::string name);
        ~Role();
    
        Role(const Role& object);
    
        friend void show(Role role);
    
        BattleValue* data;
    };
    

    这个例子中,我们看到Role类有一个变量,名字叫做data,类型是BattleValue类型的指针。其实我们在使用这个Role类的对象的时候,可以选择是否给这个data赋值一个有效值。但是有一点千万要注意,即便像构造函数中的那样给data赋值了,也不过给他赋值了一个4字节的指针变量,所以看一下源文件。

    #include<iostream>
    #include"Role.h"
    using std::cout;
    using std::endl;
    
    BattleValue::BattleValue()
    {
        cout<<"Battle init"<<endl;
    }
    
    BattleValue::~BattleValue()
    {
        cout<<"Battle free"<<endl;
    }
    
    Role::Role()
    {
        cout<<"default role"<<endl;
        data = new BattleValue();
    }
    
    Role::Role(int atk, string name)
    {
        cout<<"parameter role"<<endl;
        data = new BattleValue();
        data->atk = atk;
        data->name = name;
    }
    
    Role::Role(const Role& object)
    {
        cout<<"copy"<<endl;
        data = new BattleValue();
        data->atk = object.data->atk;
        data->name = object.data->name;
    }
    
    Role::~Role()
    {
        cout<<"free self"<<endl;
        delete data;
    }
    
    void show(Role role)
    {
        cout<<"name:"<<role.data->name<<"  atk:"<<role.data->atk<<endl;
    }
    
    int main()
    {
        Role rock(120, "RockDeria");
        show(rock);
        system("pause");
    }

    这段代码执行后是这样的结果

    parameter role
    Battle init
    copy
    Battle init
    name:RockDeria  atk:120
    free self
    Battle free
    请按任意键继续. . .
    free self
    Battle free

    因为我是在windows下调试的,所以上述的结果的最后两行在cmd是几乎看不见的,一闪而过窗口就关闭了。这不影响我们来分析。

    在程序开始的时候,利用参数的构造方法创建了role对象,然后在Role的构造方法中创建了一个BattleValue对象,然后我们取这个对象的地址赋值给了data变量。我们接下来调用Role类的友元函数,因为是传值参数调用,所以调用show方法的时候对role进行了复制。

    复制的时候有调用了Role类的拷贝构造函数。我们在拷贝构造函数Role(const Role& object);中可以看到我们重新给data赋值,一个新的内存地址。

    读到这里,想必大家都已经了解的差不多了。在对象过期的时候,是在调用析构函数之后把对象的所有数据都删除,但是*data是什么?不知道,C++只知道data,不会去解引用,只负责把这个4字节删除了。所以说,BattleValue对象的堆呢?GC何在?没有,不好意思内存就此泄漏。

    所以我们才在Role的析构函数中追加了一个delete data 这样的一个操作,我们可以看到,它的作用也是两点

    1.调用BattleValue类的析构函数

    2.把BattleValue对象的所有数据都删除

    只有这么做,我们才能做到所谓的我们想要的结果,那就是一个Role对象一个BattleValue对象,Role死BattleValue死。Role生BattleValue生。

    其实这是为了方便理解,若吾早知如此,那完全可以不用这么麻烦,直接存一个BattleValue对象在Role类当中,不要放指针,这样C++会帮我们处理内存。当然,前提是需求是

    一个Role对象一个BattleValue对象,Role死BattleValue死。Role生BattleValue生。但如果需求不是呢?如果所有的角色当中,弓箭手用一套战斗力,战士用一套战斗力,法师用一套战斗力。。。。。。那么你每一个角色对象都给他一个战斗力子对象对内存来说是不是太浪费了?

    这个时候又该说,还是指针实在!但是内存又要如何管理了?

     

    都说C++内存管理是个大坑。实际上也确实是这样。

     

    转载于:https://www.cnblogs.com/AkazaAkari/p/6014637.html

    展开全文
  • RISC诞生与发展的缩影

    千次阅读 2016-07-21 19:14:43
    转载自:RISC诞生与发展的缩影【注:本文缩减版已发表在电脑报2013年第44期 A.新闻周刊,这个版本是写给实验室内部刊物《国重快讯》的加长版,写作过程中得到中科院计算所包云岗老师的大力指点,在此表示感谢。】 ...

    转载自:RISC诞生与发展的缩影

    【注:本文缩减版已发表在电脑报2013年第44期 A.新闻周刊,这个版本是写给实验室内部刊物《国重快讯》的加长版,写作过程中得到中科院计算所包云岗老师的大力指点,在此表示感谢。】
    导语:RISC与CISC两大体系结构设计哲学的争斗已经成为大家耳熟能详的历史,但是RISC的由来,在学术界和工业界以外却很少见到有人提及。本文基于伯克利RISC项目领导者之一David Patterson的口述自传以及ACM数据库的公开文献整理,向大家介绍RISC从发明到广为流传的那段故事。

    三十年前的论战

    “我们认为,基于RISC理念设计的处理器只有在极少数情况下慢于CISC处理器……过多的指令使得CISC处理器的控制逻辑复杂……研发成本上升……编译器也不知道该如何利用这么复杂的指令集……CISC的设计思路应当反思。” —— RISC的早期倡导者之一,David Patterson

    “RISC与CISC的区别缺乏明确定义,而且RISC缺乏有力实验证明其宣称的优势,仅停留在纸面的设计是不够的,我们在VAX结构的设计中发现很多与RISC理念相反的地方……实验数据证明RISC的出发点有误……”—— CISC结构的设计者代表,Douglas W. Clark和William D. Strecker.

    很难相信,观点如此背道而驰的两篇文章,竟然同时刊登在美国计算机学会旗下的同一期《计算机体系结构通讯》杂志上。但事实上,正是论战双方的私下联络以及杂志编辑的有意安排,使得这场1980年的论战得以见诸报端,于是留下了可供后人追溯的足够史料。双方都是杰出的结构设计者,这场争论可不是街边卖艺的龙套角色因为一言不合而大打出手的闹剧,CISC与RISC实际上代表着结构设计中的两大流派, 这场论战实际上是两大流派的旗手公开进行的华山论剑,渊源颇深。

    在上世纪七十年代,内存容量和速度是性能的最大瓶颈,以至于程序的大小被作为执行速度的一个间接衡量指标,而指令格式不定长的指令集能够提供更高的代码密度,在同样的一块存储器空间里能装载更多指令,从而间接提高速度,加之当时的编译器无力进行寄存器分配,也无力配合微结构特征进行深层次的针对性优化,使得架构师们普遍偏爱内存-内存以及寄存器-内存风格的操作模式,连基于堆栈的指令集也一度流行。这些都是典型的复杂指令集(CISC)特征。
    时势造英雄,在1980年前后,几乎所有的新处理器设计都在按照CISC的路线发展,惯性的车轮越滚越远,CISC不断加入新的指令,使用微码控制,试图在指令集架构层面对高层编程语言提供更直接的支持,这种发展路线使得硬件研发成本不断提高,研发周期变长,最终甚至殃及软件,连编译器都不知道该如何利用越来越复杂的指令集。CISC流派的不断前推,实质上是令体系结构在错误的发展方向上越陷越深。来自IBM研究院的John Cocke首先意识到,更加精简清爽的指令集设计将有助于减少硬件开发难度和成本,同时也有利于编译器进行代码优化工作,于是在他领导下的IBM 801项目第一次对RISC的概念进行了实践,这项起步于1975年的项目,直到80年代后才将成果公开发表,其中就包括改变了产业技术格局的graph coloring寄存器着色算法。稍落后于IBM研究院,来自加州大学伯克利分校,斯坦福大学的几位科学家也逐渐认清CISC的弱点,开始尝试反其道而行之,着手进行新的设计。那时刚刚博士毕业四年,在伯克利任教的年轻老师David Patterson就是其中一员,他决定在研究生课程中检验自己的想法,让学生们试着构建一个指令精简化的微处理器作为大作业。

    RISC诞生与发展的缩影
    David Patterson
    David Patterson,已从当年不敢向伯克利申请职位的小老师,蜕变为计算机体系结构领域的宗师级人物

    在微处理器流片成功之前,David就撰写了文章发表在《计算机体系结构通讯》上,描述自己构建处理器的新方法,认为这种精简设计将降低硬件设计成本,缩短开发周期,方便编译器进行代码生成,达到更高的性能,结果引起争论和质疑,于是有了这场载入体系结构发展史的论战。

    反败为胜

    ACM数据库收录的影印文档中保留下的点点墨迹,似乎象征着这场论战中四溅的火星。当时站在David对立面的人,包括当时深受尊敬的VAX CISC结构设计者Douglas W. Clark和William D. Strecker,David在文章中大量转述VAX的工程经验,试图证明RISC的优势,但VAX结构设计者们的现身说法使得局面对David非常不利,他们以自己的第一手数据将David文章中宣称的RISC优势逐一驳倒,而David手中并没有自己的硬件实测数据,十分被动。更加雪上加霜的是,第一组学生们流片回来的处理器,并未能体现出具备说服力的速度优势,其主频尚不到当时部分商业级芯片的三分之一,于是进一步引发了嘲笑。
    所幸第二组学生进行的设计较为成功,于是David和学生们的成果得以登陆1983年国际固态电子电路大会(ISSCC)进行展示,这个会议只接受流片成功的芯片设计投稿,因此门槛较高,同时也因为成果卓越,受到学术界和工业界的广泛关注,是集成电路领域的顶级学术会议。David在这里打了一个漂亮的翻身仗,尽管制造工艺是老旧的MOSIS,主频仍旧比VAX,摩托罗拉,Intel等竞争对手同期制造的处理器慢上几乎一半,晶体管数量也只有几分之一,但是更加清爽的新式设计在编译器等其他工具的辅助下竟然将来自工业界的竞争对手们尽数击败,完成了漂亮的反击。David领导的学生团队凭借这一全新理念进行的课程设计,仅有区区几十条指令,竟胜过指令数目多达几百条的商业级芯片,这一事实对于CISC流派的支持者们是极大的冲击,ISSCC大会现场所有的大牌人物都目睹了这一历史性时刻,业界哗然。RISC提倡简化指令集设计,固定指令长度,统一指令编码格式,加速常用指令,在当时来看与当时占据主流的CISC哲学颇有些背道而驰的意味,RISC和David Patterson早年受到质疑和攻击也就不难理解。但有了流片成功的芯片与硬件测试结果在手,加之1983年的ISSCC大会上聚集了几位与David Patterson观点相同的支持者,RISC流派已经开始占据上风。

    RISC诞生与发展的缩影
    当时流行的VAX计算机
    当时流行的VAX计算机

    风靡业界

    出于兼容性的考虑,David和学生们设计的芯片从未流入商业市场售卖,但是在David等人的推动和宣传下,RISC的设计理念随后如星火燎原般扩散,一大批公司开始采用这种理念设计新处理器,包括后来几近统一武林的Intel。而当初提倡RISC的先行者们也纷纷功成名就,John Cocke在1987年将计算机科学领域的最高奖项“图灵奖”收入囊中,而David Patterson在芯片设计与计算机体系结构领域也已经与“泰山北斗”划上等号。
      ARM就是典型的RISC处理器
    ARM就是典型的RISC处理器

    RISC的设计理念催生的一系列新结构中包含了许多我们耳熟能详的名字,包括学术上认为比较成功的DEC Alpha,后来写入经典教科书的MIPS,绕过指令级并行度障碍,追求线程级并行的SUN SPARC,以及现在统治嵌入式市场的ARM。这些雨后春笋般涌现的RISC处理器将CISC vs RISC的世纪之战推向更高潮,复杂指令集和精简指令级划分为两个阵营,争论不断。以x86为代表的复杂指令集,其指令编码格式混乱,导致编码器复杂,流水线设计较为困难,指令不定长也带来指令对齐方面的额外挑战。而RISC指令集的编码格式相对整洁,流水线设计容易,但是由于指令定长,导致一些比较大的常数\地址必须拆散才能加载,代码密度不够高,某些情况下会浪费指令缓存的容量和带宽,因此两种指令集都不是不败金身,本质上都属于双刃剑。在计算机体系结构还未发展成熟的时候,内存与编译器的缺憾给CISC留下了立足之地,但随着编译技术的进步以及存储体系的进化,程序大小所带来的间接优势越来越不明显,而RISC指令集上能够简化流水线设计,这项优点对架构师们反倒越来越具有吸引力,以至于连Intel都举棋不定,只得两条腿走路。Intel在继续更新CISC产品线的同时,也推出了i860系列RISC处理器,安迪•格鲁夫当时表示,CISC处理器是Intel一直在做的产品线,兼容所有软件,而RISC处理器速度更快,但没有什么软件能在它上面运行。连Intel都不知道未来发展方向会是在RISC还是CISC,只好两头下注。在风头最劲的时候,RISC处理器一度在服务器市场占据统治地位。当时的争论与工业实践中提炼出的RISC优势,直到现在仍被许多人谈论,但是,历史的进步无情地碾碎了这一切。

    融为一炉

    强大的Intel进入90年代后开始逐渐发力,追赶性能领先的RISC阵营,在90年代中期的P6结构里,Intel引入了乱序多发射技术,从微结构的角度上看,这标志着 Intel已经在CISC阵营中拔得头筹,但与当时RISC阵营中的旗舰之一MIPS R10000相比仍有不足,与另一龙头DEC Alpha更无法相提并论。值得一提的是,P6第一次实现了CISC指令集在解码阶段上向RISC类指令的转化,将后端流水线转换成类RISC的形式,弥补了CISC流水线实现上的劣势。许多人认为这是Intel在向RISC指令集学习,是在事实上宣布了RISC的胜利,可是ARM也于同期引入了代码密度更高的Thumb新指令集,力图提高指令缓存等劣势项目上的效率,这表明RISC也在向CISC取经,双方都在相互取长补短。而RISC风格的设计的确能输出速度优势,这在一部分人心目中催生了错误的RISC优越论。实质上随着体系结构和微电子技术的进步,CISC在结构上的所谓劣势逐渐缩小,乃至消失, 而RISC阵营却在Intel的猛攻下节节败退,时至今日,Intel的服务器CPU占据了95%的市场份额,RISC的优越论也逐渐偃旗息鼓,大家开始转而关注微结构与物理设计实现,并发掘操作系统、编译器与上层应用当中埋藏的可能性。

    P6

    在P6这一微结构中,Intel第一次引入RISC风格的流水线

    今年的国际高性能计算机体系结构大会上,来自美国威斯康辛大学的一个研究小组做了一个测量分析报告,根据他们披露的测试数据,CISC与RISC在指令集架构层面上的差异已经被弥合,在Cortex-A8以上级别的处理器中,由先进的微结构和物理设计、工艺实现带来的改进足以掩盖指令集架构层面的劣势。因此我们可以说,CISC vs RISC的世纪之战实际上没有胜负,双方的精华已经融为一炉。结果这个报告受到一些学者的批评,有意思的是,批评的原因并不是在于报告本身结论错误,而是因为这个报告所得出的结论,其实是大家早都已经认可的共识,没有必要再在大会上宣读!

    如何评价一个结构设计理念是好是坏呢?笔者认为,应当是后人们看来理所当然的 —— “为什么不这样做呢?还好当初没有放弃这条路!”今天我们谈到RISC留下的遗产时,已经很难找到负面评价的理由,RISC不再是缺乏支持的异类,而是现代计算机体系结构的基本组成部分之一,没有人再对RISC存在的必要性提出怀疑,这大概就是对它最好的认可。

    参考文献

    [1] Douglas W. Clark and William D. Strecker. Comments on “The Case for the Reduced Instruction Set Computer,” by Patterson and Ditzel. ACM SIGARCH Computer Architecture News, 1980. 8(6), pp. 34-38.
    [2] David A. Patterson and David R. Ditzel. The case for the reduced instruction set computer.ACM SIGARCH Computer Architecture News, 1980. 8(6), pp. 34-38.
    [3] David A. Patterson and Carlo H. Sequin. RISC I: a reduced instruction set VLSI computer. 25 years of the international symposia on Computer architecture (selected papers), 1998, pp. 216-230.
    [4] David A. Patterson. Reduced instruction set computers. Communications of the ACM - Special section on computer architecture, 1985. 28(1), pp. 8-21.
    [5] John Mashey. Oral History of David Patterson. 2007
    [6] Linley Gwennap. Intel’s P6 Uses Decoupled Superscalar Design. Microprocessor Report, 1995.
    [7] Emily Blem, Jaikrishnan Menon, and Karthikeyan Sankaralingam. Power Struggles: Revisiting the RISC vs. CISC Debate on Contemporary ARM and x86 Architectures.19th IEEE International Symposium on High Performance Computer Architecture, 2013.

    展开全文
  • 不能确定方舟子是否因为与唐骏较上较才名动天下,我只是想说,这个社会是应该感谢方舟子的,正是此人近十年来不遗余力的刨根问底,揭开了一大群大摇大摆地招摇于公共视野的华丽画皮,使弄虚作假者惧,也使社会公众...

    唐   骏,被塑造成了打工皇帝。如何NB的人物。

    现在这个形象彻底垮了。BBS和网上到处一片谩骂之声。甚至他和他老婆的事情也要被8卦和揭老底。

     

    道德的底线是什么?我们现在的社会到底是诚心为主,还是投机取巧,胡吹冒撂?

     

    有一篇文章讲的太好了。http://www.cnr.cn/gundong/201007/t20100709_506707172.html

     

     从微软中国区总裁到“盛大”操盘手,再到“新华都”掌门人,职业履历骄人的唐骏确实用业绩证明了“能力比学历更重要”。用唐骏自己的话来说,“你说我的学校三流,那就三流,我说四流也可以。”这可以理解为一个功成名就者的底气,也可视作一个弄虚作假者的内心忐忑,或者当作一个自大狂的矫情。在中国,在所谓“成功人士”的语境中,确实盛行着一种藐视道德底线和社会责任的狂妄,功利主义替换了对价值的坚守与对公共期待的担待。诚信是现代社会的道德基石。聪明伶俐如唐骏者,必须明白一个事实:在“造假门”事件中,公众在乎的不是他是否得到了什么学位,或者他所就读的大学属于什么档次,公众在乎的是他有没有说谎,有没有弄虚作假,是他的诚信有没有问题。公众尤其在乎的是,一个名人在面对自己的可议的行为时,是选择痛快认错,从而获得社会谅解?还是傲慢地硬扛到底,甚至用一个新的谎话去掩饰旧谎话,以至于漏洞越来越多?

     

        唐骏在美国呆过很多年,他应该知道,当年克林顿与白宫实习生的那些风流事儿,之所以差点酿成罢免危机,并不是因为美国人民无法接受一个总统的命犯桃花,而是公众舆论不能容忍克林顿以欺骗公众的形式否认此事。因为他们知道,一个总统如果会在这个时候说谎,那么他也会在任何时候说谎,会瞒着公众去做任何危害国家的勾当。同样地,对于一个公众人物,对于一家上市公司的高管,如果“学历造假”东窗事发,如果他为此死不认错,那么又如何让人相信公司公告与财务报表的真实性?这家公司又如何取信于公众呢?

     

      唐骏说方舟子“这么做无非是在炒作”,“现如今方舟子已名声大噪了”。不能确定方舟子是否因为与唐骏较上较才名动天下,我只是想说,这个社会是应该感谢方舟子的,正是此人近十年来不遗余力的刨根问底,揭开了一大群大摇大摆地招摇于公共视野的华丽画皮,使弄虚作假者惧,也使社会公众不再轻易受“成功人士”们的蒙蔽和迷惑,为沉沦的年代挽回些许道德人心。如果这样的较真行为是炒作,唐骏或许值得为自己“被炒作”了一把而感到自豪。

    展开全文
  • 计算机科学技术发展史的缩影

    千次阅读 2007-03-08 12:41:00
    图灵奖颁发的历史,实际上是计算机科学技术发展史的缩影,而且从图灵奖获得者身上,我们会受到很多有益的启迪。 一。.图灵和图灵奖:1. 图灵是计算机科学技术的奠基人 阿伦 ·图灵(Alan Mathison Turing) 是英国人
    从1966年颁发图灵奖至今,已有近40个年头,共计有40多名科学家获此殊荣,其中美国学者最多,此外还有英国、瑞士、荷兰、以色列、挪威等国少数学者,也包含一名美籍华人。图灵奖颁发的历史,实际上是计算机科学技术发展史的缩影,而且从图灵奖获得者身上,我们会受到很多有益的启迪。
    
     
    一。.图灵和图灵奖:
    1. 图灵是计算机科学技术的奠基人
       阿伦 ·图灵(Alan Mathison Turing) 是英国人,1912年6月23日生于伦敦近郊。其父母早期在印度工作,退休后在法国生活,没有回英国定居。图灵和他的一个哥哥在英国由从军队退休的Ward夫妇带大的。图灵13岁进入中学,学习成绩并不特别好,只有数学例外,演算能力特别强,此外,就是擅长赛跑。1931年中学毕业后,进入英国剑桥大学的"King's College " 攻读数学。他的学位论文是关于概率论的中心极限定理(the Central Limit Theorem of Probability),1936年图灵因就同一课题所发表的论文而获得史密斯奖(Smith Prize)。
           1935年,图灵开始对数理逻辑发生兴趣。数理逻辑又叫形式逻辑或符号逻辑(symbol
          logic),是逻辑学的一个重要分支。数理逻辑用数学方法,也就是用符号和公式、公
          理的方法去研究人的思维过程、思维规律,其起源可追溯到17世纪德国的大数学家
          莱布尼兹(Gottfried Wilhelm Leibniz, 1646-1716),其目的是建立一种精确的、普遍的
          符号语言,并寻求一种推理运算,以便用演算去解决人如何推理的问题。在莱布尼
          兹的思想中,数理逻辑、数学和计算机三者均出于一个统一的目的,即人的思维过
          程的演算化、计算机化、以至于在计算机上实现。两个多世纪以来,许多数学家和
          逻辑学家沿着莱布尼兹的思路进行了大量实质性工作,使数理逻辑逐步完善和发展
          起来,许多概念开始逐步明朗。但是,“计算机”到底是怎么一回事?在图灵之前,
          没有任何人清楚地说明过。
             1936年图灵发表了论文“论可计算及其在判定问题中的应用”(On Computable
         Numbers With an Application to the Enstcheidungs Problem)。有趣的是,该论文的主题
         是回答德国大数学家戴维 · 希尔伯特在1900年提出的著名的“23个数学难题”中的
         一个问题,只是在其论文的一个脚注中“顺便”提出来一种计算机抽象模型,利用这
         种计算机,可以把推理化作一些简单的机械动作。可真是“歪打正着”,正是这个脚
         注,开辟了计算机科学技术史的新纪元。图灵提出的该计算模型现在被大家称为“图
         灵机”(Turing Machine)。
             图灵的论文发表后,立刻引起了美国科学家的重视。暜林斯顿大学立即向图灵发
         出邀请,,于是图灵首次远涉重洋,到美国和邱奇合作,并于1938年在暜林斯顿大学
         取得博士学位。在美国,图灵还遇到了计算机科学理论的另一位重要奠基人、出生在
         匈牙利的天才科学家冯 · 诺依曼(John von Neumann, 1903—1957)。冯 · 诺依曼对图
         灵十分欣赏并邀请他到他那里工作,但图灵没有接受这个邀请,1938年回到英国剑
         桥大学。
             第二次大战爆发后,图灵正值服役年龄,开始为战争服务。主要是破译德军密码,
         曾立不少功劳,战后被光荣授勋,被称为OBE(Officer Order of the British Empire),
         这是对非战斗人员的极高荣誉。
         战后,图灵继续从事计算机理论和技术方面的研发工作 先是在英国国家物理实     验室NPL(National Physical Laboratory)进行了计算机ACE(Automatic Computing      Engine)的研究,后在曼彻斯特大学从事过存储程序式计算机MARK I 的研究。由于图灵的一系列杰出贡献和重大创造,1951年,被选为英国皇家学会院士。1954年6月,因吃了有毒苹果而在家中死去,年仅42岁。
    2. 图灵奖
         后人为纪念这位“计算机科学之父”,在英国曼彻斯特的Sackville公园为他建造了一尊真人大小的青铜坐像,这尊塑像是2001年6月23日,也就是图灵89岁诞辰那天揭幕的,铜像本身则是在中国铸造的。
         图灵去世后的12年,即1966年,美国的计算机协会ACM (Association for Computing Machinery) 确定设立图灵奖。ACM是于1947年9月15日在纽约的哥伦比亚大学成立的。成立的目的旨在推动计算机科学技术的发展和学术交流。ACM建立以来,积极开展各种活动,目前已成为计算机界最有影响的两大国际性学术组织之一(另一为IEEE的计算机协会,即IEEE Computer Society)。图灵奖是ACM于1966年第一个设立的奖项,专门奖励那些在计算机科学研究中作出创造性贡献、推动计算机科学技术发展的杰出科学家。奖金金额不算太高,设奖初期为2万美元,1989年起增至2万5千美元。图灵奖对获奖条件要求极高,评奖程序极严,一般每年只奖励一名计算机科学家,只有极少数年度有两名合作者或在同一方向作出贡献的科学家共享此荣。它是计算机界最负盛名、最崇高的一个奖项,有“计算机界的诺贝尔奖”之称。
     
    二.若干图灵奖获得者(1966--2001)的重大贡献
     
    1. 世界上第一台存储程序式计算机EDSAC的研制者
        1967年(第二届)的图灵奖授予了英国皇家科学院院士、计算技术的先驱莫里斯 ·威
    尔克斯(Maurice Vincent Wilkes),以表彰他在设计与制造世界上第一台存储程序式计算机EDSAC以及其他许多方面的杰出贡献。
        威尔克斯1913年生于英国中西部的达德利,距著名的工业重镇伯明翰仅20公里。威尔克斯在中学时代,对数学、物理和无线电非常爱好。1931年他进入剑桥的圣约翰学院,1934年以优秀成绩毕业。之后他进入剑桥著名的卡文迪什实验室工作。这个实验室有“诺贝尔奖的摇篮”的美称。威尔克斯在这里完成了“关于甚长无线电波在电离层中的传播特性”的研究,并以此为题完成了博士论文,于1938年10月取得剑桥大学博士学位,而他的硕士学位是在当年年初才获得的。
        威尔克斯博士毕业后,战争阴云已布满欧洲上空。二战期间,威尔克斯被吸收到研制侦察潜水艇、军舰和飞机的雷达设备的项目中去,所研制的导航技术在大战中最受盟军飞行员欢迎。
        战后,威尔克斯回到剑桥大学,担任数学实验室(后改名计算机实验室)主任。1946年5月他获得了冯 ·诺依曼起草的EDVAC计算机设计方案的一份复印件。这里要说明一下世界上第一台计算机究竟是哪一台?实际上世界上第一台电子计算机叫“ ENIAC”( 它是Electronic Numerical Integrator and Computer的词头缩写,意为“电子数字积分器和计算机”) ,是美国宾西法尼亚大学莫尔学院研制的,但它不具备存储程序能力,程序要通过外接电路板输入。“存储程序”(stored program) 的概念是现代电子计算机最基本概念之一,也是其最基本特征之一。1945年6月30日,冯 · 诺依曼发表了题为“关于离散变量自动电子计算机的草案”的长文,正式提出了存储程序的概念,因此存储程序式计算机被称为“冯 · 诺依曼结构”,而他所建议的“离散变量自动电子计算机”就是上面提到的EDVAC (Electronic Discrete Variable Automatic Computer)。由于工程上遇到困难,EDVAC 迟至1952年才完成。威尔克斯在获得EDVAC 复印件后,仔细研究了该方案,并又到美国进行了学习和调研。回国后,威尔克斯立即以EDVAC为蓝本设计自己的计算机并组织实施,起名为EDSAC (Electronic Delay Storage Automatic Calculator)。当时也遇到了资金上的困难。在关键时刻,威尔克斯成功地说服了伦敦一家面包公司老板投资该项目,终于使计划绝处逢生。1949年5月`6日,EDSAC首次运行成功,真正成为世界上第一台存储程序式计算机,并于1951年正式投入市场,成为世界上第一个商品化的计算机型号。
         威尔克斯在设计与建造EDSAC过程中,决不是简单地模仿和照搬EDVAC的设计,而是创造和发明了许多新的技术和概念,例如“变址”;“宏指令”;微程序设计;子例程及子例程库;高速缓存Cache等等。所有这些都对现代计算机体系结构和程序设计技术产生了深远的影响。威尔克斯的贡献是多方面的,他当之无愧地成为第二届图灵奖获得者。
     
    2.       程序设计语言的先驱开拓者和一批大师
       程序设计语言的先驱开拓者—艾伦 · 佩利
       艾伦 · 佩利(Alan J. Perlis)由于在ALGOL语言定义和扩充上所作出的重大贡献,以及在创始计算机科学教育,使计算机科学成为一门独立的学科上所发挥的巨大作用而成为1966年首届图灵奖获得者。
    佩利1922年4月1日生于美国宾西法尼亚州的匹兹堡。在卡内基理工学院学的专业是化学,1942年毕业取得学士学位。当时正值第二次大战其间,佩利应征入伍,在空军服役。战后他进入加州理工学院继续深造,改学数学,于1947年取得硕士学位,然后又到麻省理工学院(MIT)攻读博士学位并于1950年取得该学位。1951年他在美国陆军军械部设在马里兰州的阿伯丁试验基地的“弹道研究实验室”( 冯 · 诺依曼     曾在该实验室当顾问)干了一年,然后又回到母校MIT参加“旋风”( Whirlwind) 计算机计划,为“旋风”编制程序。“旋风” 计算机是世界上第一台存储程序式的并行计算机,它的研制工作从1946年开始,1950年试运行成功。1952年9月佩利离开“旋风”,之后来到暜渡大学,出任暜渡大学计算中心的第一任主任。在他的努力下,计算中心先安装了一台IBM的CPC计算机,佩利为之设计了称为IT(Internal Translator)的语言,并开发了IT的编译器。1956年佩利转到卡内基理工学院,又推动该校成立了计算中心并出任主任,配置了IBM 650计算机。佩利把他在暜渡开发的IT及其编译器移植到IBM 650上,曾经在美国许多大学的IBM 650上被广泛采用。在IT基础上,佩利和其他学者一起又为IBM 650设计与开发了新的代数语言和汇编语言。1958年,在苏黎世举行的ACM小组和欧洲小组的联合会议上,两个小组把他们关于算法表示法的建议综合为一,形成了ALGOL 58。在其基础上,1960年1月在巴黎举行的有全世界一流软件专家参加的讨论会上,确定了程序设计语言ALGOL 60,发表了“算法语言 ALGOL 60报告”。1962年又发表了“算法语言 ALGOL 60 的修改报告”。ALGOL 60具有局部性、动态性、递归性、严谨性等特点。后来的面向对象语言SUMUL 67,1971。
     
    后来的面向对象语言SUMUL 67,1971年出现的PASCAL语言,都是在它的基础上加以扩充而形成的。ALGOL 60是程序设计语言发展史上的里程碑,它标志着程序设计语言由一种“技艺”转而成为一门科学,开拓了程序设计语言的研究领域,又为后来软件自动化的工作及软件可靠性问题的发展奠定了基础。
    与此同时,在佩利的积极组织下,卡内基理工学院率先在大学生中开设程序设计课程。它的开设是计算机科学教育的开端(此前,有关程序设计知识是作为“数值分析”课程内容的一部分予以介绍的)。这引起了计算机的最大用户ARPA出面,出资资助对计算机科学及其教育立项研究,其结果是20世纪60年代中期首先在卡内基理工学院、斯坦福大学、MIT等少数几个大学建立起了计算机系和计算机研究生院,使计算机科学脱离电气工程、数学等学科而成为一门独立的学科。鉴于佩利在其中所起的巨大作用,佩利被称为“使计算机科学成为独立学科的奠基人”(A founding father of Computer Science as a separate discipline) 。
     
    1972年的图灵奖授予荷兰的计算机科学家埃德斯加 · 狄克斯特拉(Edsgar Wybe
    Dijkstra)。狄克斯特拉1930年5月11日生于荷兰鹿特丹的一个知识分子家庭。1948年他进莱顿大学学习数学与物理,在学习理论物理过程中,狄克斯特拉发现这个领域中许多问题都需进行大量复杂的计算,于是决定学习编程,并自费赴英参加了剑桥大学举办的一个程序设计班。大学毕业后,他成为阿姆斯特丹数学中心全日制的工作人员,主要做程序员工作,从此进入计算机领域,逐渐成为该领域的知名专家,他后在阿姆斯特丹大学获博士学位,博士论文就是“实时中断”问题。狄克斯特拉创造出许许多多的“第一”,例如,最短路径高效算法、ALGOL 60 编译器、具有多道程序设计能力的操作系统等。1968年3月,Communications of ACM 登出了狄克斯特拉的一封影响非常深远的信,在信中他根据自己编程的实际经验和大量观察,提出如下结论:一个程序的易读性和易理解性同其中所包含的无条件转移的个数成反比关系,也就是说,转向语句的个数愈多,程序就愈难读、难懂。因此他认为“GOTO是有害的”,并从而启发了结构化程序设计思想。1972年他与另一图灵奖获得者霍尔合箸了《结构化程序设计》一书,,进一步发展与完善了这一思想,并且提出了另一著名的论断:“程序测试只能用来证明有错,决不能证明无错!”( Program testing can be used to show the presence of bugs,but never to show their absence ! )。
     
    1974年的图灵奖授予了当时年青的唐纳徳 · 克努特(Donad Ervin Knuth)。克努特1938年1月10日生于威斯康辛州。他因为洋洋数百万言的多卷本《计算机程序设计艺术》( The Art of Computer Programming)而荣获此殊荣。该多卷本堪称计算机科学理论与技术的经典巨作,有评论认为其作用与地位可与数学史上殴几里得的《几何学原理》相比。
    克努特从小喜欢学习和音乐,并表现出与众不同的才能。在数学上,也很早就表现出天才。1956年进入俄亥俄州克利夫兰的开思理工学院攻读物理。大学一年级结束以后的暑假,克努特在学校打工,负责把统计数字画成图表。碰巧他工作室的隔壁就是计算机房,新到了一台IBM650。当时的计算机体积都很庞大,有控制台及其上面的指示灯等,计算机工作时指示灯快速闪烁变化出不同的图案,这引起克努特极大的好奇与兴趣,他接连好几天彻夜不眠地呆在计算机房,观察它的工作,钻研使用手册,探究计算机的奥秘。一年以后,他终于改学数学,并与计算机结缘。1960年,克努特在开思理工学院毕业,同时获学士和硕士学位。之后他进入加州理工学院研究生院,1963年获博士学位。后转入斯坦福大学任教。
    克努特至今进行了两大工程,第一个大工程就是《计算机程序设计艺术》系列,计划出七卷,第一卷《基本算法》于1968年出版,第二卷《半数字化算法》于1969年出版,第三卷《排序与搜索》于1973年出版,后面尚在写作之中。在出版过程中,克努特根据自己在校对清样时的感受,决心对排版技术进行彻底改造,因此终止了第一期工程,而开始其第二期工程。为此,克努特花费了整整九年的时间和精力,结果就是对整个西文印刷业带来了革命性变革的TEX排版软件和METAFONT字型设计软件。这两个软件为克努特赢得了ACM的另一个奖项:1986年度的软件系统奖。克努特的两大工程都取得了很大的成功。《计算机程序设计艺术》一书以其内容的丰富和深刻喻为经典,有人甚至称之为“计算机的圣经”,被译成多国文字在世界各国广为传播。
     
    1977年的图灵奖授予了世界上第一个高级程序设计语言FORTRAN和最广泛流行的元语言BNF的发明人约翰 · 巴克斯(John Warner Backus)。
    巴克斯1924年12月3日生于美国费城, 青少年时代不爱学习,曾是纨绔子弟,被大学开除。1943年巴克斯参军入伍,当了一名下士。在此期间, 巴克斯不经意地显露出他的聪明和才能,受到上级赏识,陆军决定送他上学深造。这样,当他的战友们都被送往二次大战战场上去的时候,巴克斯却上了哈弗福德学院的医学院预科。但巴克斯对医学不感兴趣,因此只学了9个月的医学就离开了那里,转到哥伦比亚大学学习数学。经过这番磨练,巴克斯已经从混沌走向清醒,开始正经学习。1949年他取得学士学位。后来一个偶然的机会,他到IBM公司的计算中心参观,在那里见到了IBM早期的SSEC计算机。尽管SSEC体积庞大,比较原始,但看到现场的环境和气氛,立刻心里一亮:这正是他要找的工作!经考核通过后,巴克斯从此开始了在IBM公司的工作并做出了巨大贡献。
    人们称巴克斯为“不知疲倦的发明家”。事实确实如此,进入IBM后,他就全身心地投入工作,从而奠定了他作为出色的程序员在公司的地位。当时的计算机还是用机器语言也就是二进制代码进行编程,存在工作效率低、难于检查和发现问题、不便于交流、软件开发费用高昂等问题。经过深思熟虑,巴克斯于1953年向IBM老板卡斯伯特 · 赫德提交了一分备忘录,建议设计一种接近人类语言的编程语言代替机器语言,赫德批准了巴克斯的计划。1957年4月,经过巴克斯和他的同事们的艰苦努力,FORTRAN的编译器第一次在西屋电气公司订购的704计算机上成功运行,标志着一个时代(机器语言编程时代)的结束,另一个时代(高级语言编程时代)的开始。作为世界上第一个高级程序设计语言,它对其后出现的上千种高级程序设计语言都有或大或小的影响。FORTRAN的工作成果融入了ALGOL 58及随后的ALGOL 60等一系列版本。
    基于开发FORTRAN的经验,巴克斯关注的重点由定义语言本身转向如何清晰地描述和表达语言这个问题上,也就是要创建一个“元语言”(meta-language)。经过不懈探索,巴克斯又提出了如今众所周知的“巴克斯范式”BNF(Backus Normal Form)。BNF由于其简洁、明了、科学而被广泛接受,成为描述各种程序设计语言的最常用的工具。
     
    程序设计语言的发展过程,实际上是由一批大师驱动的。1978的图灵奖授予了美国科学家罗伯特 · 弗洛伊德,他是在程序正确性证明方面,提出前后断言法(pre- and post- assertion method)的创始人,并在算法、程序设计语言的逻辑定义、自动程序综合、自动程序验证、编译理论和实现等方面都作出了创造性的贡献。1979年的图灵奖授予了一位加拿大学者、时在IBM公司沃森研究中心工作的肯尼思 · 艾弗森。他是因为在开发交互式程序设计语言APL中作出开创性工作,从而为程序设计语言的理论和实践作出规定卓越贡献而获此殊荣的。1980年的图灵奖授予了英国牛津大学计算机科学家查尔斯 · 霍尔。他不仅提出了QUICKSORT、CASE,而且在程序设计语言的定义和设计、数据结构和算法、操作系统-----许多方面都起了重要作用。由霍尔和他的同事们设计与实现的ALGOL 60 一个子集的版本 Elliott ALGOL 60,在效率、可靠性和方便性等方面都是首屈一指的。
     
    在计算机的发展史上,大概没有哪个程序设计语言像C那样得到如此广泛地流行;也没有哪个操作系统像UNIX那样获得计算机厂家和用户普遍青睐和厚爱。它们对整个软件技术和软件产业都产生了深远的影响。而C和UNIX两者都是美国贝尔实验室的丹尼斯 ·  里奇(Dennis MacAlistair Ritchie)和肯尼斯 · 汤普森(Kenneth Lane Thompson)设计、开发的,因此,他们在1983年共同获得图灵奖。1984年的图灵奖授予了瑞士学者和计算机科学家尼克劳斯 · 沃思 (Niklaus Wirth),由于他是结构化程序设计语言PASCAL之父及结构话程序设计的首创者,他提出的著名公式“数据结构 + 算法 = 程序,广为人知。可以说,现代程序设计语言中常用的数据结构和控制结构绝大多数都是由PASCAL语言奠定基础的。在C语言问世以前,PASCAL是风靡全球、最受欢迎的语言之一。1971年沃斯发表的论文“通过逐步求精方式开发程序”(Program Development by Stepwise Refinement ),首次提出了“结构化程序设计”( structured programming) 的概念。这个概念的要点是:不要求一步就编成可执行的程序,而是分若干步进行,逐步求精。第一步编出的程序抽象度最高,第二步编出的程序抽象度有所降低…, 最后一步编出的程序即为可执行的程序。结构化程序设计方法又称为“自頂向下”或“逐步求精”法,在程序设计领域引发了一场革命,成为程序开发的一个标准方法,尤其在后来发展起来的软件工程中获得广泛应用。
     
    1991年的图灵奖授予了英国爱丁堡大学计算机科学系教授罗宾 · 米尔纳 (Robin Milner)。他的主要贡献是,首先和其他人一起提出了形式化逻辑系统的数学模型,称之为LCF (Logic for Computable Functions —“可计算函数的逻辑”)。LCF不仅是一种有效的建模工具,还可方便地验证计算机程序的正确性。米尔纳另一重大贡献是他借鉴了人工智能语言LISP的经验,在LCF的基础上,花了几年的时间,开发成功了一个更加重要的系统,即ML,也就是元语言 (metalanguage),一种用来描述、表达、与验证其他语言的语言,它比LCF具有更强推理能力。2001年的图灵奖授予了挪威计算机科学家奥尔--约翰 · 戴尔 ( Ole--Johan Dahl) 和克利斯登 · 奈加特(Kristen Nygaard)。他们是因为在20世纪60年代开发Simula I 和Simula 67 中首先引入了类(class)、对象(object)、继承(inheritance)、和动态绑定(dynamic binding)等重要概念,为面向对象(object-- oriented) 这一当前最流行、最重要的程序设计技术奠定了基础。当时推出的Simula 67,虽由于本身比较难学、难用而未能广泛流行,但它的影响却是巨大和深远的,20世纪70年代Xerox 公司推出了Smalltalk,80年代Bell实验室推出了C++等,在全世界掀起了一股面向对象技术的热潮,至今盛行不衰,成为程序设计的主流。
     
    3. “人工智能”的创始人和开拓者
    1969年的图灵奖授予了人称“人工智能之父”和框架理论的创立者—马文 ·  明斯基(Marvin Lee Minsky)。
    明斯基1927年8月9日生于纽约市。小学和中学,他对电子学和化学表现出兴趣。高中毕业后入伍。退伍后,1946年他进入哈佛大学主修物理,但他选修的课程相当广泛,从电气工程,数学,到遗传学等涉及多个学科专业,有一段时间他还在心理学系参加过课题研究。后来他放弃物理改修数学`,并于1950年毕业,之后进入暜林斯顿大学研究生院深造。1951年他提出了关于思维如何萌发并形成的一些基本理论,并建造了一台学习机叫Snarc。Snarc 是世界上第一个神经网络模拟器,其目的是学习如何穿过迷宫,其组成中包括40个“代理”(agent)。他以“神经网络和脑模型问题”为题完成了他的博士论文,1954年取得博士学位。1958年,明斯基从哈佛转至MIT,与其他专家一起,他们在这里共同创建了世界上第一个人工智能实验室。1975年,明斯基首创了框架理论,框架理论的核心是以框架形式来表示知识。框架的顶层是固定的,表示固定的概念、对象、或事件。下层由若干槽(slot)组成,其中可填入具体值,以描述具体事物特征。利用多个有一定关联的框架组成框架系统,就可以完整而确切地把知识表示出来。框架理论一经提出,在人工智能界引起巨大反响,成为通用的知识表示方法被广泛接受和应用。明斯基还把人工智能和机器人技术结合起来,开发出了世界上最早的能够模拟人活动的机器人Robot C,使机器人技术跃上了一个新台阶。明斯基还是虚拟现实的倡导者。
     
        1971年的图灵奖授予了提出“人工智能”这一术语并使之成为一个重要学科领域的斯坦福大学教授约翰 ·麦卡锡 (John MeCarthy)。
    麦卡锡1927年9月4日生于波士顿。在上初中时,他就表现出是很高的天赋。1944年进入加州理工学院后曾免修两年数学 ,当时因战争环境他要在军队中充任一个小职员,占去了部分时间,仍得以在1948年按时完成学业。然后到暜林斯顿大学研究生院深造,于1951年取得数学博士学位。留校两年后,他先后去斯坦福大学和达特茅斯学院任教。1956年夏天他发起并成功举办了成为人工智能起点的有历史意义的“达特茅斯会议”,麦卡锡是东道主,并和会议参加者一起,满怀信心地宣布“人工智能”这一崭新学科的诞生。1958年麦卡锡到MIT任职,与明斯基一起组建了世界上第一个第一个人工智能实验室,并第一个提出了将计算机的批处理方式改造成为能同时允许数十甚至上百用户使用的分时方式(time—sharing)的建议,推动了MIT成立组织开展研究。其结果就是实现了世界上最早的分时系统 —— 基于IBM 7094的CTSS和其后的MULTUCS。后来麦卡锡又回斯坦福并在那里组建了第二个人工智能实验室。在达特茅斯会议前后,麦卡锡的主要研究方向是计算机下棋。下棋程序的关键之一是如何减少计算机需要考虑的棋步。经艰苦探索,麦卡锡终于发明了著名的α-β搜索法,使搜索能有效进行。在该搜索法中,麦卡锡将结点的产生与求评价函数值(或称返上值或倒推值)两者巧妙地结合起来,从而使某些子树结点根本不必产生与搜索(这谓之“修剪”—pruning或cut—off),使下棋快速搜索能有效进行。α-β搜索法至今仍是解决人工智能问题中一种常用的高效方法。1959年,麦卡锡还开发了著名的LISP语言(Lisi Processing language),成为人工智能界最广泛流行的语言,后已经证明,LISP的许多特点是解决人工智能核心问题的关键。
     
        1975年度的图灵奖同时授予卡内基—梅隆大学的两位教授:赫伯特·西蒙(Herbert Alexander Simon)和艾伦 ·纽厄尔(Allen Newell)。他们曾是师生,后来成为极其亲密的合作者,共事长达42年,直至纽厄尔于1992年去世。
    西蒙1916年6月15日生于美国威斯康辛州密西根湖畔。他从小聪明好学,当入学芝加哥大学时年方17。1936年他从芝加哥大学毕业,取得政治学学位。参加工作后广泛接触计算机并产生了浓厚兴趣。1939年,他转至加州大学伯克利分校,在那里完成了博士论文,经他的原母校芝家哥大学进行评审答辩,被授予政治学博士学位。1949年他来到他的最后一个落脚点卡内基—梅隆大学。纽厄尔1927年生于旧金山。二战期间,曾在海军服了两年预备役,表现出色。战后他进入斯坦福大学学习物理,1949年获得学士学位。之后他在暜林斯顿大学研究生院攻读数学,一年后辍学到RAND公司工作,和空军合作开发早期预警系统。系统需要模拟在雷达显示屏前工作的操作人员在各种情况下的反应,这导致纽厄尔对“人如何思维”这一问题发生兴趣。也正是从这个课题开始,纽厄尔和卡内基—梅隆大学的西蒙建立起了合作关系。在合作过程中,纽厄尔所表现出的才能和创新精神深得西蒙赞赏,在西蒙的竭力推荐下,纽厄尔得以在卡内基—梅隆大学注册为研究生,并在西蒙指导下完成其博士论文,于1957年获得博士学位. 并且他还提出了“中间结局分析法”作为求解人工智能问题的一种技术。利用这种方法,他们合作开发成功了最早的启发式程序“逻辑理论家”LT(LogicThorist)和“通用问题求解器”。LT证明了数学名著《数学原理》一书第二章52个定理中的38个定理(1963年对LT改进后可证明全部52个定理),从而也开创了机器定理证明(mechanical theorem proving)这一新的学科领域。在开发逻辑理论家的过程中,他们首次提出并成功应用了“链表”(list)作为基本的数据结构,并设计与实现了表处理语言IPL。IPL是所有表处理语言的始祖,也是最早使用递归子程序的语言。其实他们两人在人工智能中作出的最基本贡献还在于他们提出了“物理符号系统假说”PSSH (Pysical Symbol System Hypothesis),成为人工智能中影响最大的符号主义学派的创始人和代表人物,而这一学说则鼓励着人们对人工智能进行伟大的探索。根据这一假说,物理符号系统也就是对一般智能行为具有充分而必要手段的系统,即任一物理符号系统如果是有智能的,则必能执行对符号的输入、输出、存储、复制、条件转移和建立符号结构这样6种操作。反之,能执行这6种操
     
    作的任何系统,也就一定能表现出智能。依此推论:人是具有智能的,因此人是一个物理符号系统;计算机是一物理符号系统,因此它必具有智能;计算机能模拟人,或者说能模拟人的大脑。
    1956年夏天,西蒙和纽厄尔参加了著名的“达特茅斯会议”,他们和该会议的发起人麦卡锡和明斯基一起,被人称为“人工智能之父”。
    西蒙除和纽厄尔共获图灵奖外,还在1978年获诺贝尔经济学奖。1980年,被天津大学聘为名誉教授,并派出一些学者在西蒙指导下进行短期记忆方面的研究。
     
    1994年度的图灵奖又由两位人工智能专家分享,其一是声名卓著的爱徳华 ·费根鲍姆(Edward Albert Ffeigenbaum);另一位是后起之秀劳伊 ·雷迪(Raj Reddy)。
    费根鲍姆1936年1月20日生于美国新泽西州,生父是波兰移民。费根鲍姆1952年进入卡内基— 梅隆大学电气工程系,师从西蒙教授,并取得博士学位。之后曾去英国国立物理实验室NPL工作过一段时间,回美国后进入斯坦福大学继续其人工智能的研究。费根鲍姆的重大贡献在于:,通过实验和研究,证明了实现智能行为的主要手段在于知识,在多数实际情况下是特定领域的知识,从而最早倡导了“知识工程”(Knowleadge Engineering),并使知识工程成为人工智能领域中取得实际成果最丰富、影响也最大的一个分支。知识工程的提出,使人工智能从理论走向应用,从基于推理为主的模型转向主要基于知识的模型,如果不说这是划时代的话,至少也是开创了一个新阶段。通常认为,凡是用自动机对知识进行获取、操作、和利用的工程系统读可以称为知识工程。费根鲍姆本人,作为知识工程的倡导者和实践者,还和他人合作,开发出世界上第一个和多个专家系统程序。
    雷迪本是印度人,1937年6月13出生于新德里附近的一个小城。雷迪1958年在印度大学毕业,取得学士学位后,去澳大利亚留学,在新南威尔士大学获硕士学位,之后再到美国深造,于1966年在斯坦福大学获得了博士学位并加入美国国籍,。雷迪自称是“第二代的人工智能研究者”,因为他在斯坦福大学的博士导师就是有“人工智能之父”之称的麦卡锡,而另一位人工智能大师明斯基当时也在斯坦福大学。学成以后,雷迪来到卡内基— 梅隆大学工作。雷迪主持过许多大型人工智能系统的开发,取得了一系列引人注目的成就,例如他们开发成功的能在道路上行驶并可跨越原野的自动驾驶车辆,在计算机视觉、机器人路径规划、自动控制、障碍识别等方面都有重大技术突破;LISTEN语音识别系统,类似一个文化教员,可以“听”孩子念课文,念错了或不会念时提供帮助;以意大利诗人但丁命名的火山探测机器人项目等。雷迪还开创了一个他称之为“白领机器人学”(White-collar Robotics)的新学科领域,就是由机器人去完成白领职工的工作,诸如生产调度等功能。雷迪现任卡内基— 梅隆大学计算机学院院长。
     
    4.         其他方面的图灵奖获得者
    每年度的图灵奖都授予了那些在计算机科学理论和技术或计算机产业方面作出突出
    贡献的人。1968年的图灵奖获得者是发明纠错码的美国大数学家和信息专家理查德 · 哈明;1973年的图灵奖获得者是美国“网状数据库之父”查尔斯 · 巴赫曼;1981年的图灵奖授予了英国人,后到美国发展的有“关系数据库之父”之称的埃德加 · 科德。1997年图灵奖的得主是美国人道格拉斯 · 恩格尔巴特,他是鼠标器的发明人和超文本研究的先驱。其他的图灵奖授予了包括计算机体系结构、计算复杂性理论、算法设计与分析、图形学、操作系统和编译程序、软件工程等方面的专家学者。
           值得一提的是2000年的图灵奖授予了一位美国普林斯顿大学计算机科学系教授、华裔学者姚期智,他因是计算理论领域的卓越开拓者而荣获此殊荣。姚期智的英文名字是安德鲁 · 姚 ( Andrew C. Yao )。他祖籍湖北孝感,1946年12月24日出生于上海,幼年随父母去台湾。1967年在台湾大学毕业后去美国深造。他1972年在哈佛大学取得物理学博士学位,并做了一年博士后研究工作之后,选择到伊利诺依大学研究生院继续攻读计算机科学博士学位,并于1975年获得该学位。他曾先后在麻省理工学院、斯坦福大学、加州大学伯克利分校从事教学与研究,1986年加盟普林斯顿大学至今。姚期智的主要贡献在计算机理论方面。ACM的授奖决定指出,姚期智对计算理论的贡献是根本性的,意义重大的,其中包括基于复杂性的伪随机数生成理论、密码学、通信复杂性等。姚期智是图灵奖近40年来首次授予一位华裔学者。
     
    三. 成功者给予人的启迪
     
    1.    他们都是爱国者和为事业勤奋学习和勇于献身的人
     图灵本人就是第二次世界大战中的功臣,被授予大英帝国军官勋章。凡是赶上二战
    时期的老科学家大都参战,像佩利在美国空军服役。威尔克斯参与了英国研制侦察潜水艇、军舰和飞机的雷达设备等项目,其研制的OBOE(“将轰炸机引向轰炸目标的导航”的英文缩写)。是一种导航技术,具有很好效果,最受盟军飞行员欢迎。纽厄尔在美海军服了两年预备役,表现出色。科德在英国皇家空军服役,1942--1945年间任机长,参与了许多惊心动魄的空战,为反法西斯战争立下了汗马功劳。科学无国界,但科学家是有祖国的,他们都是爱祖国并捍卫国家的英雄。
    历届图灵奖得主基本上都有高学历、高学位,绝大多数有博士头衔。这是可以理解的,因为创新型人才需要有很好的文化素养,丰富的知识底蕴,因而必须接受良好的教育。但有两个人例外,一是FORTRAN的发明者巴克斯。巴克斯的童年和少年的生活条件相当优越,但不爱学习,中学时代学习成绩常不及格,拖了两年才勉强毕业,于1942年进了弗吉尼亚大学。由于本来就不爱学习,加上第二次大战已经爆发,巴克斯更是只等着应征入伍,不思学习,把大多数时间花在舞会上,终于被学校处分,且扫地出门。1943年巴克斯参军入伍,当了一名下士,率领一个防空小分队。 在部队组织的一次能力测试中, 巴克斯不经意地显露出他的聪明和才能,受到上级赏识,陆军决定送他上医学院深造。但巴克斯对医学不感兴趣,后转到哥伦比亚大学学习数学。经过这番磨练,巴克斯已经从混沌走向清醒,开始正经并勤奋地学习,于1949年取得学士学位。后来他全身心地投入工作,成为不知疲倦的发明家,为计算机科学技术事业做出了巨大贡献。正谓是“浪子回头金不换”。二是“前后断言法”的创始人弗洛伊德,于1936年生于纽约,他在1953年获芝加哥大学文学学士学位,由于当时学文科的不好找工作,毕业后弗洛伊德在西屋电气公司当了一名计算机操作员。但他是一个有心人,干了一段操作员,很快对计算机产生了兴趣,于是就自学和钻研,虚心向别人请教,白天不值班时回母校听讲有关课程,并在1958年又获理科学士学位。从此他逐渐从计算机的门外汉变成计算机的行家里手,并在算法、程序设计语言等方面作出巨大贡献。
    “关系数据库之父”科德,原在牛津大学学习数学,在上世纪60年代初近40岁时,已在计算机科学领域取得巨大成绩的他,从工作中感觉得自己缺乏硬件知识,于是毅然决定重返大学校园,到美国密西根大学进修计算机与通信专业,并于1963年获得硕士学位,1965年又获得博士学位。这使他理论基础更加扎实,专业知识更加丰富,加上他之前十几年的实践经验积累,终于在1970年提出了关系数据库模型,为数据库技术开辟了一个新时代。
    图灵奖获得者,尽管学历和经历不同,多数在学期间就学习优异,有的学习成绩一般,但数学特别好,也有像巴克斯那样的浪子。可是经历一些曲折之后,他们都勤奋学习,刻苦钻研,为了事业不知疲倦地工作,取得了骄人的成就。
     
    1. 博大精深
    图灵奖获得者都是十分优秀的人,他们基础扎实,特别是数学的功底深厚。无疑,他
    们都是在某一领域和某一方面的专家,有着非常突出的贡献,但同时他们又十分博学,具有很宽的知识面,思想十分活跃,因此才摩擦出更多的火花。例如“人工智能之父”之一的西蒙,他从小就聪明好学,多才多艺、兴趣广泛,会画画,会弹钢琴,既爱爬山、旅行,又爱学习各种外国语,能流利地说多种语言。西蒙在芝加哥大学的是政治学,在以后的工作和学习中,曾对经济、政府的工作和活动进行过研究,同时对计算机发生了兴趣。西蒙还和其夫人做过一个有趣的心理学实验,实验表明人类解决问题的过程是一个搜索的过程,其效率取决于启发式函数,这个发现为研究人工智能领域中的启发式程序打下了基础。1969年,美国心理学会由于西蒙在心理学上的贡献而授予他“杰出科学贡献奖”。西蒙还在1978年荣获诺贝尔经济学奖,不言而喻他又是世界一流的大经济学家。
        再比如1974年的图灵奖获得者克努特,他与西蒙是同乡,都出生在威斯康辛州密西根湖畔的密尔沃基,年龄比西蒙小22岁,当时是个年轻人。克努特从小也是多才多艺,喜欢学习和音乐,并表现出与众不同的才能。在数学上,很早就表现出天才。高中一年级时,他发明了一种方法,利用这种方法,对任意画出的2条相交直线,他能立即给出相应的方程。1956年,克努特以各科平均97.5的创记录的高分从高中毕业,进入俄亥俄州克利夫兰的开思理工学院攻读物理。大学一年级结束以后的暑假,克努特在学校打工,负责把统计数字画成图表。开始在IBM650上工作,从此又开始了探究计算机的奥秘。一年以后,他终于改学数学,与计算机结缘。这段经历对于克努特是如此关键和重要,以至他在《计算机程序设计艺术》第一卷的卷首,不像别的作者那样一般写上“献给自己的父母”或“献给自己的妻子”,而是写着“献给曾经安装在开思理工学院的650型计算机,以记念那些愉快的夜晚“。他的第一个计算机应用程序是在650计算机上实现的:他为他所在的校篮球队设计了一个复杂的公式,根据球员在每场比赛中的得分、助攻、抢断、蓝板球、盖帽等多项统计数字对球员进行综合评估。球队教练根据克努特的程序挑选和使用球员,使开思理工学院在1960年赢得了联赛冠军。应该说,正是由于克努特的博大精深,才可能写出洋洋数百万言的多卷本《计算机程序设计的艺术》这部经典著作,才可能搞出来对西文印刷出版业带来革命性变革的排版软件。克努特还有许多“小创造”。例如“算法”和“数据结构”就是他于29岁时首先提出来的等等。
    博大精深的知识,造就了这些科学家。同时也反映了当今多种知识互相交融、多种学科互相交叉的特点。
    3.坚持实践和勇于创新
    图灵奖获得者都是勇于实践和创新的人。例如威尔克斯是以EDVAC为蓝本设计自己的
    计算机EDSAC并加以组织实施。在遇到资金的困难的时候,威尔克斯成功地说服了伦敦一家面包公司老板投资该项目,于1949年5月6日,使EDSAC首次运行成功并很快投入生产。EDSAC包涵了威尔克斯许多新思想和技术,像“变址”、“宏指令”、微程序设计、子例程及子例程库、高速缓存Cache等等,都对现代计算机体系结构和程序设计技术产生了深远影响。再如程序设计语言专家狄克斯特拉,工作中曾是数学中心全日制的工作人员,主要做程序员工作。后来他根据自己编程的实际经验和大量观察,提出如下结论:一个程序的易读性和易理解性同其中所包含的无条件转移的个数成反比关系,也就是说,转向语句的个数愈多,程序就愈难读、难懂。因此他认为“GOTO是有害的”,并从而启发了结构化程序设计思想。并且提出了另一著名的论断:“程序测试只能用来证明有错,决不能证明无错!”。巴克斯的初始工作也是从程序员做起。他们的所有成就,无一例外地,都是大量实践和勇于创新的结果。
     
    3.       勇气和团队精神
       勇气和团队精神以及谦虚、大度、包容的态度是他们成功的又一特征。例如巴克斯于1953年向IBM老板赫德,建议设计一种接近人类语言的编程语言代替机器语言,这一划时代的建议却遭到IBM公司顾问的冯 · 诺依曼的强烈反对。好在巴克斯有勇气坚持,赫德比较开明而有远见,批准了巴克斯的计划,使FORTRAN的诞生成为可能。冯 · 诺依曼于1957年不幸英年早逝,没有看到FORTRAN正式投入使用,但这位天才科学家后来意识到自己在这件事上的错误,没有坚持反对巴克斯的计划。
    人工智能学科的创始人西蒙和纽厄尔,在卡内基--梅隆大学既是师生关系,又是亲密的合作伙伴,在人工智能领域作出了巨大贡献。他们当时不限于此,还有更深层次的考虑,即通过发展计算机科学改变整个学校,乃至改变匹兹堡市和宾西法尼亚西部整个地区的面貌,这个理想至今已经实现了。他们和他们的群体们已形成一个团结和坚强的团队,纽厄尔和西蒙、佩利一起并称为卡内基—梅隆大学计算机科学系的“三驾马车”,拥有像西蒙、纽厄尔和第二代AI学者中的佼佼者雷迪等一批高水平的研究人员,使卡内基--梅隆大学的计算机科学系长期以来在业界享有极高的声誉,而匹兹堡和宾西法尼亚州西部地区也早已成为在美国除硅谷之外最重要的IT产业基地之一。
     
    四.结尾的话
    40多位图灵奖获得者的成就,确实是计算机科学技术发展史的缩影,他们的学术水平,也代表了整个计算机科学技术界的最高水平。近40年来,从实际过执行程看,图灵奖偏重于计算机科学理论和软件方面作出贡献的科学家,但这并不意味着今后就总也没有其他方面的杰出科学家。
    能获图灵奖的人总是少数,计算机科学事业需要千千万万个科学家和工程师。青年人是国家的未来和栋梁。今天大家重温图灵奖获得人的事绩,主要是学习他们的精神和品质,在自己的学习和工作岗位上,树立远大理想,勤奋学习和工作,根据自己的特点和专长,踏踏实实、兢兢业业地做好每一件事情,为国家和计算机科学事业的发展贡献出自己的力量。
    最后,让我们引用几位图灵奖得主的话作为结束:
    “ In the knowledge lies the power " (知识中蕴藏着力量)。这是1994年图灵奖得主费根鲍姆(Edward Albert Feigenbaum)的一句名言。
     “Learn as much as you can while you are young, since life becomes too busy later” (当你年轻时要尽可能地多学习,因为这之后你的生活将变得十分繁忙)。这是1976年图灵奖获得者之一斯克特(Dana Steward Scott)向年轻人提出的一句忠告。
     “Any noun can be verbed ”( 任何名词都可以变成动词)。意指,任何远大的理想、   志向、抱负和对新事物的追求,通过不懈努力和不懈的实践,都是可以实现的。这是1966年图灵奖得主佩利(Alan J Perlis)的一句话。
     
     
    展开全文
  • 河南是中国的一个缩影.

    千次阅读 2006-02-27 13:43:00
    河南是中国的一个缩影. 河南城市是中国城市的一个缩影. 河南是中国人口最多的省份. 中国是世界人口最多的国家. 河南GDP总量在中国排第六. 中国GDP总量在世界排第六. 河南人均GDP在中国排第18,属于中等稍偏下. 中国...
  • 的这种策略其实很简单。就是尽可能用所有的时间去提高自己,把所有的时间都花在自己身上。 在日积月累后产生了巨大的复利效应,成就了更优秀的自己,拉开了和其他人之间的距离。这背后的逻辑其实很简单,人世间...
  • 推荐我们小组一位大四本科生黄博文写的关于过去30年CPU两种架构RISC与CISC之争的科普文章《RISC的诞生与发展缩影》。很难得这篇文章是出自一位90后的本科生,作者对计算机体系结构的发展史如数家珍,折射出对这个...
  • 因为他只是商业高中毕业,所以一向被名校出身的同行所嘲笑。这反过来也给了决心出人头地的强大动力。先是做不动产登记律师,后又做税务律师。时值上个世纪八十年代韩国经济起飞之时,涉及经济方面的法律需求很大...
  • 华为总裁任正非去年年底在内部撰文《一江春水向东流》之后,华为董事长孙亚芳在今年初时以《历史的真实》为题,称任正非的文章“是华为成长的真实缩影,和对轮值CEO的期盼。把一生悟到的‘道’朴实地告诉接班...
  • [核心提示] 19楼的创业号角挑动了很多... 在深圳漂泊了八年,从大学毕业后就去了深圳,从月薪2500做到现在的年薪20万,在那时的收入水平已经算不错,只是,20万年薪背后是没日没夜的加班和加班,除了加班就还是加班...
  • 从图灵奖看计算机科学技术发展史的缩影 分类: Life in Programming Fiddlededee 2007-03-01 17:03 1239人阅读 评论(0) 收藏 举报 从1966年颁发图灵奖至今,已有近40个年头,共计有40多名科学家获此殊荣
  • 日本泡沫经济的最佳缩影:疯狂的银行2010年03月16日02:24东方早报王国培我要评论(54) 字号:T|T “‘这个土地虽然现在才1亿,但是明天就涨到1亿2000万了,后天就是1亿3000万了,大后天就涨到1亿5000万了!...
  • 网易云信案例简析:锤科情怀缩影,子弹短信路在何方? 一早醒来罗永浩力推主打高效的聊天软件:[子弹短信]已经冲到AppStore免圌费榜第一名,可喜可贺。网易云信作为子弹短信这款产品的IM和音视圌频通话技术提圌供者...
  • 【天堂电影院】-人生的缩影

    千次阅读 2006-04-29 09:43:00
    很早就听到过《天堂电影院》的盛名... 短短的一部电影里,缩影了整个人生的经历,生活的变故,初恋的甜美,爱情的夭折,电影院来来往往人群百态。摘抄一下电影的简介吧,这样在说的时候也不至于突然。 托托在黑暗的看
  • iPod 之父离职的背后,是 Google 和苹果文化冲突的缩影(转) 文/cyzhou Nest 的联合创始人兼 CEO Tony Fadell(托尼·法戴尔)离职了。 一般来说,当创始人选择离开自己亲手创办的公司时,这家公司很有可能...
  • 猜测站的比较靠后的同事可能是认为站会是浪费时间,可以与深层交流,发掘提升的机会。项目是大家的项目,需要大家共同管理。 6.可视化没有充分发挥作用,有板无板对站会作用的差距不够显著。 理想状态是任务板上有...
  • 当你在网络上唾弃现实世界中很多不公的官员的时候。。是否想过这个问题... 我经常能看到很多斑竹不顾及自己的身份在网上大放厥词、不知道这个算不算...如果我不是劝自己说:“也是个人、是人的话说出那样的话...
  • 图灵奖颁发的历史,实际上是计算机科学技术发展史的缩影,而且从图灵奖获得者身上,我们会受到很多有益的启迪。 一。.图灵和图灵奖:1. 图灵是计算机科学技术的奠基人 阿伦 ·图灵(Alan Mathison Turi
  • 我刚跟送我来会场的司机交流,说“沈阳什么都好,但经济发展存在一些困难”,一面感到自豪,一面感到担忧。我们知道,沈阳包括东北,近年来没有出现一家能在中国排名前十的品牌互联网平台。一个没有品牌互联网...
  • 在哈尔滨市平房区有一个公益性岗位人员不珍爱自己又重新获得工作的岗位,竟然欺下瞒上地骗取老百姓两万余元,丑事败落后,的工作单位归属问题竟然成了一个悬案。就业局说此人跟街道办事处签订劳动合同,街道办事处...
  • 《A C M图灵奖(1966-1999)---计算机发展史的缩影》读后感计算机的诞生与发展不得不说是世界发展的里程碑,在科学技术发展突飞猛进的今天,计算机的作用是无可比拟的.我曾经看了一本书,《ACM图灵奖(1966―1999)――...
  • 或者换一个出发点,策划在做游戏的时候,对游戏玩家在某个时间段出于一个什么样的状态会想的很清楚,因为就是游戏的制作者.新手引导确实很难处理,谁做过谁知道. 好吧.既然说到流程这个概念,那么为了实现这个东西,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,257
精华内容 2,102
关键字:

他只是缩影