Elements of Programming C++泛型编程思想

算法的数学底子的书不多,这本《Elements of Programming》算是蛮硬核的那类,但讲得还挺有味道的。它不教你写花哨的 UI,也不是刷题集锦,而是从数学角度看怎么写对、写稳、写久的程序,挺适合那种想“把编程这事整明白”的朋友。

偏 C++方向的程序员会觉得亲切,书里的代码就是用 C++写的,还选了个小的子集,语言没那么花哨,但逻辑扎实。像快速幂算法这种常见套路,它拿来讲怎样用泛化思想去推,怎么看操作是不是可结合的。一通操作下来,你会发现自己写函数的方式都变得规矩多了。

不太适合随便翻翻的那种书,最好真的是从头到尾看一遍,做做题、推推公式,有点像啃教科书。但也真的是你啃完了,写代码的脑子就清爽多了,尤其是架构底层或者写库的工程师,这本书简直是“清华黄埔”。

顺手说下:它附带的那份语言文档是和Bjarne Stroustrup合写的,讲得也清楚,和标准文档比,接地气多了。如果你对C++比较熟但一直不太懂 STL 背后的设计哲学,这本书真的值得读一读。

如果你正在重构旧项目,或者准备写一套自己的工具库,这本书会帮你重新审视接口设计、类型约束这些根本问题。哦对,文中提到的一些算法要求的类型属性,在The Fundamentals of C/C++游戏编程基础》里也有基础铺垫,感兴趣的可以一起看。

吧,这书不是那种读完立刻能涨薪的类型,但你会开始知道,为什么用数学推导写程序,才是高级程序员真正的姿势。

pdf 文件大小:3.21MB