?…………………………………………………………Page 1……………………………………………………………
大 道 至 简
——软件工程实践者的思想
周爱民(Aimingoo) 著
…………………………………………………………Page 2……………………………………………………………
序
2004 年 11 月初爱民(Aimingoo)第一次把他的书稿给
我,我翻看了一下,第一反应讲的是感想。这不错,在技
术界就是需要有真正实践经验的专家把他的思考和心得
与我们分享。Aimingoo 在 Delphi 领域颇有名气,其技术
钻研的深度直达系统核心层,从其著作《Delphi 源代码分
析》可见一斑。不过接下来第二反应就是太薄了,能不能
加厚啊。比如说这些感悟都是有其来源的,可以把实际案
例啊,背景故事啊都加上。不然太薄了,出版社没有办法
出版啊。——国家对于出版的书号是有严格控制的,所以
书号是有成本的。一本讲技术高端的图书销量肯定是有限
的,以现实情况而言,如果很薄定价就只能比较低,成本
无法回收。而且内容只是心得,没有案例,读起来也很硬,
对读者的要求也很高,销量可能就更少了。
爱民听完我的意见,还是坚持这本书就是这样的风
格。出厚书违背了他的本意,要不然怎么叫“大道至简”。
书稿在 2005 年 3 月杀青后,我从 7 月开始在《程序员》
上陆续选择其中的三章发表,看看读者的反馈。不过限于
篇幅,删掉了一些内容,不能完整体现出作者系统思考的
脉络,也比较遗憾。
2005 年 11 月爱民跟我讨论到即使没有出版社愿意出
版印刷,也要把他的作品用电子版问世,并邀我作序。我
十分感慨,在这个浮躁功利的社会,难得还有这样的朋友。
…………………………………………………………Page 3……………………………………………………………
现在,我又仔细从头到尾读了一遍。很多作者写书是
为厚而厚,大部分内容都是水分,作者原创经验精华只有
很少,甚至没有。而这本书是作者从事十年开发工作的总
结,虽然不厚,却闪烁着独立思考的光芒。
世界“虽变化万端,而理为一贯。”作者在软件开发
一线浸淫近十年,回头思考何为开发的本源?这些理论、
方法的本质为何?粗粗一看,这些道理稀松平常,专家教
授无数著作早就谈过,还用作者来写吗?其实不然,理论
都是从实践而来,但我们学习软件开发的时候,是先掌握
这些专家总结的果实,而不是探求本源,所谓“知其然而
不知其所以然”。这些道理看似都知道,但却没有真正体
会上身,在实践中最重要的去应用这些道理,而不是方法。
大多数人看书都希望学到一些招数、方法,能尽快在
工作中用上,这是不错。但要想真正达到更高境界,就必
须明白背后的道理。真正的专家是从根上解决问题的,所
以大物理学家杨振宁在北京大学针对本科生讲物理学,讲
得深入浅出,大受欢迎,就是因为杨先生可以从历史本源
来剖析物理定律公式。
只有招数,不明道理,碰到变化的情况,就束手无策
了。而在软件开发中,每个团队、每个项目都不是尽然相
同的。明白道理,才能知变通之道。
这本小书不是一本教你项目管理,软件工程或者编程
技巧的书籍,他是一本闪烁思考光芒的技术散文集,我衷
心祝愿这本书的读者,能把这本书当作一位朋友的思考,
…………………………………………………………Page 4……………………………………………………………
一位朋友的总结,来参照自身,这样就会有收获,有想法
了。
我也和爱民建议,这本书的很多主题还可以展开,无
论是批评,还是讨论,只要有兴趣的朋友,可以给爱民,
我或者《程序员》杂志社写信,我们诚恳邀请各位来共同
思考,共同把实践经验与大家分享,这样意义也就更大了。
期望大家的参与,谢谢。
蒋涛
2005.11月
jiangtao@csdn
注:关于书的序的讨论,参见附录之一。
…………………………………………………………Page 5……………………………………………………………
电子版发布前言
我终于决定发布这本书的电子版了。
完成这本书的时候,我已经在这个行业里做了十年
了。这十年来,我对自己的经历做过两次回顾。第一次是
关于技术的,这造就了那本《Delphi 源代码分析》,是讨
论开发的技术和方法细节的。第二次就催生了这本《大道
至简》,讨论的则是工程、管理中的思想。
我其实是很希望这本书能放在读者的书架案头,而不
是放在电脑的某一个目录中。因为它应当是一本可以阅读
和品味的书,而不是在电脑中备查的技术资料。
然而,我在决定担任这家公司的软件架构师的同时,
我就意识到,我没有足够的精力来运作这本书。——我的
意思是如果要把他做成纸质的书的话,我没有足够的精
力。
出版商是要寻求利润的。——于此,我一早就知道。
但我从来不知道:到底一本书簿一点或者厚一点,哪个会
让出版商更有利润。
我只想写一本“阐明软件工程的思想核心”的书。这
本书要很容易就读明白,还要很容易就想通,还要很容易
就知道:工程其实很简单,只是大家把它做复杂了。
…………………………………………………………Page 6……………………………………………………………
然而问题是:我把它写得太简单了,以至于只写了
110 页,就没有必要再写下去了。
我当然可以把一本书写得很复杂,或者很厚。这很容
易,就如做 Coder 一样:把代码写烂或者写乱都很容易,
要想写得简洁却远非易事。
代码写得太简洁,老板会认为你在偷懒;书写得太薄,
出版社就不愿意出。我看来是忘掉了侯捷先生说过的“买
书如买纸”,以书的厚薄来论价值的故事。
忘掉了就忘掉吧。好的一面是现在书变成了电子版,
大家终于可以读到它了。不好的呢?我想大概不要钱的东
西很难得到珍视吧:如果下载这本书只是因为收集,而不
是阅读,那会是让我感到比讨论“买书如买纸”这样的事
更为难过的。
好吧。希望你能象对待纸质书籍那样来阅读这本《大
道至简》。放心,我并不介意你把它打印出来放在床头。
小说推荐
- 软件工程思想
- 作者:林锐前 言 在60年代计算机发展初期,程序设计是少数聪明人干的事。他们的智力与技能超群,编写的程序既能控制弱智的计算机,又能让别人看不懂、不会用。那个时期编程就跟捏泥巴一样随心所欲,于是他们很过分地把程序的集合称为软件,以便自己开心或伤心时再把程序捏个面目全非。人们就在这种美滋滋的感觉下热情地
- 最新章:第53章
- Java编程思想第4版[中文版](PDF格式)
- -Page 1-Page 2《Thinking In Java》中文版作者:Bruce Eckel主页:http/BruceEckel.编译:Trans Bot主页:http/memberease~transbot致谢-献给那些直到现在仍在孜孜不倦创造下一代计算机语言的人们!指导您利用万维网的语言进
- 最新章:第295章
- C语言实例教程(PDF格式)
- -Page 1-前 言Visual C+是开发运行于Windows 95和Windows NT环境下的Win32应用程序的可视化编程工具中最重要的成员之一,它为软件开发人员提供了完整的编辑、编译和调试工具和建立于Win32 API(ApplicationProgramming Interface)基
- 最新章:第143章
- JMS简明教程(PDF格式)
- -Page 1-JMS1.1规范中文版卫建军2007‐11‐22-Page 2
- 最新章:第28章
- C语言游戏编程从入门到精通(PDF格式)
- -Page 1-Page 2-Page 3-Page 4-Page 5-Page 6-Page 7-Page 8-Page 9-Page 10-Page 11-Page 12-Page 13-Page 14
- 最新章:第4章
- asp基础实用教程(DOC格式)
- 目 录一、关于ASP二、ASP的新功能三、创建ASP页四、使用脚本语言五、使用变量和常量六、使用集合七、ASP内建对象八、向浏览器发送内容九、包含文件十、访问数据库十一、调试ASP脚本十二、维护ASP应用程序的安全一、关于ASP Active Server Pages(ASP)是服务器端脚本编写环境
- 最新章:第17章
- Linux实用培训教程(PDF)
- -Page 1-rrktqt的个人空间 Linux实用培训教程第一部分 作者:红联Linux实用培训教程第一部分-共三部分解的Linux知识,循序渐进的介绍Linux相关知识,从入门到提高,希望对所有学习Linux的朋友都有帮助 红联Linux论坛是致力于Linux技术讨论的站点,目前网站收录的文章
- 最新章:第42章
- SQL语言艺术(PDF格式)
- -Page 1-SQLSSQQLL语言艺术内容介绍本书分为12章,每一章包含许多原则或准则,并通过举例的方式对原则进行解释说明。这些例子大多来自于实际案例,对九种SQL经典查询场景以及其性能影响讨论,非常便于实践,为你数据库应用维护人员阅读。资深 SQL 专家 Stéphane Faroult倾力打
- 最新章:第27章
- php程序设计简明教程(DOC格式)
- -Page 1-PHP 程序设计简明教程PHP 讲义 第 1 页 共 90 页-Page 2-目录序 4第一章 PHP 简介 6
- 最新章:第31章