你这辈子可能都不需要看《计算机程序设计艺术》了!
“欣哥, 我什么时候可以看《计算机程序设计艺术》? ”
“你这辈子可能都不需要看了!”
我在大学的时候并不知道《计算机程序设计艺术》(简称TAOCP)有多牛,他的作者有多牛,人家计划写七卷,写了三卷以后,图灵奖的评委们就“迫不及待”地把图灵奖版给他了。
我只是看到了比尔盖茨的一句话:
“如果你完完整整读完了《计算机程序设计艺术》,请立刻给我发一份简历。”
我立刻就跑到图书馆去,翻出了那本泛黄的,破旧的《计算机程序设计艺术》,准备看完后给盖茨发简历。
这本书一开始就是数学准备,讲归纳法,幂,对数,排序和阶乘,几乎全是数学公式,我一看到数学就头大,特别是觉得这些东西高中应该掌握了,于是果断跳过。
然后的章节就把我镇住了,这是什么算法书啊!一开头居然自定义一个了虚拟的计算机,附带了一套自定义的汇编语言,然后书中的算法都用自己的汇编语言来写, 截个图大家感受下:
用汇编写算法,这不是自虐吗? 为啥不用C语言? C语言也很贴近硬件啊!
哦,这本书出版的时候(1968年)C语言还没诞生(1972年)呢!
Kunth 老爷子选择自创汇编,除了迫不得已,还有可能是语言会随着时代潮起潮落衰落,而汇编将会永恒。
我释然了,放弃了, 决定不再给比尔盖茨发信了。
我很清楚自己有几斤几两,这本充满着数学和汇编的书并不是为我等凡夫俗子缩写,我还是老老实实地去看我的数据结构和算法的教科书把。
Knuth说过: “要是看不懂 TAOCP,就别当程序员。”
显然Knuth是错的, 我还是成了一个程序员。
工作以后,我还买了一本,放到书架上来装点门面,显得自己非常高深的样子。
有一次被同学看到了,调侃似地问我:“你真的把这本书看完了? 给比尔盖茨发简历没有?”
我无言以对,默默地把它从书架上抽出来,放到了箱子的最底部,然后换上了一本《算法导论》 。
后来这个“可恶”的同学又来了,惊讶问我:“你把《算法导论》看完了? 厉害啊!”
于是我默默地把《算法导论》 也抽了出来,换上了一本《算法》。没错,这就是我一直推荐的一本算法书,适合我等凡夫俗子阅读。
如果你不是做算法分析的,我不建议你去碰《计算机程序设计艺术》这个圣经了。有啃这本书的时间,我觉得还不如自己去折腾个操作系统出来,要有意思得多。
- ResGen.exe 可能无法运行,因为命令行的长度为XX个字符,超过了命令的最大长度。若要解决此问题,请 (1) 删除不需要的程序集引用,或者 (2) 缩短这些引用的路径。
- 只能输入数字,不需要小数点,错误可能是
- 可能只有一种改进可以不需要你老板的支持
- 错过这篇文章,可能你这辈子不懂什么叫傅里叶变换了(一)
- 错过这篇文章,可能你这辈子不懂什么叫傅里叶变换了(二)
- 这辈子我还有可能进FBI吗?
- 我们之间的关系有多脆弱呢,我只要关掉电脑关掉手机,可能你这辈子就再也不会联系到我了。
- 你可能并不需要消息队列
- 你可能不需要 jQuery!使用原生 JavaScript 进行开发
- 你可能不需要一个 JavaScript 框架(一)
- 用js函数处理事件时,有时候可能因为页面部分组件不需要显示,但仍需要执行js,会有报错,但是不想暴露页面,是业务正常进行。。。。
- 你可能不需要vuex
- 错过这篇文章,可能你这辈子不懂什么叫傅里叶变换了(一)
- 删库是不可能删库的,这辈子是不可能删库的
- 错过这篇文章,可能你这辈子不懂什么叫傅里叶变换了(完)
- 这辈子我还有可能进FBI吗?
- 你可能不需要一个 JavaScript 框架(二)
- 你可能不需要 jQuery!使用原生 JavaScript 进行开发
- 无语的百度空间,这都能封,也没个解释。我不需要可能,我需要确定的答案。
- Linux 4.0 里,你可能再也不需要重启你的操作系统。