2003年图灵奖得主、计算机大师Alan Kay:新程序员该读读这些经典老书
2019-08-11 15:17:11
  • 0
  • 0
  • 0

来源:Quora

编辑:大明

【新智元导读】著名计算机科学家、2003年图灵奖得主Alan Kay在“美国知乎”Quora上分享了自己最为推荐的一些计算机经典老著作。其中最喜欢的是1962年的《Lisp1.5程序员手册》。高人前辈指路,少走弯路,一起来看看老爷子都推荐了哪些书吧。

计算机行业是个学无止境的领域,除了掌握和理解最近的技术进展和动态外,向过去的前辈学习经验和思想可能也会获益良多。近日Quora上就出现了这么一个问题,是专门提给“有经验的程序员和计算机科学家”的:

您认为新程序员应该读一读哪些老著作,甚至是那些已经被人遗忘的著作?

这个问题吸引来了一位超级大咖的“老程序员”,他就是Alan Kay,著名计算机科学家,面向对象编程和图形用户界面领域的先驱人物,2003年图灵奖得主。

以下是Quora上老爷子的回答:

我觉得,现在提起“2006年”或“2008年”就会被视为“非常老”了,我这里推荐的书比这还老。

我仍然是《Lisp 1.5程序员手册》的忠实粉丝。这个版本的语言已经不再适合我们了,但这本由约翰·麦卡锡团队与1962年写的书是一本完美的经典之作。

此书首先介绍了约翰·麦卡锡关于Lisp的第一篇论文,并在几页示例中实现了这些想法,最终在第13页上用Lisp eval和apply本身进行了定义。在本书的其余部分中,还有许多其他发人深思的想法和例子。

读这本书,重点是深入了解作者团队“做了什么”以及“如何做到的”,然后尝试以多种方式重写第13页的内容。使用递归和不使用递归“用lisp”写这页内容,各有什么优缺点?(请继续阅读本书,看看Lisp 1.5已经了解了EXPR和FEXPR(在调用之前没有评估其参数的函数) - 因此可以用来替换所有“特殊形式” - 做一个由FEXPRs制作的Lisp,并根据定义得到其余部分等)。

什么是整洁的自举路径?如何能把它与Val Shorre的“Meta II”程序化解析器结合起来,打造一门真正可扩展的语言?要如何才能触及“对象”?对象的三四个真正有趣的形式是怎样的?(提示:在执行的语言中,有多少种不同的方法可以定义“闭包”?使用Lisp原子作为对象的模型怎么样?等等)

我们的想法是,Lisp不仅仅是一种语言,而是一种意义重大的“建筑材料”,它足够整洁,可以用来“思考”,而不仅仅是制造(它是思想和计算机流程的“建筑材料”)。

Dani Richard提醒我提到马文·明斯基1967年的著作《计算:有限和无限的机器》,这是我最喜欢的书之一。马文真的很会写书,这本书是他写得最好的一本。它实际上是一本“数学书”,讲了有很多想法、定理、证明等等 - 但是以一种伟大的思想,以及对读者最友好的方式呈现的,在这本书中有许多值得思考的趣事,但也许正是这种方法,让读者开始“以书中的方式”思考,这一点是最有价值的。

《编程与非数值计算的进展》(Ed.L.Fox)编于上世纪60年代中期。书中的论文于1963年在英国举办的夏季研讨会上发表。让人最兴奋的几篇论文的作者包括Christopher Strachey和Peter Landin等几个人。Bob Barton在1967年他著名的先进系统设计课程中使用的参考书之一。

Herb Simon的《人工科学》,主要思考计算的一种更强大的方式 。以及“计算机科学”可能意味着什么。

Ken Iverson的《编程语言》(1962年出版)。这本书与扩展Lisp的属性有同样的想法。而且和Lisp一样,从这些非常古老的想法中学习而来的方法,更加关注其中独特而强大的东西(今天我们已经知道如何更好地改进Lisp和APL,但此书中讲述的深刻的本质,可能更接近这些方法的原始表现形式)。

我喜欢Dave Fisher的1970年CMU论文《编程语言的控制结构》 - 尤其是前100页。这些内容目前仍然是思考程序设计和实现的真正宝库。

最近(上世纪80年代以来)的一些好书:

Kiczales等人的《元对象协议》。第一部分和示例是必须阅读和理解的一部分内容。

Joe Armstrong基于自己的博士论文和多年对Erlang的宝贵经验,于2003年出版了一本书。

对于充满好奇心的人来说,这样的书还有更多......

原文链接:

https://www.quora.com/Experienced-programmers-and-computer-scientists-what-are-some-really-old-or-even-nearly-forgotten-books-you-think-every-new-programmer-should-read/answer/Alan-Kay-11?share=1

最新文章
相关阅读