別讓架構太空人嚇到你 Don’t Let Architecture Astronauts Scare You

作者:周思博 (Joel Spolsky)
譯:Paul May 梅普華
Saturday, April 21, 2001
屬於 Joel on Software, https://www.joelonsoftware.com/2001/04/21/dont-let-architecture-astronauts-scare-you/

偉大的思想家想問題時會開始看出模式。他們看到人們要傳送文書處理檔案給別人,又看到人們要傳送試算表給別人,然後就會發現裡面有一個通用的模式:傳送檔案。這已經是一層的抽象。然後他們會再上一層:人們傳送檔案,不過網頁瀏覽器也會「傳送」網頁要求啊。另外如果你有想到,其實呼叫某個物件的方法也像是傳送訊息給該物件!這又是一樣的東西!這些全都是傳送的動作,所以我們聰明的思想家就發明了一種更新更廣義的新抽象概念:「訊息傳送(messaging)」,不過現在這件事變得愈來愈神秘,再也沒人真的懂他們在說些什麼。廢話。

Charles_River.jpg

當你一直往上把事情弄得太抽象,就會像上太空一樣沒有氧氣。有時候這些聰明的思想家就是停不下來,然後就創造出這些荒唐又無所不包的高層次宇宙景像,這些東西什麼都好,就是完全沒有實際的意義。

這種人我稱之為架構太空人。要他們寫程式或設計程式是難上更難,因為他們沒法子不想架構。叫太空人是因為他們活在氧氣層之上,我不知道這些人是怎麼呼吸的。他們通常在真正的大公司上班,只要這種公司才養得起大批不事生產,完全沒有貢獻的高學歷份子。

最近有個例子可以拿來說明。典型的架構太空人會針對「Napster 是個用於音樂下載的點對點服務」這件事,把架構以外的東西全部忽略掉,然後說因為是點對點所以很有趣,完全沒搞清楚重點在於可以輸入歌名後可以馬上聽到

他們就只會說點對點如此這般如何如何。忽然間就出現了點對點會議、點對點創投基金。甚至還出現對點對點的激烈反擊,看到一群白痴商業記者快樂地互相抄襲報導:「點對點已死!」

Harvard_Message_Board.jpg

架構太空人會說會說出類似這樣的話:「你能想像一個像 Napster 這樣的程式,你可以用它下載任何東西而不只是歌曲嗎?」然後他們會建立像 Groove 這種自認比 Napster 一般性的應用程式,不過似乎卻忘了那個微不足道,讓你輸入歌名然後聽歌的小功能,那個我們從一開始就要的功能。說到搞不清楚重點。如果 Napster 不是做成點對點形式,卻的確能讓你輸入歌名就能聽歌,恐怕還是會一樣流行。

另一個架構太空人都喜歡做的事,就是發明某種新架構然後聲稱它可以解決某件事。Java、XML、Soap、XmlRpc、Hailstorm、.NET、Jini...天啊,我都要睡著了。而這些還只是過去12個月的而已!

我絕對不是說這些架構有什麼問題。它們都是相當好的架構。讓我受不了的是圍繞在架構周圍那些驚人的超級宣傳。還記得微軟 .NET 的白皮書嗎?

新一代的 Windows 桌面平台 Windows.NET 支援生產力、創造力、管理、娛樂以及更多更多,是為了讓使用者掌控其數位生活而設計的。

這東西大概是九個月前的事。上個月我拿到微軟的 Hailstorm。那份白皮書寫著:

人們並沒有掌控周邊所圍繞的科技... HailStorm 讓生活中的科技相互結合,在你的掌控之下為你服務。

噢,了不起,所以現在你房間裡的高科技鹵素燈不會再隨便亂閃了。

微軟並不孤單。下面這一段是摘錄自 Sun Jini 白皮書

這三個事實(你是個新世代的系統管理員,嵌入式微電腦隱身於週遭,單機電腦無所不在)應該結合起來,以改善使用單機電腦的世界 - 藉著消除各種電腦間的界限,藉著讓電腦無所不在,藉著把用電腦工作的細節變得像把 DVD 放進家庭劇院系統一樣簡單。(譯註:請原諒我,因為這一段我原文也看不懂)

還有那段讓我根本不想想起來,由業界推手 George Gilder(譯註:美國科技趨勢專家)宣揚 Java 的話:

科技史上的一個十分重要的突破...

這是一個明確的情報,顯示架構太空人正在攻擊你:數不盡的誇大言辭;史詩般理想化的豪言壯語;誇大;完全缺乏真實感。可是大家就是吃這套!這些商業報導真是瘋了。

大家究竟為什麼會受無聊的架構所影響呢?這些架構常常只不過是一種用於 RPC 的新格式或是新的虛擬機器罷了。這些東西可能是不錯的架構,也的確能幫助開發者,不過它們並(我得強調)能代替彌賽亞騎白驢進耶路撒冷或是世界和平。不,微軟,電腦不會突然開始會讀心術然後自動做我們想做的事,只因為世界上每個人都有一個 Passport帳號。不,昇陽,我們並想讓公司業務資料的分析像「把 DVD 放進家庭劇院系統一樣簡單」。

Harvard_Science_Center.jpg

要知道搞架構的人會去解決那些他們能解的問題,而不是那些解了會有用處的問題。Soap + WSDL 或許是很熱門的新玩意,不過它並不會真的讓你做到那些以前用其他技術做不到的事(如果你真要做的話)。架構太空人鬼扯的這些分散式服務天堂過去都曾有人答應過,如果用過 DCOM 或 JavaBeans 或 OSF DCE 或 CORBA 的話就知道了。

我們現在可以用 XML 作為電話上用的格式,這的確是很不錯。值得歡呼一聲。不過那對我來說,就像知道超市用卡車由倉庫運貨來差不多有趣。打個哈欠,是芒果哦,很有趣。講些我以前做不到而現在可以的新鮮事吧,老太空人。否則就乖乖呆在太空,不要再浪費我的時間了。

這些網頁的內容為表達個人意見。
All contents Copyright © 1999-2006 by Joel Spolsky. All Rights Reserved.