网站的产品 百G教程中心 产品定价 疯狂赠品 订购方法
淘宝网店 1 淘宝网店 2 发货查询 现货代理 联系方式
网站的首页 各网站论坛 单片机入门 单片机资料 大型的软件 教程和文摘 电子学入门 PROTEL入门
电动机的书 单片机制作 单片机软件 常用的资料 电子小制作 可编程逻辑 电工免费书 PROTEL的书
传感器的书 模数免费书 综合宝典书 电源免费书 经典免费书 单片机图书 制作5000例 IC资料中心

返回首页>>

Gerald M. Weinberg小传 

Gerald M. Weinberg小传 
  杰拉尔德·温伯格(Gerald M. Weinberg)是软件领域最著名的专家之一,美国计算机名人堂代表人物。温伯格在软件与系统领域已经工作了45年。1997年,温伯格因其在软件领域的杰出贡献,被美国计算机博物馆的计算机名人堂选为首批5位成员之一。这个名人堂至今只有20名成员。为中国读者所熟悉的比尔·盖茨和迈克尔·戴尔等也是在他之后方才获得这一计算机界至高无上的殊荣。 

  温伯格从20世纪70年代开始,总共撰写了30多本书籍和数以百计的论文,其《程序开发心理学》、《成为技术领导者》、《系统化思维导论》、《你的灯亮着吗》等著作,影响了整整一代人。在西方国家乃至全球,温伯格拥有大量忠实的读者群,这些“追星族”阅读了温伯格的每本重要著作,他们甚至建设有专门的组织和网站,讨论和交流大师的重要思想。 

   

  留给斯芬克斯的谜语 

  一个谜语也是一个隐喻。“早晨四条腿,中午两条腿,傍晚三条腿的动物”,不仅是“人”这个词的简单替换,它还暗示了人身上某种隐含的、难以测度的兽性。谁读到这个谜语,谁也就接收到一幅模糊而可怖的人类画像。 

  谈到软件开发,一个令人尴尬的事实是,它日益困扰于一个倒转的斯芬克斯之谜。不同的大师在不同的时间,试图用纷繁而奇异的比喻来捕获软件开发中发生的实情:在早晨,人们说它是工程,在中午,它变成了一种理论构造,在傍晚,它又更像是一种园艺……在嘈杂的背景声中,我们还听到“它是游戏”、“不,它是建模”、“你们都错了,它是工艺”等等争吵。盲人摸象式的分歧把难题留给了著书立说的斯芬克斯们:即使是对他们来说,软件开发的本质都过于捉摸不定;他们费尽心机,只想找到一个更贴切的隐喻为它画像。 

  可这不只是文字游戏。隐喻是我们借以理解现实、想象自身的方式。受到扭曲隐喻的辐射,软件工业也染上了奇特的疾病。杰拉尔德·温伯格正是软件病的第一批诊断者之一。从上世纪60年代开始,他就在一系列论著中指认了软件开发中的种种危险症状。开发者个人的过度负载、为追逐新技术不得喘息,软件企业的官僚作风、对企业最重要财富视而不见,整个行业的急功近利、为了现成的答案而发明问题,这些我们今天仍在忍受的切肤之痛,早在30年前就已经被温伯格记录在案,并详尽剖析过了。 

  归根结底,这些并不是枝节问题,甚至不一定能在软件工业内部解决。指望通过某种范式更迭—最新一轮热点似乎是从面向对象(OO)到面向服务(SOA)的转移—终结上述症状,就好比幻想新衣服能治好牙疼一样不现实。回答软件开发的谜语,也许需要更强健的大脑,更敏锐的视觉,甚至还需要远逾常人的肺活量。也就是在这些方面,温伯格的论著具有珍贵的意义。 

   
  文艺复兴式的肺活量 

  歌德说过,只讲母语的人,就连母语也不会说—他缺乏区分表达与对象的分寸感,缺乏对自身局限的领悟和超脱。这又引出了一个欧洲笑话:说三种语言叫“三语人才”;说两种的人则是“双语人才”;如果你只说一种,那么好吧,你是美国人。在长袖善舞的欧洲人眼里,“美国人”往往是心灵偏狭的同义语。 

  自然语言是这样,计算机语言也如此。一次,一个计算机语言教师给温伯格写信,抱怨今不如昔:“很多学生都已经受到一种以上的计算机语言的污染,在上COBOL课时,他们甚至公然用以前学过的Pascal、ALGOL或APL知识和我抬杠——最要命的是,后两种语言我自己都不会。” 

  温伯格的回答却是,学习编程本该是一个多语言的过程。他推荐学生同时用两种语言解决同一问题,这样不仅能使学生更好地理解语言各自的特性和优势,还能够令他们拓宽视野,不再拘泥于特定的技术、特定的开发领域。对那位抱怨者个人,温伯格的建议是:学学ALGOL和APL吧,它们都挺有趣! 

  画地为牢的“语言教师”不知道,温伯格在同事中有“编程语言大王”的外号。从1956年作为IBM的工程师第一次编写程序起,温伯格接触过几十种编程语言,对于其中的多种都是顶尖专家。他的早期专著,主题大都是语言和编程要领,而他对编程语言设计原则的讨论,也直接或间接地影响了我们正在使用的多种语言。 

  也许正是与多种语言打交道的过程,促成了温伯格不受拘束的视野和研究方法。他是身在美国的“欧洲人”。他的著作中永远不会缺乏清醒的自我意识和迅捷的视角转换。只有学会在不同语言、不同领域之间往复转换,我们才能用别人的眼光看自己,才能够尽可能地超脱于狭隘和局限,把握软件开发活动的全貌。 

  这是一种文艺复兴式的肺活量,它总是迫不及待地指向更宽广的地平线,总要打破领域之间、思想方式之间的人为阻隔。温伯格喜欢讲一个故事:奥斯卡·王尔德,有名的花花公子,曾经宣称自己不做准备,就能够对任何主题谈上半个小时。一个人向他挑战说,那就谈30分钟女王吧。王尔德却没从命:“阁下,女王可不是一个主题!” 

  抛开俏皮话的成份(英语里“主题”和“臣民”是同一个词儿),这个故事揭示了温伯格自己的王国。在众多纯技术领域之外,他还是各种“非主题之主题”的专家。除了没有公开谈过女王,他涉猎的范围中包括解决问题的方法、软件项目中的社会学、程序员揽私活儿的趋向、乃至程序员的身体健康等方面。类似的主题是普通“计算机科学家”的弃儿,但在温伯格那里,它们和操作系统原理、程序调试原则一样是软件开发世界的头等公民。像文艺复兴时期那些传奇性的大师一样,他的求知欲抵抗着世俗的分类。他的研究总是指向完整、健全的人类心灵,哪个主题经过他神奇气息的浸润,哪里就有了生气、有了趣味。 

  纳博科夫说过,如果你的交际面只限于和读书俱乐部里的老太太谈话,那你也就没资格侈谈“人性”或是“日常生活”。在这个意义上,阅人无数的温伯格可能是所有作者中最适合讨论程序开发心理学的一位。大量引用实际案例构成了他独有的写作风格:一点儿抽象的讨论,然后是故事,再深入分析,最后得出某种教训或原则。读一章温伯格,就是和他一起去解救那些濒危的项目、受困的学员。而他的每一章都是寥寥数页,案例又都像是发生在读者身边的日常情形。很多时候,读者会沉浸在解决问题的意趣中,忘记了最后那几滴汤药(“原则1:不要……”)的苦涩。 

   
  作为人类专业活动的软件开发 

  在描写人类集体活动的作品中,“分离”似乎是一个永恒的主题。巴别塔,西方想象中最重要的一次集体工程活动,就因为人类语言(以及随之而来的心智)的分离而沦为一次原罪式的失败。 

  软件工业是我们这个世纪的巴别塔:在此前的任何年代,都很难想象人们能以如此大规模、有组织的形式集体完成某种精神产品的生产。也许正是因此才出现了本文开头讨论的尴尬:软件开发对于漫长的人类文明还是一个太新奇、太不可测度的来客,短短的几十年历史远没有教会人们如何与它共处。在这个行业引入之后,整个工业的地图、企业管理学的圣经、乃至个人事业的指南都要求重新勘定、改写。而经过研究者们的多年殚精竭虑,我们总算拥有了一系列严格的模型、过程和方法论。人们相信,通过这些工作,软件开发这头怪兽就能乖乖地回到笼中。 

  温伯格多次讲过这么一个故事:Ralph是开发团队里的一个技术骨干,很不幸,他身上总有股怪味。开始旁人还能尽量忍耐,可是到了后来,那离奇的气味实在让人受不了。团队的权宜之计是,尽量把一些独立的模块留给Ralph,这样他和别人的接触就能达到“最小化”。可是长此以往,Ralph本人会觉得不对头,他会感到被同事们孤立—而最糟糕的是,由于嗅觉的特性,他自己对这个缺陷却无法察觉! 

  我得承认,这个例子也有种离奇的怪味儿。很难论证,究竟用哪一种“模型”、哪一种“过程”才能容纳这样的情形;可这又绝对是软件开发中的“日常实情”—事实上,我自己就曾经坐在这么一位Ralph旁边! 

  温伯格着力论述了软件开发中技术与人性之间的张力,指认了软件技术本身在开发者个人心理和软件开发组织上留下的巨大烙印。就像评测CPU的处理能力一样,我们也倾向于用量化的标准(比如IQ测验分数、代码行数)衡量开发者的能力和绩效,倾向用规范和文档冻结团队中的协调和交流。 

  但是最终,温伯格更关注的并非具体意义上的方法和诀窍。这不是任何“励志读物”,其中也没有“头脑风暴”的痕迹(温伯格委婉地表露过他对“戴尔·卡耐基”一类的廉价哲人的轻蔑)。他带给我们的,首先是一束来自资深专业开发者的思考。它的广度、它对完整心灵的偏爱、它对技术与人性的关注、它在思维范式方面的探索都共同指向了软件开发的专业精神。与非专业人员相比,专业开发者并非首先完成同样的技术工作,然后再刷上一层珍贵而不可见的“专业精神”清漆,“专业”也不特指任何技术细节。它就体现在人们的操作次序、工作风格、思想方式里,体现在广博与整合、专注与超脱的微妙平衡中。从这个角度说,“专业”与“职业”、“报酬”无关,它是对开发活动本身的热爱和虔诚—没有这种专业精神,人们仍旧能开发出软件(就像此时正在世界各地发生的那样),但那里不会再有温伯格式的激情和趣味,也就不会再有软件的灵魂。

 
 

点击看每天下午高峰流量>>本站所有资料的WINRAR解压密码一律为:www.pp51.com

时刻都在为广大网友提供大量免费资料

 

电子之城网址:www.pp51.com 此为电信网通双线主机,南北互通。电信宽带用户,请务必使用迅雷下载,以确保下载成功。

 

电子邮件:pp51com@163.com(订购产品、问题咨询、售后服务邮箱)  

 

点击此处查看联系电话等,以及订购产品的方法和更多的联系方式>>>>>

 

站长QQ:110942199 (平时一般处于隐身状态,有事请留言即可)  业务QQ:928291384

 

注意事项:不要用QQ的电子邮箱给我们发邮件,我们不使用QQ的电子邮箱接受和发送电子邮件。