不依赖直觉,科学地编程_The Science of Programming书评-查字典图书网
查字典图书网
当前位置: 查字典 > 图书网 > 编程 > The Science of Programming > 不依赖直觉,科学地编程
bearlie2010 The Science of Programming 的书评 发表时间:2014-05-30 15:05:52

不依赖直觉,科学地编程

虽然这本书的名声并不响亮,但是在我看来他对我的帮助如算法导论一样大,刷新了我的“编程观”。在看算法导论之前,我以为编程就是API调来调去,一堆Lib堆起来一个程序。而在看这本书之前,我正如本书作者所描述的很多程序员那样,依赖直觉去编程,这么说也许有些含糊,但是如果你也是个程序员的话,你应该能理解我说的话:你在写很多程序的时候,譬如要编写循环,要处理边界条件时,是不是都如我一样“凭大脑中的逻辑推理想当然”地以为应该这么写或者那么写,有时候甚至你自己也不是那么地确定你写对了,这时候你也许会输入几个test case,如果测试通过了,你的信心就会增强,加上程序员普遍都自我感觉比较良好,这个程序在你看来肯定写对了。而实际上这么做有两个问题:
1.只要是人,直觉都可能会犯错,你“想象着” “应该”这么写的时候,就存在了潜在错误的可能
2.你没法用测试案例覆盖所有可能的输入,简单地举例,你能输入所有的整数吗?

这本书教会了读者一种科学的编程方法,利用严格的数学推理去“证明”你写的是对的,至少是你理解的那种“对”(因为如果你本身理解错了,那就没法指望你写的程序是对的了),这么说起来有些玄乎,但是说真的,这本书就是这么神奇。

稍微说一下书的内容以及如何读,免得有人觉得我只会吹牛逼打嘴炮不给干货。这本书主要包含三个部分:第一部分是一些跟逻辑推理相关的基础,这部分是后面主要内容的先验知识,重点是记住那些记号和理解那些公理;第二部分是解释了一种编程语言中必备的一些操作,譬如循环,分支,调用等。因为本书是原理性内容,所以避开了使用现成的一些编程语言,我个人觉得对于讲解一些核心内容确实有帮助,不过使得书的篇幅增长了不少。第三部分是重点,前面讲的都是理论,这一部分开始讲解具体的技巧和操作:如何用正确的方法去写出正确、高效的程序。这些技巧可应用性都很强,值得深入学习。
总的来说,我觉得本书是程序员进阶难得的好读本,而且对于读者来说是“能力之外的读本“,而不是单纯的知识性读物,提高的是读者的编程能力和方法论,相比那些具体的"XX技术实战”来说,对个人的提高影响更深远。

展开全文
有用 17 无用 0

您对该书评有什么想说的?

发 表

推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读

对“不依赖直觉,科学地编程”的回应

Firo 2016-01-07 02:27:28

另外9本无迹可循,因为这个排名出自本书英文版在Amazon的第一条评论By Charles Ashbacher - June 2, 2002
This book makes my top-ten list of best computing books of the decade of the eighties. It certainly changed my outlook on how to write programs.

听雨斋人 2015-09-22 03:40:59

求另外9本?

figure9 2015-05-18 09:06:04

> 其实本书在U.S十分响亮,被坊间称作80s最重要的十本CS著作之一

好奇其它 9 本是哪几本。

一路绝尘 2015-01-07 12:23:05

这本书有中文版么?

sandezi1992 2014-11-03 18:16:48

请问这本书的中文译名叫什么啊?

小岛 2014-10-15 15:47:20

说实话,目前就如你所说,我就是那种想当然的编程人员。

RickRashidTang 2014-08-18 19:10:54

其实本书在U.S十分响亮,被坊间称作80s最重要的十本CS著作之一