引用
上个学期末学校开展“读书月”活动,然后我冒“天下”之大不讳写了这篇文章,现转发在此。
最近我在读一本似乎和编程没太大关系的计算机书籍,叫《ACM图灵奖演讲集 - 前20年》(以下简称《ACM演讲集》)。这本书收录了1966-1985年这20年间图灵奖获奖者们的演讲。相对于计算机的普及速度,文章已经很古老了,中文版出版也很久了,但并不像那些纷扰而嘈杂的电脑书刊那样稍纵即逝。普通的电脑书,充斥着看似先进的技术;普通的编程书,充斥着不知为什么而生的代码。而它,就像一位智者,静坐在书店那些已经满是垃圾文字的书架上,看着“畅销书排行榜”上的风云变幻,嘴角一丝不易察觉的坏笑。
“看一本好书,就是在和许多伟大的灵魂对话”。如果《ACM演讲集》仅仅保存着一位作者的灵魂,不可能被我如此看重。事实上,它收录了23位获奖者的22篇文章。代码寥寥无几,甚至是作为反面教材的多于实例;除了一两篇纯属学术论文的文章,余者也没有复杂的数学推导。然而就是这样一本似乎只是在空谈的书,让我了解到了计算机科学发展的黄金时代的情况和“上古”的计算机前辈科学家们的不朽的思想与伟大的探索。约翰·巴克斯(BNF范式设计者、Algol语言发明人),唐纳德·E·克努特(《计算机编程艺术》作者、Tex系统设计者),约翰·麦卡锡(人工智能先驱,Lisp语言发明人),看着这些熟悉的名字,阅读着他们充满智慧和神性的演讲稿,研究前辈们思想的结晶,真是乐事。
我对当代计算机的发展(尤其是国内)失望久矣:教育者们误人子弟,学生们急功近利,程序员们心浮气躁,整个国内软件业不成体统。步入计算机科学的殿堂后,我头脑中一直盘旋着许多疑惑——计算机科学是怎样发展的?科学家们都是怎样探索的?我应该如何学习?《ACM演讲集》给了我答案。其中每一篇文章都在总结前人努力的基础上打开崭新的视界,向我展示了前辈们创世纪般的工作。事实上,80年代之后,商业的发展严重阻碍了计算机科学的发展以及编程语言的进步,半个世纪前的文章仍然有着重要意义,人们仍然可以窥见大师们惊人的高瞻远瞩。
《算法系统的综合(1966)》展示了第一位图灵奖获得者阿兰·伯利斯对当时编程语言及算法的理解,现在的系统少有出其右者;《程序的函数风格及其代数(1978)》展示了巴克斯设计的形式化函数式编程系统(FFPS),其严谨的函数式编程的数学定义令人叹为观止,他的思想至今只有极少数语言能够超越;《人工智能的一般性(1971)》中,麦卡锡对当时已有的Prolog逻辑式编程语言进行了分析并给出了在机械化推理方面的新思路;《关系数据库:生产力的实用基础(1981)》一文总算让大家有种“找到组织了”的感觉,然而一看文章才知道我们从不离手的关系型数据库理论是那样复杂,实现是那样困难,耗尽了一代科学家的心血。
然而将这些伟大的努力投入实际应用的人们交还给前辈们什么了呢?商业化的、根本无法与其它产品协作的系统,然而它们独霸市场甚至早就了产业链;用来招揽更多用户的垃圾编程语言,然而它们渗入各层次计算机教育甚至是国家级项目。市场是产生了,教育却落后了,各式各样的流行文化你方唱罢我登场,有什么用?难道这些人不需要科学的进步了吗?看看现在那些公司和个人在汹涌而来的多处理器构架和分布式计算问题前的手足无措状就知道他们的可笑和可悲了。
说这些又有什么用?没有用,不说了。我学我的,他搞他的,不相干。
最新的《ACM演讲集》应该不久就能引进了吧?多希望能看到我的偶像Alan Kay在2003年获得图灵奖时的演讲啊!顺便提一句,他的Smalltalk语言及其系统自1972年实现以来已经30多年没见过真正的对手了,不过,想在未来10年之类被某个对手超越仍然几乎是不可能的。
分享到:
相关推荐
FZU ACM 上的半数集问题 的源代码
《欧洲ACM问题集》是一本专为 ACM(国际大学生程序设计竞赛)爱好者精心准备的资源集合。这个压缩包包含了PDF格式的文档,涵盖了大量 ACM 比赛中的经典问题,旨在帮助参赛者提升编程技能,熟悉比赛环境,增强算法...
通过杭电ACM问题集中的这两题,我们可以明显感受到ACM/ICPC竞赛中对基础算法和数据结构的重视。在竞赛中,选手们经常遇到需要运用基础数学运算、循环结构、字符串处理以及大整数运算来解决问题的场景。解决这些问题...
正是在这样的背景下,《浙大ACM习题集与解答》应运而生,成为众多计算机爱好者,尤其是考研和求职者不可或缺的宝贵资料。 ACM国际大学生程序设计竞赛,作为世界上最负盛名的编程竞赛之一,它不仅仅是一个比赛,更是...
浙大ACM题目集.。
ACM算法指南合集
《浙大ACM题目集》是一个专为编程爱好者和参赛者设计的资源库,它包含了近千道英文编程题目,旨在帮助用户提升算法理解和编程技能。这个CHM文件是电子书格式,通常用于组织和存储大量的信息,便于用户离线查阅。下面...
ACM算法试题集是面向计算机编程竞赛,尤其是ACM国际大学生程序设计竞赛(ACM-ICPC)的参赛者们提供的丰富资源。这类竞赛通常要求参赛者在限定时间内使用计算机编程解决一系列复杂的算法问题。ACM算法试题集和答案...
Description Dota中英雄技能攻击会有一个范围,现在释放一个技能给出他的攻击范围和目标英雄的位置,问是否能攻击到。攻击范围保证是一个凸多边型 Input 有多组测试数据 第一行输入三个整数n,a,b, 期中n代表攻击范围...
ACM的资源合集,你不需要到处去找了! (lecture_01)初识ACM090216 (lecture_02)简单数学题090929 (lecture_03)递推求解090302 (lecture_04)动态规划(1)_20091019 (lecture_05)计算几何基础_20091027 ...
《浙江大学ACM题目集》是面向编程竞赛爱好者和学习者的一份珍贵资源,它包含了大量来自浙江大学历年ACM(国际大学生程序设计竞赛)比赛的题目。这个压缩包以CHM(Compiled HTML Help)格式存储,是一种常见的电子...
ACM(国际大学生程序设计竞赛,International Collegiate Programming Contest)是全球最具影响力的大学生算法竞赛,旨在提升大学生的计算机科学问题解决能力。这个压缩包“ACM真题合集”包含了丰富的ACM比赛题目...
参加acm大赛的同学很好的资源。连包含各种算法思想。
CCS2017论文集 PART2 The ACM Conference on Computer and Communications Security (CCS) is the flagship annual conference of the Special Interest Group on Security, Audit and Control (SIGSAC) of the ...
ACM常用算法集,ACMer必备 本资源摘要信息涵盖了 ACM 中常用的算法集,包括最小生成树、Prim 算法和堆实现最短路等知识点。 最小生成树 最小生成树(Minimum Spanning Tree,MST)是连通图的极小权重子图,使得图...
ACM3025.pkl
【ACM整理全集】是针对ACM(国际大学生程序设计竞赛)的综合学习资料集合。这个压缩包包含了多个文档,涵盖了ACM竞赛中的关键算法和理论知识,旨在帮助参赛者提升编程技能和解决问题的能力。以下是对每个文档的详细...
《ACM国家集训队2006论文集》是一份珍贵的学习资料,它涵盖了算法设计与分析领域的多个核心主题,对于ACM竞赛选手及计算机科学爱好者来说具有极高的研究价值。这份论文集深入探讨了动态树、动态规划、轮胎图(Tire图...
这个压缩包中的核心文件“浙大ACM题目集.chm”是整个资料库的主体,下面将详细解析其中蕴含的知识点。 首先,ACM,全称American College Mathematics,通常指的是ACM/ICPC(国际大学生程序设计竞赛)。这是一个全球...
《杭电浙大北大ACM集》是一款专为编程爱好者和ACM竞赛参与者精心整理的资源包,包含了来自杭州电子科技大学(HDU)、浙江大学(Zhejiang University, ZOJ)以及北京大学(Peking University, POJ)的大量ACM竞赛题目...