查看原文
其他

你这辈子可能都不需要看《计算机程序设计艺术》了!

码农翻身刘欣 码农翻身 2021-04-20

“欣哥, 我什么时候可以看《计算机程序设计艺术》? ”


“你这辈子可能都不需要看了!




我在大学的时候并不知道《计算机程序设计艺术》(简称TAOCP)有多牛,他的作者有多牛,人家计划写七卷,写了三卷以后,图灵奖的评委们就“迫不及待”地把图灵奖版给他了。 


我只是看到了比尔盖茨的一句话:


“如果你完完整整读完了《计算机程序设计艺术》,请立刻给我发一份简历。”  


我立刻就跑到图书馆去,翻出了那本泛黄的,破旧的《计算机程序设计艺术》,准备看完后给盖茨发简历。


这本书一开始就是数学准备,讲归纳法,幂,对数,排序和阶乘,几乎全是数学公式,我一看到数学就头大,特别是觉得这些东西高中应该掌握了,于是果断跳过。 


然后的章节就把我镇住了,这是什么算法书啊!一开头居然自定义一个了虚拟的计算机,附带了一套自定义的汇编语言,然后书中的算法都用自己的汇编语言来写, 截个图大家感受下:



用汇编写算法,这不是自虐吗? 为啥不用C语言? C语言也很贴近硬件啊!


哦,这本书出版的时候(1968年)C语言还没诞生(1972年)呢!  


Kunth 老爷子选择自创汇编,除了迫不得已,还有可能是语言会随着时代潮起潮落衰落,而汇编将会永恒。


我释然了,放弃了, 决定不再给比尔盖茨发信了。 


我很清楚自己有几斤几两,这本充满着数学和汇编的书并不是为我等凡夫俗子缩写,我还是老老实实地去看我的数据结构和算法的教科书把。 


Knuth说过: “要是看不懂 TAOCP,就别当程序员。”  


显然Knuth是错的, 我还是成了一个程序员。


工作以后,我还买了一本,放到书架上来装点门面,显得自己非常高深的样子。  


有一次被同学看到了,调侃似地问我:“你真的把这本书看完了? 给比尔盖茨发简历没有?” 


我无言以对,默默地把它从书架上抽出来,放到了箱子的最底部,然后换上了一本《算法导论》 。


后来这个“可恶”的同学又来了,惊讶问我:“你把《算法导论》看完了? 厉害啊!”


于是我默默地把《算法导论》 也抽了出来,换上了一本《算法》。没错,这就是我一直推荐的一本算法书,适合我等凡夫俗子阅读。 


如果你不是做算法分析的,我不建议你去碰《计算机程序设计艺术》这个圣经了。有啃这本书的时间,我觉得还不如自己去折腾个操作系统出来,要有意思得多。


最新热门文章

为什么996工作制只提互联网公司?

四次面试:程序员越来越悲催了

必须要裁掉那些老家伙

为什么学习编程要从Web开始?

我是一个线程

我是一个Java Class

CPU阿甘

面向对象圣经

TCP/IP之大明邮差

负载均衡的原理

一个故事讲完HTTPs

编程语言的巅峰

JavaScript:一个屌丝的逆袭

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存