2015年第2本(英文第1本):《The Practice of Programming》

时间:2021-07-05 20:53:15

2015年计划透析10本英文原著,最开始选定的第一本英文书是《Who Moved my Cheese》,可是这本书实在是太短、太简单了,总体的意思就是要顺应变化,要跳出自己的舒适区,全文不认识的单词也不多,所以很快读完后就开始找第其它的适合我的英文书。

根据《把你的英语用起来》作者的推荐,从zyea要到了《Daughter of Deceit》的文本,发送到Kindle上阅读试试。这书对于我来说果然还是有难度的,前面一堆人物的出场,让我实在搞不清楚他们之间的关系。看了不到10%,暂时先放放。还是按兴趣选书吧,按照lucida的推荐,先找到了这本《The Practice of Programming》,书确实是经典,好像是1999年出版的,里面的编程语言主要针对C和JAVA,一边学英语,一边学IT,想两样兼顾还真是不容易,下一本还是选英文小说吧。

强制自己按透析法2页查一个词,但有时看到感兴趣的IT技巧时,或看到一堆代码时,好几页翻过也懒得查词了。

  • 第一章关于编程风格的内容以前不记得在哪些书里大部分已经看过了。
  • 第二章讲数据结构与算法没有什么特别的。
  • 第三章讲设计与实现。一个关于词语统计的Markov Chain算法可以用Haskell试试。
  • 第四章讲界面接口设计。
  • 第五章讲调试技术。
    when a program works for one person but fails for another, something must depend on the external environment of the program.
  • 第六章讲测试。
  • 第七章讲性能。
    The first principle of optimization is don't.
    不要问优化不相干的代码段。
    Don't store what you can easily recompute.
  • 第八章讲可移植性。
  • 第九章Notation。后面几部分与我关系不大,读得很快。
  • 书的附录中的一些Collected Rules经验规则还是值得认真看看和思考的。

我也不知道这本书的蓝思值是多少,估计一般也不会有人看这本书吧。

生词表:

neophyte :新手。from neophyte to expert in 21 days,21天从小工到专家...这类计算机书现在太滥了。

harbor (v.) maintain

seasoned : ~ programmers 经验丰富的

outright: adj. adv.

belabor: 过度说明 don't belabor the obvious

sloppy adj. 草率的,马虎的 sloppy code

pivot 枢轴,快速排序时选定的那个项作为pivot。

perverse 反常的,变态的 Perverse or unlucky inputs may cause an otherwise well-behaved algorithm to run extremely slowly or use a lot of memory.

flabby  松弛的;没气力的

whimsical  异想天开的

verbatim adj. adv. 逐字的,(完全)按字面的。正好室里发光盘,原来它还是一个商标的名称。

dormant 冬眠的 It lay dormant until we thought to use it in a university course as an illustration of program design.

tradeoffs 权衡,折衷

barrage 火力网,密集火力

reentrant 重入的,好像reentrant code是指相同的输入,产生相同的输出,并且不改变全局变量等环境,这就是指函数式编程吗?这类函数适合于并行。

arcane 晦涩难解的 Debuggers can be arcane and difficult programs, and especially for beginners may provide more confusion than help.

baffle : the engineers were baffled.

inexcusably : adv. 无法原谅地 The vendor's header file was inexcusably wrong.

head off : Another way to head off problems is to verify that expected or necessary properties hold before (pre-condition) and after (post-condition) some piece of code executes.

apocryphal : 杜撰的,来历不明的 The following story might be apocryphal, but we'll tell it anyway.