迟来的书评和感想──给喜爱编程的朋友_编程之美书评-查字典图书网
查字典图书网
当前位置: 查字典 > 图书网 > 编程 > 编程之美 > 迟来的书评和感想──给喜爱编程的朋友
Milo 编程之美 的书评 发表时间:2010-02-24 00:02:01

迟来的书评和感想──给喜爱编程的朋友

这本书我读了两遍,分別是两个印次。读第一遍是这书刚出版的时候买的第一版,读第二遍是因为最近认识了本书作者及编辑,我说以前看到本书的一些小错处,出版社就寄了第7次印刷本给我。在新年前花了一个星期把书尽量仔细地看了一遍,发现这印次仍有一些小问题及程序的bugs,已连同其他意见回馈给作者。

我其实不太喜欢这书的书名《编程之美──微软技术面试心得》,因为本书和面试直接有关的文章其实只有开头的8页,本书的内容其实是一些编程题目集锦。或许潜书名是《算法及数据结构的有趣题目集锦──附详细分析及解法》,不过我也明白这样的书名可能会影响销路。

说一个故事,四五年前我为面试出了一条笔试题目,恰巧和本书的题目2.1很相似,计算一个无号整数(我要求32-bit,书中的是8-bit)在二进制中1的个数。当时心想这个题目很简单吧,谁知有些应征者在这题上交白卷,更难找到一些能写到更优化答案的人了,并以为自己做出的解法已经是最优。不过,几年后,我才知道原来这个问题是有正式的学名,叫Hamming Weight (http://en.wikipedia.org/wiki/Hamming_weight),除了有更快的算法外,在SIMD 4.2 也有指令去计算。当时就为自己的无知感到惭愧。

本科学习和社会工作,在性质上是有很大的分别。在学习算法和资料结构时,通常都是一个一个单元去学习。但在工作上,一个程序员必须把知识融汇贯通,解决一些没有标准答案的问题。这需要程序员有解难能力、足够知识和熟练技能等等。这本书可以作为这方面的测试。

本书的题目中,除了1.1和1.10和操作系统相关,其他题目都是纯算法/数据结构的问题,不涉及其他计算机领域(例如程序语言/范式、计算机架构、软件工程、数据库等等),可以考虑加入纯算法和资料结构以外的有趣题目,使内容更贴近书名。对我而言,本书大部份的题目是有趣的,而且当中可以学到一些新知识,训练头脑,甚至引起兴趣去进一步研究。

本书除了适合学生去阅读,也适合喜欢编程的人。如果是喜欢编程的人,可能会觉得这本书就是一本有趣的IQ 题目书籍,会去用来挑战自己的能力。

本书也有些美中不足,列举如下:
- 阅读第一遍时,找到错误但找不到联系方法(如e-mail),这在新印次改善了。但可能因为某些原因,现时的网站并没有勘误表。
- 阅读第二遍时,仍然发现内文的错处和程序的bug。有些程序中变量名前后不一,较大的bug是4.7的程序有错误理解题目。
- 可能是因为多个作者的原因,文中有些程序的编程风格有点差异(例如单行的if/for/while 是否用{} ),建议尽量统一。另外我提了一些改善程序「美」的意见,不在此详述了。
- 内文有些数学算式混合了C/C++/C#的写法(如<=、!=),建议用正式的数学符号。如果数学算式能排版成LaTex 质素就更好。
- 一些问题或解答中用到的方法是经典的,建议最少提及它们的中英文名字,如能提供一些参考文献就更好。

虽然这本书已经是国内原创书籍的一个很好的例子,但我对这本书的期望很高,所以请作者们不要怪我只给4星,我希望它能更加进步。
希望作者们和编辑能继续改善这本书(续版或在网上提供资源),并且能够继续出版这种有创新意念的书籍。

展开全文


推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读

对“迟来的书评和感想──给喜爱编程的朋友”的回应

海陆688 2015-09-14 20:01:18

绝对是本好书,建议考研的同学好好看看!

药王 2012-11-04 19:51:20

副标题确实不好,不翻看会误以为和小摊上常卖的求职宝典一类

叶卡 2012-03-06 10:32:14

to 楼上:那只是对你起了反作用。不过,以我不多的读书经验,我还是不会因为一个副标题就轻易否定一本书的。也不会因为某本书畅销,就认为一定不是好书。我会获取更多的信息来判断。不过,恭喜楼上,你最终是个理性的读者。期待你的书评和读书笔记。阅读愉快:)

mumuliang 2012-03-05 15:51:03

正标题挺好。副标题太功利了。就是因为副标题的缘故,一直没入这本。直到前阵子看到一系列很不错的读书笔记。

估计编辑也莫有预料到,原本想促销的副标题恰好起了反作用。

鸿爪 2010-11-22 19:49:13

作为milo的fans,跑过来看看……

LL 2010-10-09 18:04:51

@xinz
呵呵……那是……我是觉得比较有趣才看的……

xinz 2010-10-09 18:01:55

@lonely "趣味"也不错。 但也不必看到“美”就没有翻看的欲望.

LL 2010-10-09 11:49:49

@xinz
我觉得叫《编程的趣味》更好……因为编程本身来说是很有趣的……

xinz 2010-09-03 23:35:23

>  书名《编程之美──微软技术面试心得》真的让人看了觉得就像很庸俗的快餐文化,再没有翻看的欲望了。。。

您觉得什么名字会让你有欲望?

叶卡 2010-09-02 10:37:29

豆瓣上的类似豆列还少吗?

陈思 2010-09-01 20:43:17

Milo能不能介绍点好书给我这个刚刚学编程的初学者啊,谢谢了

RobertHu 2010-08-10 00:04:38

Hamming Weight 我交了白卷。。。

为我的无知感到羞愧

葡萄 2010-07-13 16:24:18

书名《编程之美──微软技术面试心得》真的让人看了觉得就像很庸俗的快餐文化,再没有翻看的欲望了。。。

我兜兜有糖 2010-06-09 12:39:51

我也是最近才去买的这本书,还是因为自己大学的班导生推荐的,他去过微软的研究院,和我特别推荐了这本书,这本书的价值真的很高。对于学习和工作,因为还在象牙塔里面的我不知道外面的世界,不过学习的过程中总是当兵作战的问题是有些让人无奈,想贯通却发现真的很难实现,不知是教育的悲剧,还是我们的悲剧

lispython 2010-05-14 00:22:25

谢谢Milo!

叶卡 2010-05-12 00:28:59

Milo辛苦了!

Milo 2010-05-12 00:22:47

今晚又寫了關於另一題目《分层遍历二叉树》的博文 http://www.cnblogs.com/miloyip/archive/2010/05/12/binary_tree_traversal.html

lispython 2010-05-03 16:55:51

@猎户
多谢您的批评,我是这本书的编辑,可以详细讲一讲您发现的这些错误么?我的邮箱和GTalk都是lispython@gmail.com,希望和您多交流。

xinz 2010-04-28 22:18:42

@猎户

这本书每次重印,编辑们都会改正一些错误, 由编辑导致的错误在第2次印刷之后就很少了。 主要错误还是作者水平不够导致。

猎户 2010-04-28 10:02:52

低级的编辑error还是很多的 …… 有些错误能避免的 就不能认真一点么?

START 2010-03-18 21:31:02

去年暑假买的这本书,压了半年了。这学期开学才开始读,因为大三了第二学期了。自己感觉看此书后写程序能力有所提高。

Milo 2010-03-16 18:41:01

@IT小兵
好,去改。

啤酒啤酒 2010-03-11 19:12:56

谢谢Milo的详细书评,非常有帮助!再次感谢!

Knight Rider 2010-02-27 17:22:39

谢谢你的书评~

Milo 2010-02-25 03:47:31

今晚写的blog《《编程之美: 求二叉树中节点的最大距离》的另一个解法》,把原来的代码减少为1/3左右,较易读及降低了空间复杂度 http://www.cnblogs.com/miloyip/archive/2010/02/25/1673114.html

豆豆家の哲爸爸 2010-02-24 17:36:53

“我其实不太喜欢这书的书名《编程之美──微软技术面试心得》,因为本书和面试直接有关的文章其实只有开头的8页,本书的内容其实是一些编程题目集锦。或许潜书名是《算法及资料结构的有趣题目集锦──附详细分析及解法》,不过我也明白这样的书名可能会影响销路。 ”
呃,本人就是看到这个书名失去了兴趣。。。

小熊 2010-02-24 10:13:08

这本书也看过一点,确实有意思。

lispython 2010-02-24 01:44:54

多谢Milo提出的宝贵意见,您的希望是我们前进的动力。

叶卡 2010-02-24 01:13:13

谢谢Milo的建议,会逐一尽快改进。