一切远未结束(Herb Sutter)

每个软件工程师都感觉到这是个激动人心的时刻。

    对于发明家和探险者来说,每一个未知领域都充满诱惑。在这些领域的探索是艰难甚至充满危险的,但先行者得到的回报也很丰厚。未知世界如此广袤,所有的秘密期盼人们去发现,无数的奇迹等待我们去创造。

    上世纪 50 60 年代,就是那样一个时期。计算机是新兴学科,你应该听说过这个领域的一些先驱,比如 Edsger Dijkstra[ 译注 1] Tony Hoare 爵士 [ 译注 2] 。但你是否知道所有眩酷技术的原型在电子计算机出现不久的 50 60 年代就完成了?想想过去 15 年里主要的所谓新技术——垃圾收集,不是 Java 而是 McCarthy[ 译注 3] 1958 Lisp 里创造的,并在 1960 年发表了论文;面向对象编程,不是 Smalltalk C++ 而是 Simula 发明的, 1965 年趋于成熟并在 1967 年发表论文;参数化泛型,也不是 Ada C++ 而是 Strachey 1967 年提出的。 1967 年是计算机历史上标志性的一年, ARPANET 的第一次设计会议也是在这年召开的。

    但要让普通程序员从这些技术受益,则还需要做大量工作,包括深入研究如何让这些技术具备广泛可用性(比如 Mosaic 公司(实现了浏览器 Netscape )),将它们应用到最终产品里去。聪明人开发了 Smalltalk C++ Java C# Python 等等很多编程语言,并在编程实现上做了大量工作,软件工业的巨大飞跃,应该归功于他们,这是他们无尚的光荣。

    当想到在我们的父辈腋下夹着厚厚一摞打孔卡片,沿着山路向学校走去时(当时能有机会接触性能比现在你用的 PDA 都相差很远的大型计算机的人,是凤毛麟角啊,假设我们的父辈是那时的幸运儿),今天看似异常热门的所有技术就已经存在的时候,真是倍感羞耻啊。还好,是 Java 将垃圾收集机制带给大众, Smalltalk 让面向对象走下神坛, C++ 推广了泛型——而现在的我们,则打算在并发控制和并行计算编程领域做出同样的成绩。

    我们试着想想:在计算机历史上,主流架构第一次不再是诺依曼体系,那个时代一去不复返了,现在,是并行的新纪元。在个人电脑 普及的道路上,我们已经获得了巨大成功,现在,我们要致力于推动 Cray (译者注:美国超级计算机)这样的超级计算机进入千家万户。这是一个产生大量机遇的时代,我们有大量工作要做。真的,并发控制(从理论上)已经实现,也有很多优秀的专家(如 Hoare 发表了奠基性的论文《通讯顺序进程》 [ 译注 4] )和公司(如 Cray ),在并行计算领域研究多年。但绝大多数程序员和开发环境、工具则落后很远,现在,我们的目标就是将并发控制和并行计算推向大众,让普通程序员掌握和运用这些技术。

    我在 2004 年底的演说 《免费午餐即将结束——软件历史性地向并发靠拢》 里讲到:“软件开发史上,自面向对象降生以来的又一个巨变已经叩向我们的房门,那就是并发。”正在酝酿中的并发变革,将像上世纪 80 年代末 90 年代初面向对象变革猛烈碰撞编程语言和工具一样,产生深远影响。在 90 年代初期,我们频繁奔波于让人脑子发木的“何为对象”、“什么是虚函数”之类主题的讨论会,而今后数年里,我们将同样繁忙,脑子同样紧张地参加各种会议,不过主题将变成“什么是活跃对象”、“何为 future[ 译注 5] ”。这个过程实际上已经开始了。

    数世纪之前,伽利略发明了望远镜,牛顿提出了引力定律。在那个以及随后的三个世纪里,不少研究人员理所当然地认为他们能做的,仅仅是一些改进性工作。但事实是仍然有大量开创性工作可做,不信你们问爱因斯坦、 Robert Goddard Wernher von Braun[ 译注 6] 。的确,伽利略是发现月球表面不规则、银河 [ 译注 7] 是由星球表面包裹的稠密气体层构成之第一人。但现代人已经可以在月球表面行走,另一些人正在绘制星系、超星系和宇宙本底辐射 [ 译注 8] 地图。伽利略能看到个别可能正处于穿越银河系半路上的星球,而我们现在知道他的视野该到 5 万光年 [ 译注 9] 。据估算,我们今天的视觉能力可达数十亿光年。真是庆幸啊,似乎伽利略和牛顿已经把所有有趣的事情干完了,但爱因斯坦和 Braun 没有因此投身别的领域;欧几里得 [ 译注 10] 和阿基米德好像做完了一切大事,但伽利略和牛顿并没有认为物理学已经完蛋。

    有时候,我们似乎觉得所有重要工作在上世纪 50 60 年代都干完了;先人们真是幸福啊,有那么多新奇的事情和有趣的秘密等着他们。但事实是我们的工业仍然处于幼年。我们景仰伽利略和牛顿做出的伟大贡献,但他们是站在更早的巨人肩上的,就像我们现在站在他们肩上一样。

    对 于软件工程师来说,这是一个让人振奋的时代。在这个十年剩下的几年,以及下个十年的数年间,就像过去在面向对象、垃圾收集和互联网领域那样,我们将在并发 控制上努力;在前辈们已取得的成绩基础上,发展他们的思想并普及大众。这需要我们充分利用过去已经产生的最好的技术,不断发展新技术,开发出高可用性产 品,在实践中广泛应用。不再像面向对象和互联网技术革新时代,今天,我们将能亲眼目睹并发巨变的到来!

    几乎在每个时代都能产生一些重大变革,随后,我们的软件和开发环境得到发展和改善。每一次,我们都小心翼翼地调整方向,然后加速行驶到下一个路口。就这样,我们经历了结构化编程、 PC 普及、面向对象和互联网变革。现在轮到并发和并行了,道路难免迂回曲折,我们应该做好排除前进路上一切障碍的准备。

    朋友,让我们奋勇前进吧!新的天地等候着我们!  

 

 

译注 1

    Edsger Wybe Dijkstra 1930 2002 ):荷兰科学家。 1950 年代 ALGOL 语言主要发明人之一,设计实现了第一个 ALGOL60 编译器; THE 操作系统的设计者和开发者;现代编程语言之父,为程序语言结构、表示方法和实现做出了巨大贡献,研究领域还涉及图论、计算机教育、编程语言哲学等。

    1972 年,成为第七位图灵奖获得者。

    他也是第一个提出不宜过分使用 GOTO 的人,是著名的 Dijkstra 最短路径算法的作者。

    在与癌症进行了多年的斗争之后,于 2002 年在荷兰家中与世长辞。

 

译注 2

    Tony Hoare 1934 -):生于斯里兰卡,父母为英国人,主要工作地为英国。他实现了 ALGOL60 编译器;在程序语言定义与设计领域做出了杰出贡献,包括 Hoare Logic Quicksort 算法和 CSP Communication Sequential Processes )等。

    2000 年,因其在计算机科学和教育方面的杰出贡献被英国皇家授予爵士爵位。

    1980 年,成为第十七位图灵奖获得者。

 

译注 3

    McCarthy 1927 -):美国人。 人工智能之父, Lisp 语言的主要发明人。

    1971 年,成为第六位图灵奖获得者。

 

译注 4

    CSP Communicating Sequential Processes ), Tony Hoare 提出。 是一个精确的并发数学理论,可以用来构建多线程应用程序,确保构建的程序中不出现并发的常见问题,而且更重要的是,这一点能够得到证实。

 

译注 5

    参见 http://blog.csdn.net/hsutter/archive/2006/08/03/1014911.aspx 译注 1

 

译注 6

    Robert Goddard 1882 1945 ):美国人,现代火箭科学的创始人之一。 1926 年设计、制造和发射了世界上第一枚液态燃料火箭(见下图),爬升高度为 12 米,在全程 2.5 秒的试飞中仅飞行了 55 米。他毕生都在宣扬火箭是探测月球的可行工具,因此常被报章媒体取消。一生拥有 200 项火箭科技专利。 1969 年,根据他的理论建造的液态火箭,终于将人类送上月球。

    他还于 1909 年最早提出了磁悬浮列车概念。

   

 

    Wernher von Braun 1912 1977 ): 生于德国, 13 岁时就用 6 支特大焰火把自己绑在滑板车上,点燃导火索进行飞行试验。 1932 年,布劳恩参加德国导弹研制的计划,领导火箭的研制。二次大战后,布劳恩作为“头脑财富”来到美国,担任美陆军导弹局发展处处长。他先后研制成红石、丘比特、潘兴式导弹。其中丘比特 C 型火箭,是美国第一颗人造卫星发射成功的关键保障。 1961 年美国宣布实施阿波罗载人登月计划。布劳恩成为总统空间事务科学顾问,分管阿波罗工程,直接主持土星 5 号运载火箭的研制工作。 1970 年,布劳恩任美国国家航空和航天局副局长,并兼任马歇尔航天中心主任。在两年任期内,布劳恩完成了航天飞机的初步设计。

 

译注 7

    原文为“ Milky Way ”。 1920 年代末,赵景深先生根据英译本翻译了契珂夫小说《万卡》,其中“ Milky Way ”一词先生翻译为“牛奶路”,这个译法被鲁迅先生作文(《风马牛》)批判,最后成为文坛著名的笑谈。不过更深层地考查, Milky 这个词也有特定的文化意象,希腊传说中银河是天后赫拉发怒时洒落的乳汁所变成的一条路,供奥林帕斯山众神上下山之用。

 

译注 8

    原文为“ universal background radiation ”,也译作“宇宙背景辐射”。

    现代宇宙学是爱因斯坦创立广义相对论后,把广义相对论应用于宇宙学研究而开创出来的。现代宇宙学的核心内容是大爆炸( Big Bang ),而哈勃膨胀( Hubble Expansion )、宇宙微波本底辐射( CMBR Cosmic Microwave Background Radiation )和大爆炸核合成( BBN Big Bang Nucleosynthesis )则是大爆炸宇宙学的三大基石。

    美国国家航空航天局( NASA )曾发布了详细的全天空宇宙微波本底辐射地图。证实宇宙大部分是由神秘的暗能量和暗物质组成的,并且给出了宇宙的确定年龄和精确的膨胀速度。

    宇宙大爆炸发生后,早期宇宙是极高温度和极高密度的均匀气体,随着宇宙的膨胀,宇宙的温度会降低,当温度降低到退耦温度( Td=0.26eV ,相当于 3000K ) 以下时,质子与电子会复合生成氢原子并放出光子。当大多数自由电子被质子俘获后,光子就可以自由地在宇宙中传播,即宇宙对光子变得透明了,这就是我们能够 观察到的宇宙中最古老的光,它携带了宇宙大爆炸后遗留下来的信息。由于宇宙学红移,我们现在观察到大爆炸后遗留下来光子频率的极大值已经移动到了微波波 段,这就是宇宙微波本底辐射。

 

译注 9

    银河系的半径是五万光年。另,地球距离银心大致有两万六千光年。

 

译注 10

    欧几里得(约前 330 -前 275 ):古希腊伟大数学家。早年在雅典受教育,熟知柏拉图的学说。公元前 300 年左右,受托勒密王(前 364 -前 283 )之邀,到埃及统治下的亚历山大城工作,长期从事教学、研究和著述。他写过不少数学、天文、光学和音乐方面的著作,而以巨著《几何原本》最闻名于世。《原本》原有 13 卷,后人又补充 2 卷。这本著作的原稿早已失传,现存的是公元 4 世纪末西翁的修订本和 18 世纪在梵蒂冈图书馆发现的希腊文手抄原本。这部西方世界现存最古老的数学著作,为 2000 年来用公理法建立演绎的数学体系树立了最早的典范。从 1482 年到 19 世纪末,《原本》竟用各种语言出了 1000 版以上。明朝万历年间( 1607 ),徐光启和意大利传教士利玛窦把前 6 卷译成中文出版,定名为“几何原本”。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值