读《ACM演讲集》有感

[quote]上个学期末学校开展“读书月”活动,然后我冒“天下”之大不讳写了这篇文章,现转发在此。[/quote]

[size=12]
最近我在读一本似乎和编程没太大关系的计算机书籍,叫《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年之类被某个对手超越仍然几乎是不可能的。
[/size]

你可能感兴趣的:(读《ACM演讲集》有感)