# 十四、不要被太空架构师所吓倒 伟大的思想家想问题时会开始看出模式。他们看到人们要传送字处理档案给别人,又看到人 们要传送电子表格给别人,然后就会发现里面有一个通用的模式:传送档案。这己经是一层 的抽象。然后他们会再上一层:人们传送档案,不过网页浏览器也会「传送」网页要求啊。 另外如果你有想到,其实呼叫某个对象的方法也像是传送讯息给该对象!这又是一样的东西! 这些全都是传送的动作,所以我们聪明的思想家就发明了一种更新更广义的新抽象概念:「讯 息传送(messaging)」,不过现在这件事变得愈来愈神秘,再也没人真的懂他们在说些什么。 废话。 当你一直往上把事情弄得太抽象,就会像上太空一样没有氧气。有时候这些聪明的思想家就 是停不下来,然后就创造出这些荒唐又无所不包的高层次宇宙景像,这些东西什么都好,就 是完全没有实际的意义。 这种人我称之为架构航天员。要他们写程序或设计程序是难上更难,因为他们没法子不想架 构。叫航天员是因为他们活在氧气层之上,我不知道这些人是怎么呼吸的。他们通常在真正 的大公司上班,只要这种公司才养得起大批不事生产,完全没有贡献的高学历份子。 最近有个例子可以拿来说明。典型的架构航天员会针对「Napste「是个用于音乐下载的点对 点服务」这件事,把架构以外的东西全部忽略掉,然后说因为是点对点所以很有趣,完全没 搞清楚重点在于可以输入歌名后可以马上听到。 他们就只会说点对点如此这般如何如何。忽然间就出现了点对点会议、点对点创投基金。甚 至还出现对点对点的激烈反击,看到一群白痴商业记者快乐地互相抄袭报导:「点对点己死!」 架构航天员会说会说出类似这样的话:「你能想象一个像Napste「这样的程序,你可以用它 下载任何东西而不只是歌曲吗?」然后他们会建立像Groove这种自认比Napste「更一般性的 应用程序,不过似乎却忘了那个微不足道,让你输入歌名然后听歌的小功能,那个我们从一 开始就要的功能。说到搞不清楚重点。如果Napster不是做成点对点形式,却的确能让你输 入歌名就能听歌,恐怕还是会一样流行。 另一个架构航天员都喜欢做的事,就是发明某种新架构然后声称它可以解决某件事。Java、 XML、Soap、XmlRpc、Hailstorm、.NET、Jini…天啊,我都要睡着了。而这些还只是过去 12个月的而己! 我绝对不是说这些架构有什么问题。它们都是相当好的架构。让我受不了的是围绕在架构周 围那些惊人的超级宣传。还记得微软.NET的白皮书吗? 新一代的Windows桌面平台Windows.NET支持生产力、创造力、管理、娱乐以及更多更多,是 为了让用户掌控其数字生活而设计的。 这东西大概是九个月前的事。上个月我拿到微软的Hailstorm。那份白皮书写着: 人们并没有掌控周边所围绕的科技…HailStorm让生活中的科技相互结合,在你的掌控之下 为你服务。 噢,了不起,所以现在你房间里的高科技卤素灯不会再随便乱闪了。 微软并不孤单。下面这一段是摘录自Sun Jini白皮书: 这三个事实(你是个新世代的系统管理员,嵌入式微电脑隐身于周遭,单机计算机无所不在) 应该结合起来,以改善使用单机计算机的世界-借着消除各种计算机间的界限,借着让计 算机无所不在,借着把用计算机工作的细节变得像把DVD放进家庭剧院系统一样简单。(译注: 请原谅我,因为这一段我原文也看不懂) 还有那段让我根本不想想起来,由业界推手George Gilde「(译注:美国科技趋势专家)宣扬 Java的话: 科技史上的一个十分重要的突破… 这是一个明确的情报,显示架构航天员正在攻击你:数不尽的夸大言辞;史诗般理想化的豪 言壮语;夸大;完全缺乏真实感。可是大家就是吃这套!这些商业报导真是疯了。 大家究竟为什么会受无聊的架构所影响呢?这些架构常常只不过是一种用于RPC的新格式或 是新的虚拟机罢了。这些东西可能是不错的架构,也的确能帮助开发者,不过它们并不(我 得强调不)能代替弥赛亚骑白驴进耶路撒冷或是世界和平。不,微软,计算机不会突然开始 会读心术然后自动做我们想做的事,只因为世界上每个人都有一个Passport账号。不,升阳, 我们并不想让公司业务资料的分析像「把DVD放进家庭剧院系统一样简单」。 要知道搞架构的人会去解决那些他们能解的问题,而不是那些解了会有用处的问题。Soap + WSDL或许是很热门的新玩意,不过它并不会真的让你做到那些以前用其他技术做不到的事 (如果你真要做的话)。架构航天员鬼扯的这些分布式服务天堂过去都曾有人答应过,如果 用过DCOM或JavaBeans或OSF DCE或CORBA的话就知道了。 我们现在可以用XML作为电话上用的格式,这的确是很不错。值得欢呼一声。不过那对我来 说,就像知道超市用卡车由仓库运货来差不多有趣。打个哈欠,是芒果哦,很有趣。讲些我 以前做不到而现在可以的新鲜事吧,老航天员。否则就乖乖呆在太空,不要再浪费我的时间 了。