王垠百科

王垠百科

Pages (Latest 100 updated) :
Contents:
  1. 写书计划
14 January 2016

写书计划

好些人问过我写书的事情。我确实该写本书了。计算机科学,其实根本不是科学,它缺乏基本的科学精神。计算机“科学”里面的少量真知灼见,已经被大量的商业动机和“天才语录”给淹没。这个领域的所谓“知识”,其实90%以上都是扯淡,或者是死板的教条和本本主义。剩下不到10%,却是非常好的东西。

这种瞎蒙混骗的风气,从图灵那一辈就开始了,以至于好的东西和不好的东西,永远的混在了一起,没法区分开来。你可以提出一个完全没用的理论,却仍然有人相信它是伟大的发明,并且拿到图灵奖。很多经典的书籍,其实让人知其然而不知其所以然,很多甚至把简单的问题复杂化。因为它们的目的,其实在于掩盖真相,传播谬论,让人恐惧和糊涂,以至于人们以为计算机科学博大精深,有无穷无尽的东西要学。

我希望能够改变这个格局。上次写的《编程的智慧》,其实就是这样一本书的开端。这其中的内容,真不是拿一个名校的CS PhD,当个教授或者Principle Engineer,甚至Chief Architect就能搞清楚的。之所以叫做“开端”,是因为它还没有达到我希望的组织和清晰程度。这样的内容以blog的形式出现,已经显示出它的弊端了。Blog组织内容的方式是按时间,blog的单元是文章。由于我希望写出的内容,有效性是接近“永恒”,而且由于内容比较多,需要多层的目录,逻辑组织上blog也无法应付。所以我必须用书的形式写出来。

写这样一本书,不是什么大不了的事情,然而它对于混沌不堪的计算机科学界,恐怕具有转折性的意义,所以我必须使用一种世界上大部分人都能看懂的语言。那种语言在现在看来就是英语。我会把这本书的初稿放在网络上,供人们免费下载阅读,这样他们可以给我有益的反馈,提醒我谬误和不清晰之处。这本书会覆盖计算机科学的方方面面,从程序语言,操作系统,到数据库,网络系统,……

有人可能以为这是一个可望而不可即的,包罗万象的宏伟目标,那只是因为他们没有看穿CS里面的迷雾。如果要面面俱到,照本宣科,把每个子领域的死知识都一股脑写进去,包括每种操作系统命令,每种语言的用法,每个数据库的API,各种乱七八糟的WEB技术,…… 那当然是一辈子也写不完的。然而如果你看透了这层迷雾,就会发现CS里面的精髓部分其实没有很多,它们完全是可以在短时间里掌握的。

所以这本书的定位,在于精髓和创造,而不是细节和死记硬背。我希望把它们共同的精髓提取出来,而去掉其中肤浅的死知识部分。如果你希望它教会你所有的东西,包括某最新语言新加入的特性,或者某最新big data工具的API,那显然是不可能的。有太多的书籍可以教会你那些东西,所以不用我来费工夫。然而我所介绍的精髓概念,应该可以帮助你设计和创造出这样的语言特性和大数据工具,而不只是成为一个被动的使用者。

在初期的时候,我会把书的内容放在网上,供大家免费阅读,提出宝贵意见。等到这本书达到我满意的程度之时,我也愿意让高水平的出版社,印成纸张出版。不过出版社的位置,应该处于“转载”的位置。免费下载的PDF,会一直得到更新和补充。只有这样不断地改进,这本书才能达到我满意的地步。