Python 是公认的优秀语言,而很多人可能并不知道,标准python实现,同样是非常优秀的C源码项目。它利用中立的标准C语言,洗练的实现了动态面向对象环境,使得Python语言的灵活和优雅得以充分体现。Python平台的C源码,本身就具体很高的学习价值。然而像其它成功的大型开源项目一样,庞大的代码规模,复杂的脉络和C相对艰涩的语法,给学习者带来了相当高的门槛,很多人因此望而却步。
多年前,Robert Chen 在 Python 中文社区开始发表他的系列文章,剖析python运行时环境的源码实现和运行机制,引起了极大的轰动。难能可贵的是,老陈将这个系列的文章坚持写了下去,并且始终保持了非常高的质量。甚至,随着Python的版本升级,陈儒也认真的将文章内容不断改版升级(这一直沿续到成书时的最新版本Python 2.5)。于是,大家开始鼓动他集结出书,我也是其中之一--当时我正在涉足网游开发,对于一个钟情Python的C++程序员,这将是一件多么令人开心的事啊!于是我三番五次向博文的编辑老师们推荐这些文章。
然则博文的编辑发短信给我,问我Robert Chen是不是本名陈儒时,我才惊觉,我和他几乎是完全陌生的,我那时甚至还不知道他的名字是什么。 这一点,其实直到我收到散发着油墨香气的《Python 源码剖析》之后,才确定下来。
不过,我想,接下来,我们还是谈谈这本书,而不是写一篇《我与陈儒--不得不说的故事》,毕竟我和他都是取向正常的老男人:)。
《Python 源码剖析》,是我近年来收入的所有专业书中,最喜欢的一本。陈儒的文字有一种从容朴实的力量。尽管我们不能强求工程师的文笔有如职业作家,然而,陈儒至少做到了用轻松易懂的语言把问题说清楚。这在IT专业著作中,已经是非常了不起的境界了。 需要说明的是,我不会向python语言的学习者推荐这本书,因为它不是一本python语言的教材。相反,作为分析Python运行时机制的专著,书中充斥着有关C、C++的讨论(我还读到了有用java做为比较的段落)。这不要求读者是专业的C/C++程序员,但是至少应该能够读懂C代码,最好知道 C++ STL是怎么回事。
值得称道的是,这本书中不仅是从C层面分析虚拟机的行为,还给出了很多宏观上的图例分析,以及 Python 虚 CPU 指令解析。自下而上,完整了带出了一个经典的动态语言环境如何从思想成为现实的过程。作者的从业经验,使得他可以从实际的角度给出很好的类比和解释。例如,在分析 Python List 对象的时候,就比较了它与 C++ STL Vector 和 STL List 的异同,以及类比的C++实现。CPython 的实现本身是非常重视面向对象思想的表达,大量运用PyObject *及其派生的数据结构容器,所以用这种方式介绍Python实现,达到了非常好的效果。
这本书,我想针对的主要人群应该是下列几种:
* 需要做C/C++与python互嵌入开发的程序员,例如使用Python的游戏开发人员;
* 对python运行机制感兴趣的学习者和使用者,特别是有C背景的程序员;
* 希望优化python虚拟机效率的专业人士,据我所知国内也有一些比较有实力的团队和个人在做这样的工作;
* C 语言学习者,希望从开源项目中学习知识,Python本身是非常优秀的C语言项目,被称作是现代动态语言的典范,而《Python 源码剖析》这本书,是学习研究Python源码的绝佳指南;
在这个领域,还从未见到系统的英文著作,只有散落在各个技术社区的一些零散的邮件讨论,以及在一些介绍python语言的教材中,有涉及python运行机制的讨论,却从来没有人能做到陈儒这样,系统,全面,深入。我坚信,这本优秀的著作,值得译为英文,向全世界的C/C++/Python程序员推荐。
阅读本书时,我向读者推荐Python官方文档 Python/C API(http://www.python.org/doc/2.5.2/api/api.html) 和 Extending and Embedding(http://www.python.org/doc/2.5.2/ext/ext.html) 作为本书的辅助读物,一定会使您事半功倍。
当前python的新最发布版本是Python2.6,但是本书成书时还是Python2.5,不过读者不必担心内容有落伍之处。因为python 2.6主要是作为python2.5到Python3.0的过渡版本出现,业界对它的实用并不是非常的积极和主动,大多是作为研究和探索可能性之用,当前 python的主流应用版本仍是Python 2.5,而且这一趋势相信会沿续较长时间:毕竟Python 3.0 对于整个Python社区来说,太过激进了。
万众期待的优秀著作
对“万众期待的优秀著作”的回应
《Python源码剖析》热门书评
-
万众期待的优秀著作
80有用 5无用 膘 2008-10-14
Python 是公认的优秀语言,而很多人可能并不知道,标准python实现,同样是非常优秀的C源码项目。它利用中立的标准C语言,洗练的实现了动态面向对象环境,使得Python语言的灵活和优雅得以充分体现。Python平台的C源码,本身就具体很高的学习价值。然而像其它成功的大型开源项目一样,庞大的代码...
-
我写的推荐序
31有用 20无用 Fenng 2008-07-09
非常高兴看到又一本原创 Python 图书的出版。说起来,我和 Python 还算有一点缘分。在 2000 年的时候,非常偶然的一次机会接触到Python,当时网上资料非常之少,不知天高地厚的我竟冒失地接手了国内第一本引进 Python 图书的合作翻译工作,往事不堪回首。记得当时经常有人问我 Pyt...
-
只说不足的
20有用 3无用 E.T 2009-07-10
好的方面已经有很多读者说过了,这里提一下我认为做得不好的几点,概括起来是“二多一缺”:二多:“口水话”多,本人认为对增进理解或过渡没有太大作用;typo 多,需要质疑一下校对者的水平。一缺:缺少参考书目,经常读国外技术书籍的人应该不会对bibliography这个词感到陌生吧,哪怕只引用了一句话,也...
-
态度诚恳,但是缺乏洞见
17有用 0无用 LipingTaBaBa 2012-01-12
这本书其实不是面向python用户的,而是剖析python的运行时实现。更适合于进阶C程序员以提高C语言能力。不过不知道是作者功底不够,还是时间太紧,很多地方作者罗里罗嗦的写了好几页纸,比人家源代码还长,可还没有源代码里的注释讲得清楚。我仔细看过的有第十六章《Python的内存管理机制》,下面以这个...
-
国内技术书籍神作
14有用 1无用 simonliu 2012-01-30
其实这本书已经在我书桌上摆了很久,断断续续看完了,后来又从头看了一遍,总体感觉呢就两个字“佩服”。作者在 Python 研究方面不一定是国内最牛的,关于作者的文笔风格争议也颇多,但是作者是第一个把研究 Python 的收获传播出来的人,光是这一点就比那些成天在那里嚷嚷说这不好、那不对的人高尚很多。也...
书名: Python源码剖析
作者: 陈儒
出版社: 电子工业出版社
副标题: 深度探索动态语言核心技术
出版年: 2008-6
页数: 480
定价: 69.80元
装帧: 平装
ISBN: 9787121068744