偶像崇拜

来源:互联网 发布:淘宝服装批发市场 编辑:程序博客网 时间:2024/04/28 08:03

偶像崇拜(一)

  你的偶像是谁?在高中时代,我的偶像是抒情浪漫、高亢激昂的空中补给(Air Supply)以及静如处子、动如脱兔的凯莉·米洛(Kylie Minogue);现在我的偶像是David Flanagan、Jonathan Knudsen、Elliotte Rusty Harold、Bruce Eckel等人。你问我David Flanagan等人唱过什么歌,喔!你误会了,他们不唱歌,他们是Java技术作家。

  我认为,适当地崇拜优质的偶像,可以激励起自己“有为者亦若是”的精神,使得自己加倍努力地向偶像看齐,对于自己能力的提升有莫大的助益。崇拜的对象在于精,不在于多,你得好好地挑选出“优质的偶像”。

  在学习C/C++程序设计的时代,我的偶像是Herbert Schildt和Bruce Eckel。在我学习Windows程序设计的时代,我的偶像是Jeffrey Richter和Tom Swan。而现在我全部的精力都放在Java上面,我的偶像变成了David Flanagan、Jonathan Knudsen、Bruce Eckel、Elliotte Rusty Harold。为什么是他们四个?因为他们四个都已经出过数本Java书籍,而且几乎每一本的内容都独一无二,都是经典。

  David Flanagan写过的书包括Java、J2EE、JFC、JavaScript,每一本都很精采,其中的《Java in Nutshell》一书更是人手一本的Java经典,此书年年获得JDJ的Java好书读者票选榜首。要写出《Java in Nutshell》这样深入浅出、叫好叫座、可读可查的书,我想David Flanagan肯定是花了不少心力。

  Jonathan写过几本主题特殊的书籍,包括《Java密码学》、《Java 2D图学技术》、《乐高可编程积木》,每一本都得到非常好的评价。基本上,Java 2D并不如EJB、Servlet、Swing等主题来的热门,O’Reilly的Java 2D一书能如此畅销,甚至跃居 JDJ的Java好书票选排行第四,作者Jonathan功不可没。目前,Jonathan正全力在O’Reilly写书,所以我们可以期待不久之后他一定又会推出新书。只是,Jonathan是如此地博学多闻,我们无法预期他的下一本书会是什么主题。

  Bruce Eckel是一名专业的顾问、讲师、和作家,他的研究范围以面向对象的应用为核心,涵盖C++、Java、Python、CORBA、Design Patterns。Bruce Eckel 的经典名作包括《Thinking in Java》和《Thinking in C++》。早在他的《Thinking in C++》第一版推出时(大概五年前),我就注意到他了。他的书中遍布深入而独到的见解,让我获益良多。

  Bruce Eckel这些年来大发慈悲,把他几本“最新版”的书的电子文件放到网站上供人下载,根本不管这样会影响到印刷版的销售量,少赚许多钱。我的周遭有许多人都是透过下载回来的《Thinking in Java》来学习Java的。《Thinking in Java》一书还得到今年Jolt Award的奖项。

  Elliotte Rusty Harold是我最喜欢的作者,我喜欢他的程度更甚于前三位作者。Elliotte的《Java Network Programming》、《Java I/O》、《XML Bible》等书都是该领域 #1 书。Elliotte还维护一个Cafe Au Lait网站,天天更新内容,提供最新的 Java/XML动态。Elliotte 的书好到连 Bruce Eckel 都称赞:“在读过Elliotte的《Java Network Programming》一书之后,我才真正了解到网络程序设计是怎么回事。”

  当然我的Java偶像不只这四位,还有许多。没有这些作者,我的Java程度就不能如此快速地日渐精进。如同Bette Midler的??你光只是崇拜技术偶像,而没有把这股力量导向正面,没有努力地读完并彻底了解偶像所写的书,那就可惜了。我有一个同学,他的嗜好是收集了技术偶像的签名书并和偶像合照,只差见到技术偶像不会尖叫,感谢老天!在被他收集的名家当中,面向对象大师Grady Booch更是赫然在列,他甚至将Grady Booch和他的合照放在皮夹中,可以随时拿出来瞻仰一番,但是他却没详读过Grady Booch的书,甚至不知道Booch Notation中的实线云朵和虚线云朵之间的差异,这样的技术偶像崇拜就太肤浅了。

  你没有技术偶像吗?我不介意你和我崇拜相同的人。

偶像崇拜(二)

  试探性地摘下墨镜和帽子,我冒着极大的风险绕了天珑书局一圈,大家浑然未察觉一个名人就在附近。这就怪了,不是有许多读者写email给我,说我是他们的偶像吗?这时候竟然没有半个人出来簇拥我,枉费我特别穿了一件容易被扯烂的衣服,真是叫人“失望”!不!我是说“庆幸”。

  不过读者会把我当成偶像,实在是令人匪夷所思。我除了在“Sleepless in Java”专栏上写了一些文章,又翻译过几本销售量屡创新低的书之外,实在没什么了不起的事迹。读者email给我的问题,有不少我是答不出来的,这样的人还配当偶像?一定是因为我在偶像崇拜一文中所介绍的偶像太少了,所以此次的文章又多介绍四个偶像,好让大家有移情别恋的对象。

  Martin Fowler是我近期的新欢,是一位不可多得的大师级信息作家。他不但技术能力强,写出来的书更是相当好读。许多人称经典的书往往过于艰涩难读,所以当我看到 Martin Fowler能够把高深的知识讲得深入浅出,清晰有条理,读起来毫无压力时,我马上移情别恋,把Martin Fowler 移到我的偶像排行榜第一名。

  Martin Fowler所写的《Refactoring》一书,可以说是继四人帮(Gang of Four)的《Design Patterns》之后,又一本影响力深远的书,Martin Fowler也因为此书变成 Refactoring的掌门人。Refactoring是XP(eXtreme Programming)的一个重要的因素。Martin Fowler所写的这本《Refactoring》成功地将常用的Refactoring分类、命名、举例说明。热门的主题往往会引来一阵跟风(Design Pattern 即为一例),但《Refacotring》一书问世至今,尚未有人写书赶此一热潮,我想可能是因为Martin Fowler的这本书实在太成功的缘故。建议你现在就去抢购,这本书很棒,“如果这本书不好的话,你们就来捶我好了”(语出多芬洗发精的电视广告。)

  Martin Fowler另外两本很有名的作品是《UML Distilled》和《Analysis Patterns》。《UML Distilled》以去芜存菁的方式叙述UML,许多人都是透过此书才认识UML 的。而《Analysis Patterns》一书可以说是四人帮《Design Patterns》的OOA版,也是目前唯一一本Analysis Pattern领域的书。虽然《Analysis Patterns》未若《Design Patterns》掀起巨大的旋风,但实在不是Martin Fowler书写得不好,而是业界一向都比较重OOD轻OOA的缘故。

  第二个偶像是Bill Day。在今年台北的Sun TechDays研讨会上,不经意地遇到Bill Day,我马上进入小鹿乱撞、袋鼠乱跳、又大象乱蹦的高度亢奋状态,逮着机会就不要脸地缠着他猛聊。还好我一直都在加强英文,和他沟通起来没有障碍。

  Bill Day大学主修的是航空工程,毕业后却转换跑道到信息产业,而且还非常成功。Bill Day几年前的领域是在 JMF(Java Media Framework),JMF的规格书中有许多他的贡献,我记得当时他可以说是JMF领域中的第一把交椅。目前,Bill Day任职于Sun,负责带领一个J2ME的team,他同时还在大学开课教Java 3D。Bill Day原本拟在O’Reilly 出版一本JMF的书,但书写了半本之后,就没下文了,毕竟优秀的人总是很忙的。但我可管不了这么多,我还怂恿他写一本Java 3D的书。
我觉得像Bill Day这样可以从航空跨到信息,从多媒体通讯(JMF)跨到无线通讯和嵌入式系统(J2ME),再跨到计算器图学(Java 3D),而且都成果丰硕的软件工程师,实在很少。

  第三个偶像是Alistair Cockburn,他所写的《Writing Effective Use Cases》一书刚刚得到今年的 Jolt Award(软件界很重要的奖)Books and Computer-Based Training 类的 Productivity Award。《Writing Effective Use Cases》一书针对写Use Case时的know-how有相当不凡的见解,这本书得奖绝对是实至名归。他在书中所提出的方法让我们在写 Use Case的时候有所依循,而且我觉得他独创的符号实在很酷,希望Use Case的写作软件也能支持这些有趣的符号。

  Cockburn还有另一本书名为《Surviving Object-Oriented Projects》,我尚未阅读,手边也还没有此书。我把这本书列入我Future Reading List的书目中。糟糕!这个Future Reading List的书越来越多了。

  第四号偶像是Scott Oaks。他在O’Reilly 写过数本Java 书,包括《Java Threads》、《Java Security》、《Jini in a Nutshell》。我发现Scott Oaks和Jonathan Knudsen有点类似,所写的每一本书主题差异都颇大。Scott Oaks所写出来的每一本书,内容循序渐进,很好阅读,而且深度也很够。以Java Threads一书来说,内容采取引导式教学的方式,这是自学类书籍内容安排最好的方式,也是最不容易写的方式。Scott Oaks的《Java Security, 2nd Ed》和《Jini in a Nutshell》也都是读者评价很好的书。

  从我所崇拜的偶像名单中,可以看出我近期的喜好。上次列出的四位偶像都是Java书籍作者,此次却是一位Java书籍作者、一个Java程序员、两个软件工程类书籍作者。我最近对于软件工程有莫名的狂热。

偶像崇拜(三)

  这是“偶像崇拜”系列的第三篇,当初怎么也没想到“偶像崇拜”会从一篇文章变成一系列文章。其实我的想法是:独乐乐不若众乐乐,介绍大家多多认识一些优秀的信息界贤达,也算是功德一桩。不过我要强调,我鼓励偶像崇拜,但不鼓励盲目崇拜,失去理性而不分青红皂白的偶像崇拜,很可能会招来灾难(你瞧瞧我们台湾的政坛,不正是如此)。

  这个世界盲目崇拜偶像的人太多了,比方说:几周前,我在电视上看到日本举办一个活动,不是签名会,不是握手会,而是令人匪夷所思的“掴脸会”:一堆日本人排队让摔角明星猪木狠狠地掴耳光(真的打得很大力),被掴后还笑脸盈盈地频频称谢。崇拜偶像可以崇拜到这种地步,在我看来是很不可思议的。我就不一样了,这么说好了,虽然我很崇拜人称Java之父的James Gosling,但如果James Gosling 掴我耳光的话,翻脸比翻书还快的我,肯定马上回敬他一脸奶油派,并且从此变节改用C#。

  同以前一样,此次的文章中要介绍的偶像也是四位,James Gosling 正是其中一位。James Gosling是名校卡内基梅隆大学(Carnegie-Mellon University)的信息科学博士,目前是Sun Microsystems的副总裁。他设计过许多系统,包括了卫星数据采集系统、多CPU版的Unix、编译器、电子邮件系统、窗口管理系统。他还自己写了一套“所见即所得”(WYSIWYG)的Unix平台文字编辑器“Gosling Emacs”。他到Sun工作之后,早期是NeWS窗口系统的首席工程师,后来是Java语言、编译器、和虚拟机器的原创者,所以常被称为“Java 之父”。目前他正在设计Java实时系统(real-time system),也对软件开发工具有浓厚的兴趣。

  James Gosling是一个很幽默的人,常常会亲自搞笑,在这个毫无情趣的信息圈子可谓相当难得。参加过今年Taiwan JavaTwo的人应该都看过他的搞笑影片,他甚至也在1998年的JavaOne上演一段亲手拿奶油派砸比尔·盖兹的戏码,当然这个比尔·盖兹并非本人,只是一个戴上比尔·盖兹橡胶头套的演员,真是反应时事民心的大胆演出!(注:当时的不久前才发生比尔·盖兹在比利时被人砸奶油派的事件。)

  第二位偶像是Bertrand Meyer,他是ISE(Interactive Software Engineering)公司的CTO,他所设计的Eiffel相当宏观,把语言、软件工程方法、和工具整合在一起。Bertrand Meyer是TOOLS研讨会的主席,他也是数本程序语言和软件工程类书籍的作者和编辑。早期他是一家大公司的技术和管理阶层,也曾是加州大学的教员。他参与过第一个版本 Z 语言规格的设计。

  Bertrand Meyer所著的《Object Oriented Software Construction,2nd Ed》一书得到1997年的JOLT信息图书类“卓越产品”大奖。该书把面向对象的相关技术,里里外外地剖析得很清楚,难怪厚成那样。我认为面向对象的好书不用看太多本,只要看这本就足够了。Bertrand Meyer所创的 DBC(Design by Contract)技术已经开始影响到其它语言的设计,Java未来应该也会引进这样的观念。

  第三位偶像是Guido van Rossum,他是Python语言的原创者。原是荷兰人,后来移居美国。他是荷兰阿姆斯特丹大学的硕士,在荷兰的时候,参与过ABC语言的设计实做,也参与过一套分布式操作系统的设计(Amoeba)。后来设计了Python语言。Python语言创立至今已经十一年了,也渐渐地变成一个相当受欢迎的语言,但他仍持续不断地在研究改进Python。1999年五月时,他与Donald Becker同时得到 Dr. Dobb’s Journal的程序设计卓越奖(1999 Excellence in Programming Award)。

  去年五月以前,他在CNRI(the Corporation for National Research Initiatives)工作,带领一个研究团队研究 Python在无线通讯上的应用,兼任Python Consortium(一个专司倡导Python的组织)的领导人。最近一年多,他开始为Digital Creations(Zope 的公司)工作,担任PythonLabs 的领导人。目前他正在进行一个项目,叫做CP4E(Computer Programming For Everybody),计划把Python这套易学好用的语言推广给每个人。CP4E也正在设计一个好用的工具来帮助程序设计的初学者与高手使用 Python。

  第四位偶像是Carl Sassenrath,他是REBOL科技公司的创始者,也是该公司的CTO,致力于简化程序设计和软件操作的复杂度。他认为MS-Windows、C++、TCP/IP、HTML等现在流行的技术都是junk(垃圾),这些垃圾的设计者总是把事情搞得太复杂。他的理念是:软件应该使用起来很直观,简单的事就该简单地做到,但仍要保有做到复杂的事的能力。我相当喜爱Carl Sassenrath设计出来的 REBOL,它的确是简单、占空间很小、跨平台、又有许多创意(比方说程序方言)。值得在程序语言、编译器设计、以及操作系统的教科书记上一笔。

  在很早的时候,Carl Sassenrath就设计并实做出深受好评的AmigaOS(Motorola CPU上的多任务操作系统)。他并领先开发多套多媒体软件产品,包括了STB(Set-Top Box,视讯控制盒)、CDTV、程序语言、以及数字剪辑编辑工具……等。他任职过的公司包括Apple、Commodore Amiga、以及Hewlett-Packard。Carl有加州大学的电子工程和信息科学学士学位。

  这四个偶像刚好都是属于不同的族裔,而且都是重要程序语言的设计者,贡献非常卓越。相较于这四位理论基础与实务经验都如此杰出的偶像,再反观我们自己,国内的偶像理论懂得不多,也没做过什么了不起的项目,莫名其妙就被奉为偶像(我说的是我自己,其它人请勿对号入座),真是怪事一桩。
现在出版业也有许多偶像,他们喜欢在新书发表时办签名会。

  O’Reilly可能是从这里得到灵感,他们告诉我,以后我如果在O’Reilly出版自己写的书,他们可以帮我在诚品书局举办新书签名会。对于他们这样的想法,我期期以为不可。都什么时代了,还在办 LKK 的签名会,实在是很落伍,我希望O’Reilly能顺应时代的潮流,让我把“签名会”改成“掴唱会”(“掴脸会”加上“签唱会”),移师西门町举行,相信自动来讨打的善男信女一定不少,我也一定会展现出“能掴善唱”的一面,边掴边唱,表现得令大家刮目相看的。

0 0