全部博文(18)
分类: Python/Ruby
2008-07-21 09:56:20
星期六下午小溜的转了一圈书店。
看到一本“Python源码剖析”,翻了翻,基本没过脑子就买了。很少有书能让我不
冷静到china-pub上买了,这是个极少的例外。当然如果你不是python FANS的话,
对此书的免疫力应该很高。
第二天下午本来安排复习ULK的,但实在忍不住,还是抓起来看了,一口气看完了
8个半chapter(不过chapter 6没看,因为和CPython没直接关系)。国内称得上
“著”的书不多,这本书不但是著,而是著得不错。看完第一个部分就已经收益不浅啦:
1、int、string,list,dict的内部机理,这样你可以避免一些很低效的使用模
式。诸如多个字符串连接时如何做效率最好之类的话题,列表如何使用更高效,
dict用什么类型做key最高效?
2、了解Python背后的设计机制,这有什么好处?你可以调整编译时的参数,给自
己定制一个Python解释器,看完第一部分,至少可以做调整缓冲的活计。
3、每个chapter最后的hack XXX,不错,有分析有实践。
4、可以知道limodou的真名,哈哈哈!
第一部分,讲一般的类型实现,难度不大,基本按看侦探小说(不是言情小说
哦,多少也得过点脑子)的速度就行了;第二部分的虚拟机部分会更有意思一些。
不过我觉得也有些小缺点,遗憾:
1、YY的地方在可以接受的范围之内,但仍然觉得有点多~
2、略显哆嗦,所以我略过了文本若干。
3、陈述代码的方式,按照“Linux内核情景分析”的那样就好了。可能是我不习惯
这种代码陈述方式的原因,感觉不少代码有头无尾。虽然我知道代码的逻辑可能已
经结束,但看不到最后的}总有“请看下集”的感觉。
4、不是作者的问题,印刷错误有一些,但远在可以接受的范围之内。
讲Python虚拟机章节的质量也是令人满意的,我一直对异常实现比较好奇,原来是
这样实现的呀!几种函数参数的介绍也不错,比如,为什么默认参数一定要定义在参数列表的
尾部呢?后面部分的阅读难度要高一些,需要反复向前查找一些细节,这时就明显地感到没有
索引的不爽了。至少是我,经常需要向前翻页查找相关字节码的细节,后面那几页广告换成索
引就更好啦!唉,只能在扉页上自己做字节码的索引了。没有索引,这是国内图书的通病,甚
至原著有的,译时也多半要“落下”,最令我深恶痛绝的就是Solaris internals。建议此
书,整个电子版的索引,供俺们下载打印,夹到书中。
一句话评价:很值,很强大。
BTW:原来豆瓣是用Python做出来的!