博文视点官方博客http://blog.csdn.net/bvbook

技术凝聚实力 专业创新出版 与向上的心合作 共同成长!

用户操作
[即时聊天] [发私信] [加为好友]
博文视点ID:bvbook
296596次访问,排名184好友187人,关注者200
博文视点读者信箱:reader@broadview.com.cn
博文视点投稿信箱:BVtougao@gmail.com
bvbook的文章
原创 254 篇
翻译 1 篇
转载 37 篇
评论 409 篇
博文视点的公告
参加读者调查,免费获取新书
博文视点,重磅推荐
博文视点,PDF最新书目
最近评论
KKK:好书,听朋友介绍过。
interhanchi:O’REILLY的一些底层和c/c++的书怎么不出呀。。。
bvbook:P135: 第六行
f(23)应为f(123);

这个在第二刷上显示的页码是131页
非常感谢您的指正。
yyuedong:在移位的基础上,进行改进。
思想是:每次移位大于一次。下面代码以两次为例:
-----------------------------------------------------
int oneNum[] = {0,1,1,2};
int Count(BYTE v)
{
int num = 0;
while……
杨跃东:在移位的基础上,进行改进。
思想是:每次移位大于一次。下面代码以两次为例:
-----------------------------------------------------
int oneNum[] = {0,1,1,2};
int Count(BYTE v)
{
int num = 0;
while……
文章分类
收藏
    相册
    北斗星图书
    李锟先生
    图片勘误
    网络用图
    博文团队
    博文-何艳
    博文-刘唯一
    博文-刘美慧
    博文-刘薇
    博文-周筠
    博文-徐勤栋
    博文-徐定翔
    博文-晓菲
    博文-李鑫
    博文-杨小勤
    博文-杨昕宇
    博文-杨绣国
    博文-林建峰
    博文-梁晶
    博文-梅梅
    博文-梅玮
    博文-海猫
    博文-白爱萍
    博文-胡文佳
    博文-胡金贤
    博文-解娟娟
    博文-赵士威
    博文-郑丹
    博文-陈元玉
    博文-陈琼
    博文-陈蓉
    博文-马辰宇
    博文-鲁怡娜
    友情链接
    《程序员》杂志
    《软件调试》官方站点
    Dflying Chen @ cnblogs
    InfoQ的霍泰稳
    ITECN博客主编:盆盆
    RESTful Web Services中文版-网站
    博客园博文视点官方博客
    微软 武汉.NET 俱乐部
    熊力的博客——Windbg专家(RSS)
    移山之道(RSS)
    存档
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 深刻揭示Python 与C/C++互动收藏

    新一篇: 《编程之美》读书笔记:2.1节“求二进制数中1的个数”扩展问题2 | 旧一篇: Web改变世界,我们以REST的方式创造Web

    按:陈儒先生的《Python源码剖析--深度探索动态语言核心技术》已经上架销售,欢迎大家评论、样章试读和购买,点击下图免费试读:


    Python源码剖析


    今日最新排名已经杀入互动网销售前十,特截图留念,呵呵。

     


    海猫MSN上问我:能否帮着写一篇《Python源码剖析》的书评?他给我发这条信息时,我正在聚精会神地敲一段超无聊的代码,我看到这话吓了一跳,脑子一激灵,手一颤抖,一个伟大的死循环就此诞生。

    我知道,这都是上次写书评被人骂了之后留下的后遗症。教训深刻呀,它让我再次清醒地认识到,胡说八道是没好下场的,作孽总会遭报应,只不过有现世现报的,有来世再报的,也有子子孙孙无穷报的,总之不是不报而是时候未到的。

    所以这次我学乖了,在决定写下以下的文字之前,我找海猫要了近一半的书稿内容,打算好好啃上十天半个月之后再码个三五万字的、足以让鲁迅先生汗颜的书评出来,灭灭那帮鄙视我的IT人的威风,并以此向他们证明一点,即老韩我在技术上菜是菜了一点,写出来的文字也是俗了一点,骂人骂得是没品位了一点,但百无一是之中总有一样是可取的,那就是:起码我挑错别字还是眼光毒辣的。

    但事实证明我错了,拿到书稿之后,翻完第四篇我就开始后悔,不仅后悔,甚至悔得连自杀的念头都有。因为......理由嘛,就像现代社会女人口中的"爱"字一样,很难说出口。待我梳弄完百结千愁的郭敬明式的忧伤,浅吟低唱着向你道来--因为实在看不懂。  

    这是个历史问题,其渊源可以追溯到Long Long Ago的好几年前,那时年少,风华正好,年轻的我有着年轻的心以及两弯水汪汪的大眼睛,那时我在自学一门语言叫做C语言,用的教材是谭浩强老师的《C语言程序设计》,数月后,自以为学有所得,甚是高兴,高兴之余便开始夸下海口说我要搞编程,抱着这种想法,挤进了IT圈。然而挤进门去之后却没高兴太久,因为慢慢的我发现,一般情况下的大部分时间里,不是我在搞程序,而是程序在搞我。究其原因,是因为谭老师显然是一个理论家而非实践家,在看他那伟大的《C语言程序设计》的时候,他书中的大部分例子对我而言只是起到了酒精的作用:看时感觉很High很懂,而事实上转天即忘。你知道,当一门伟大的语言堕落到只用于解答纯粹的数学问题而对解决实际问题百无一用的时候,学习者也容易堕入到自以为是的怪圈,即:自以为什么都懂了,而事实上什么都没懂。不幸的是,在IT圈也如同在娱乐圈一样,凡事也是要讲潜规则的:做为一个底层程序员,不是你能说会道资本家就会给你工资,做不出东西来只有一条路可选那就是卷铺盖走人--长得帅被老板娘看上的除外。

    于是乎,满以为找到黄金宝藏的我时运不齐、命途多舛,刚刚挤进门就被赶了出来。被赶出来之后我就再也没有碰C这个东西。并转行做起了设计和责编(混饭吃),再后来的故事就有点俗套了:因生计故,最后被逼良为那什么成了一名PHP程序员并一路混到了今天。

    当然,这段话和我要写的书评完全没有关系,按小说的逻辑来说可以算是个楔子,即交代完主人公的前世今生,下面才是正文。

    从上面的介绍您应该可以看到,我其实是个菜鸟。那么,聪明的您、资深的您也许就要问了,这博文怎么回事?找一个这么没文化的菜鸟来写书评,海猫同学脑子进水了吧?--说得有道理,我估计也是,海猫嘛,在海上泡这么久的猫,脑子不进水那是神,或者机器猫。

    而事实是,高手是不写书评的,高手都写序去了,比如为这本书写序的三位专家,那可是国内Python界如雷贯耳的名字(我还就用夸张的词,不怕你说我拍马屁,何况,他们本来不是马,你们鄙视不到我。):  

    一、李迎辉(limodou,史称木头):Python-cn社区资深会员,貌似创始人之一?UliPad的作者。
    二、黄冬:新浪邮件中心Leader,貌似在写一个开源的DNS服务器。
    三、冯大辉:著名DBA,《Learning Python》(Python语言入门)第一版的译者之一,国内Python先行者之一,dbanotes.net站长。  

    大家可以看到,大师们是不屑于写书评的。但这活总有人干呀对吧,所以,这就有我这等小角色的用武之地了。因为书评者,读者眼中事也。

    言归正转,首先说,这是一本好书--无论你认同与否。或许你要说:扯吧你就,你帮别人写书评,你当然不会说这是一本不好的书呀。随便你怎么理解,但我要说,这真的是一本好书,理由是:它除了是一本好书还是一本好书。(有这么胡搅蛮缠的吗?)

    我有我的理由: 

    一、真正用Python或者PHP做过网站的都知道,脚本语言最大的不足就是效率问题,同样的一个处理,用C写的模块来处理,可能会比用脚本语言写出来的快上10倍甚至更多,而这也正是PHP Perl存在的理由以及诸多C写的python模块存在的理由。举一个最直接的例子,在我用python来解析JSON的时候,经测试,cjson的处理速度是py-json处理速度的9倍。而在我使用python-memcach模块的时候,也同样有这样的问题,C写的模块,其匹配key的效率基本上是py-memcache的4-5倍,尤其是对较长的字符key的匹配。这就说明,如果要写出高效率的脚本程序来,那么用C来写模块是必由之路,所谓算法优化之类的讨论完全是属于扯谈,程序员中没多少是很牛的数学家,如果你不能曲径通幽,那我劝你还是老老实实地把握好语言的优势,也可算是蹊径之一。而《Python源代码分析》正好为你提供了研究python核心代码的知识,让你成为Python高效率程序开发员成为可能。 

    二、研究一门脚本语言,深入的去研究其运行机制是很重要的,因为这可以为你以后写出更高效率的代码打下基础,毫无疑问,一个懂得脚本程序运行机制的开发人员,写的程序无论是执行效率还是程序规范,都会比一个只会字符串操作的开发人员写出来的强的。这就如,一个懂得重力加速度以及人体脆弱部位的人与一个啥都不懂的人,在跳楼自杀的效率上总是前者高于后者一样(这什么破比喻呀)。  

    三、纵观全书,作者对Python的对象机制、数据类型机制、编译机制、内存管理机制,分析得还是比较透彻的,这在一定程度上有助于从C阵营转过来的Python新手更快的理解Python。

    四、这本书的作者陈儒老师文学功底很深,像个文人,纵观全书,诸多词汇信手拈来,行云流水。抛开其中一些晦涩的术语不谈,光文字就很精彩。比如下面这很有意思的一段:"列位看官,花开两朵,各表一枝。我们先把这个问题放一放,看一看在Python开始运行时,第一个PyListObject对象被创建时的情形。嗯,这有点像上帝创世纪,挺有趣的。"--是不是有点古龙或者金庸的味道?

    当然,不能总是夸奖,也有不足,不足之处在于有些地方作者太过于注重语言表达而不是平铺直叙,我觉得这可能是作者忽略了技术书的使命的结果,或者也许是作者对自己文字水平太过自信的结果,无论如何,我们不得不承认的是,作者的优点也恰恰是其缺点。尽管书中太量的实例在一定程度上弥补了这种不足,但瑕不掩疵,终为诟病。

    而需要说明的是,这书说实话并不适合Python初学者,尤其是没有C或者C++基础的初学者。  

    以上为个人看了几篇样章之后的观感,不足成其为书评。只算是一家之言吧。如前面所言,本人技术水平不怎么样,不敢做更深层次的技术上的评判,但愿没有误导您。倘若误导成为了事实,欢迎你骂我,但请别带上我爸妈以及我的亲人--因为他们比我更不懂技术,这不是他们的错。

    作者:搜狐老韩

    更多推荐书评:

    黄冬先生推荐序

    冯大辉先生推荐序

    Limodou先生推荐序

    作者陈儒先生博客

    发表于 @ 2008年07月21日 11:53:00|评论(loading...)|收藏

    新一篇: 《编程之美》读书笔记:2.1节“求二进制数中1的个数”扩展问题2 | 旧一篇: Web改变世界,我们以REST的方式创造Web

    评论

    #deerchao 发表于2008-07-23 02:11:36  IP: 123.117.166.*
    好像没有几句话是与此书有关的。。
    #bvbook 发表于2008-07-26 15:05:10  IP: 58.19.67.*
    互动网会员名:fullsail  
      
    我在书店已经买到了,国内称得上“著”的书不多,这本书不但是著,而是著得不错。看完第一个部分就已经收益不浅啦: 1、了解int、string,list,dict的内部机理,这样你可以避免一些很低效的使用模式。诸如多个字符串连接时如何做效率最好之类的话题,列表如何使用更高效, dict用什么类型做key最高效? 2、了解Python背后的设计机制,这有什么好处?你可以调整编译时的参数,给自己定制一个Python解释器,看完第一部分,至少可以做调整缓冲的活计。 3、每个chapter最后的hack XXX,不错,有分析有实践。 4、可以知道limodou的真名,哈哈哈! 第一部分,讲一般的类型实现,难度不大,基本按看侦探小说(不是言情小说哦,多少也得过点脑子)的速度就行了;第二部分的虚拟机部分会更有意思一些。 不过我觉得也有些小缺点,遗憾: 1、YY的地方在可以接受的范围之内,但仍然觉得有点多~ 2、略显哆嗦,所以我略过了文本若干。 3、陈述代码的方式,按照“Linux内核情景分析”的那样就好了。可能是我不习惯这种代码陈述方式的原因,感觉不少代码有头无尾。虽然我知道代码的逻辑可能已经结束,但看不到最后的}总有“请看下集”的感觉。 4、不是作者的问题,印刷错误有一些,但远在可以接受的范围之内。 从目前为止阅读体验上看,已经很不错了。
    发表评论  


    登录
    Csdn Blog version 3.1a
    Copyright © 博文视点