| Jiazi's profile妥协型理想主义者Blog | Help |
|
June 20 翻墙指南(纯公益) 翻墙请看指南 http://72.13.95.169/stop_playing.html 目前公开测试账号 用户名: pub 密码:pub12345 测试账号可能随时会停掉 虽然不限流量,但也别拿来下毛片,即使下也下点低容量低分辨率的,以免带宽占满 April 14 吃多少唐僧才能长生不老?zz网络上有一道关于《西游记》的题目:
从这个问题出发,网友又列举了一堆关于《西游记》的问题。周末无事,试着解答一下: 1:为什么猴子被五指山压住他不变小出来? 2:为什么他大闹天宫时无敌,而取经时次次搬救兵? 3:为什么神仙那么多厉害的法宝在后来把空哥打那么惨,开始闹天宫的时候不拿出来? 4:观音是亲民神仙,镇元大仙也和她挺熟,为什么不知道观音的水能救人参果树? 5:玉皇大帝和王母娘娘是母子还是夫妻? 6:时间问题,猴哥被压了500年,这500年是天上的500年,还是人间的500年?如果是天上的500年,这猴头大闹天宫,犯下那般大过,才被判了500天? 7:为什么唐僧每次都不相信悟空的话非要说别人不是妖精? 8:猴哥以前在东海想干嘛干嘛,后来为啥总说自己水性不好? 9:到底是谁先传出吃唐僧肉可以长生不老的? 10:神仙自然可以长生不老,那么太上老君的俩童子,为啥还要巴巴地下凡做了金角大王、银角大王来捉唐僧肉吃,想借此长生不老?
11:为什么孙猴子的火眼金睛看不出牛魔王变的猪八戒? 12:孙悟空是不是暗恋唐僧的? 13:孙悟空从来没上过学,读过书,为什么这么多俗话说,常言道,等一大堆的书之理论?
这一过程,书中介绍说有八、九年之多。以孙悟空的悟性,怎么就不能学会满嘴的“常言道”?看书,要仔细! 14:在最后拿经的时候那俩看经书的问猴子他们要好处,和尚给了他们那个紫金钵,很心痛的样子。。。猴子不是会变这么多东西,为什么不变个给他们? 最后,为什么唐僧不肯分点肉给妖精们吃?因为他很早就知道这是游戏规则,别人要的,一定不能给。否则,为什么是他当孙悟空的领导呢? 下课! February 18 <程序员的自我修养 -- 链接、装载与库> 这本书差不多写了两年多,也算是对自己两年的研究生生活有个交待。前几天交稿那一刻长吁一口气,然后就盼着出版了,三四月份应该就能面世了。 序言CPU体系结构、汇编、C语言(包括C++)和操作系统,永远都是编程大师们护身法宝,就如同少林寺的《易筋经》,是最为上乘的武功;学会了《易筋经》,你会无所不能,任你创造武功,任大师们开发操作系统,编译器,甚至是开发一种新的程序设计语言!
-匿名
念书的时候,作为标准的爱好技术的宅男,每天扫一遍各大高校BBS的技术版面基本好比一日三餐一样正常。我对计算机技术方面的口味很杂,从汇编版到C++到Linux内核开发、Linux应用开发、游戏开发、网络、编程语言、体系结构、游戏开发、移动开发、开源闭源我都会参上一脚。
我始终认为技术优劣取决于需求,与很多持有“编程语言血统论”的程序开发者不同,我不认为C++或者Java本身有什么直接可比性,或者OOP与函数式编程谁优谁劣,我始终坚持认为作为开发者,MOP(Market/Money Oriented Programming)才是唯一不变的编程范式。于是我往往不参与那些技术、平台、语言教派之间的宗教战争,这种论战基本上每周都会有,我很佩服论战各方见多识广、旁征博引、高屋建瓴的论断,但我往往是灌灌水调节一下气氛。相反我很关注一些与语言、平台等相对独立的一些基本的系统概念方面的问题,这些问题比较具体,也比较实用,比如:
为什么程序是从main开始执行? “malloc分配的空间是连续的吗?” “PE/ELF文件里面存的是什么?” “我想写一个不需要操作系统可以直接在硬件上跑的程序该怎么做?” “目标文件是什么?链接又是什么?” “为什么这段程序链接时报错?” “句柄到底是什么东西?”
这些问题看似很简单但实际上有很多值得深入挖掘得地方,比如第一个问题围绕着main函数执行前后可以延伸出一大堆问题:程序入口、运行库初始化、全局/静态对象构造析构、静态和动态链接时程序的初始化和装载等等。我们把这些问题归结起来,发现主要是三个很大的而且连贯的主题,那就是“链接、装载和库”。 事实上,现在市面上和网络上能找到的计算机技术方面的书籍和资料中,什么都很齐全,唯独关于这三个主题的十分稀缺,即使能找到一些也是犹如残缺的典籍,不仅不完整而且很多已经过时了。关于现在通用的Windows和Linux平台的链接、装载以及PE/ELF文件的详细分析,实在是很少见。这个领域中,最为完整也最为权威的莫过于John R. Levine的《Linkers & Loaders》,这本书我也前前后后通读了好几遍,虽然它对链接和装载方面的描述较为完整,但是太过于理论化,对于实际的系统机制描述过于简略。 我始终认为对于一个问题比较好的描述方式,是由一个很小很简单的问题或者示例入手,层层剥开深入挖掘,不仅探究每个机制“怎么做”,而且要理解它们“为什么这样做”,其中深入浅出图文并茂,努力把每一步细节都呈现给读者。这是我一贯的想法,也是我们在这本书中努力试图达到的效果。 第一次有想写这样一本书的念头是在2006年底,当时我正在念研一,想起未来还有长达一年多漫长而又相对空闲的研究生生活,我想写一本这样的书大概是比较好的“消遣活动”。于是我第一时间想到了当时我在微软研究院实习时的导师潘爱民老师,潘老师在写作技术书籍方面有很深的功底和丰富的经验。我把我的想法告诉潘老师以后他也十分支持,于是我又找到了当时刚好保送研究生、时间上也相对充裕的石凡,我们三个都对这个选题十分感兴趣,可谓一拍即合。 当时也没多想,以为写书大概也就是跟BBS发帖连载差不多的事吧。到一写起来才发现自己完全轻视了写书的工作量。书中的每一个章节、每一个小段、每一个例子甚至每一个用词有时候都要斟酌很久,生怕用得不恰当误导了读者。“误人子弟”这四个字罪名可不轻,大有推出午门斩首五遍以儆效尤之势。写书的时间的确很仓促,虽然我们都是在研究生在读时写的,按理说相对于已经工作的作者来讲,已经是有很多闲余的时间了,但还是经常手忙脚乱。想来以前看书看到作者写的序时,经常使用“时间仓促,水平有限”,推想大概作者是出于谦虚的目的,客套一下。现在轮到自己写序了,终于感觉到了这八个字的分量。即使到现在已经接近完稿,我们还是心里十分忐忑,因为还有不少地方的确写得不够完善。也听到了很多第一批读者的反馈意见,很多都正中这本书的软肋,我们也根据大家的意见又一次进行了修订,这已经是反反复复第N次修订了。 这本书前前后后花了两年多的时间一直没有完稿,由于截稿时间快到了,我们最终还是定稿了,因为实在是没有办法做到完美,只能无限接近完美。最后,我们在“著”和“编著”之间犹豫了很久,想到这本书凝聚了我们很多的心血,于是诚惶诚恐地写上了“著”字,权当给自己壮胆了。我们也相信,这本书虽然做不到完美,但是我们认为它一定会给你带来一些你以前想看、想了解而又无从下手的东西,或者以前在编程过程中困惑了你很久,但你始终没有找到解释的问题,相信看到那里时你会大呼“原来如此!”,我们也就十分欣慰了! 关于这本书的书名我们讨论了很久,征询过很多意见,最终还是决定使用“程序员的自我修养”作为书名,将“链接、装载与库”作为副标题。书名源自于俄罗斯的演员斯坦尼斯拉夫斯基创作的《演员的自我修养》,作者为了写这本书前前后后修改了三十年之久,临终前才同意不再修改,拿去出版。使用这个书名一方面是这本书的内容的确不是介绍一门新的编程语言或者展示一些实用的编程技术,而是介绍程序运行背后的机制和由来,可以看作是程序员的一种“修养”;另一方面是向原书名的作者致敬,向他对作品精益求精的精神致敬。 在这本书的创作过程中,很多人对我们的支持和帮助难以言表。这里我要感谢博文视点的几位编辑何艳、方舟、刘铁锋等,他们为这本书付出了很多心血;特别要感谢博文视点的周钧老师,这本书能够面世离不开她的支持和努力。另外也要感谢浙江大学的张晓龙博士,他为这本书提出了很多建议,并且贡献了关于“DLL HELL”的这一小节。
December 28 我那无比阴暗的心灵每当在大街上看到年轻的ppmm时,我都会忍不住回想起水木年华的那首《一生有你》的歌词:“多少人曾爱慕你年轻时的容颜,可知谁愿承受岁月无情的变迁”。
翻译成大白话就是:“再过二十年,我们来相会,那时的我那时的你,全都进入更年期。看你还拽不拽?”
于是心中就暗爽无比。你说我是不是心理特阴暗的那种人? 妥协型理想主义者 |
||||
|
|