这本书如果是基于 Swift 就太好了。不过,即使如此,书中讲的很多编程的思想、原理还是很通用的。比如对正则表达式、字符编码、等部分的介绍,非常值得深入研究时回头再看。
不过,毕竟作者是 Ruby 的作者,是底层思维的牛人;对于我这种肤浅的应用型选手,可能还是更愿意接受相关的思想,比如同样是独立开发者的经历,如何构建一个市场需要、但目前尚属空白的产品,如果提交产品的知名度,等等。
另外,这本书看的时间有些长,前后超过了 20 天,思维会中断,没有连续阅读时的畅快和收获。以后一本书还是尽量在一个星期内阅读完毕。
一些书摘(使用 Klib 导出):
- 程序的重复是一切问题的根源。重复的程序在需要修改的时候,所涉及的范围就会更广,费用也就更高。当多个重复的地方都需要修改时,哪怕是漏掉其中之一,程序也将无法正常工作。所以重复降低了程序的可靠性。
- 软件开发的最大敌人是复杂性。人类的大脑无法做太复杂的处理,记忆力和理解力也是有限的。
- 虽然计算机的性能年年在提高,但它的处理能力终究是有限的,而人类理解力的局限性给软件生产力带来的限制则更大。在计算机性能这么高的今天,人们为了找到迅速开发大规模复杂软件的方法,哪怕牺牲一些性能也在所不惜。
- 对于没有名字的东西,人们几乎不可能认识到它的存在,并对之进行讨论。这种不能用语言表达的知识我们称之为内隐知识。
- 国外以反斜杠作为转意字符,而日本国内用日元符号作为转意字符。
- 正则表达式,是表达字符串模式的一种微型语言。正则表达式由字符本身、字符模式、锚点以及重复等组合而成。
- 介绍几条关于性能优化的格言,第 1 条也是最有名的: 过早的优化是万恶之源。还有一句也说的是这个意思:优化有两条准则:
- 别做优化。
- (仅适用于专家)先不要做优化。
- 性能优化的具体技巧:
- 根据测定,发现瓶颈
- 减少对象
- 减少方法调用
- 避开用 Ruby 实现的方法
- 使用立即值
- 瓶颈部分用 C 语言记述。
- 以空间换时间
- “锁链的强度取决于最弱的环节”,这是在谈到安全性时经常使用的一句谚语。