👆点击“博文视点Broadview”,获取更多书讯0
本文为小红花技术领袖俱乐部创始人赖勇浩为《编程卓越之道》(卷1)所作序言。
拿到新一版《编程卓越之道》的第一卷《深入理解计算机》的稿子,心里非常感慨:上次读这本书,已经是16年前,还留下了幼稚的读后感:
https://blog.csdn.net/gzlaiyonghao/article/details/766912
如今回头看书稿和自己当年的文字,汇编语言以及WebAssembly等底层技术的新面貌再度翻红,而程序员的基本功仍然是与同行拉开距离的最大因素,花时间与精力深入理解计算机还是回报率最高的“投资”。
以此来看,2006年我在博客上留下的印记仍然有适用性,仍然值得新的读者参考。
本书是《编程卓越之道》(英文名:Write Great Code)四卷本中文版的第一卷。
这本书是好书,作者Randall Hyde对计算机系统的深入理解跃然纸上,从数值在计算机中的表示到二进制算术和位运算从浮点数表示到字符表示及字符串组织,从内存的组织与访问到CPU体系结构,从指令集到输入/输出,娓娓道来,它们的优缺点和瓶颈了然于胸。
作者并没有教你优化的方法,而是告诉你哪里会有陷阱。
记得《C++编程规范》里有一条规范是避免代码劣化,这本书全书都在印证这一说法——如果你没有能力优化,起码要保持它没有被劣化。
参加过一些代码评审,有时候会看到一两段代码写得比较耗CPU和内存,比如在局面重置时全部生成新的对象,或者在条件判断时把不太可能发生的情况放在前面。
当评审人指出问题时,听到的最多的辩解是:“嗯,这里是有问题,因为项目刚开始,代码不成熟,我们打算在正式版(下一版)优化它。”
但我想说的是:“你不是在做优化,只是把劣化的代码改正过来而已。”
同样是来自《C++编程规范》,有一句话说得很好:优化应该在代码稳定成熟了之后再做,防止劣化却要时刻进行(大意如此)。
阅读本书能使你大大减少踩入劣化的陷阱。
作为以编写卓越代码为目标的程序员,精读《编程卓越之道》的意义绝不止于加固基础那么简单,我更大的感触是它让我认识到基础的重要性。
从小学到大学,胸无大志的我耍着几分小聪明就轻松过关。而正是这当年引以为傲的小聪明,让我不重视基础,以为生活和工作也会像考试一样逃不出自己的聪明脑袋。大学毕业校招进了网易游戏部门,身边高手如云,想奋起直追时才知道自己下盘不稳、根基不牢。
因为自己害怕离开自己熟悉的语言和平台不能让自己发挥小聪明,让人识破自己是只纸糊的“老虎”,心魔成了追求进步的最大障碍。直到工作了很久之后,才有胆量卸下“偶像包袱”,给自己从底层重修的胆量,慢慢走上自我修身之路。而《编程卓越之道》是很好的“修”技术之“身”的书,我打算四卷全读。
读完第一卷,我的感想是,做大事要有做大事的策略,但天下大事必作于细,没有坚实的基础知识,是没有掌控大事的能力的。
所以,要放好心态,给自己慢慢来的胆量,一步一步来,从底层重修。
快快扫码抢购吧!
发布:刘恩惠
审核:陈歆懿
如果喜欢本文欢迎 在看丨留言丨分享至朋友圈 三连< PAST · 往期回顾 >本周最火AutoGPT!GitHub3.6万+标星,解决复杂任务全程无须人类插手
如何快速转型成为一个计算机视觉工程师?
点击阅读原文,查看本书详情!
本文分享自 博文视点Broadview 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!