Friday, February 24, 2006

地球是平的

公司裡一位資深程式員最近自栩為系統架構師,接掌兵符,對於公司資訊系統進行所謂的總體檢,希望能帶領公司走向服務導向架構(SOA)。這位大哥推動SOA第一件事,是要建立統一的資料架構。他拿個了一個試算表把所有的資料庫欄位都列出來一個一個對,然後試著取最大集合,弄出一個超大表,可以裝下所以人需要的內容。

比如說,小狗。系統A只需要小狗名字跟主人名字。系統B需要該種小狗物種分布區域,易發生之傳染病等等。你説這兩個東西能湊成一張大表嗎?

再者,統一模型跟SOA有什麼關係?

這年頭的程式員工作遇到瓶頸大概都是走這條路:去Google抓兩篇SOA的圖片看一看,然後就可以自栩為系統架構師。開會時只需不停的説Pattern即可。需要說服上級時,則不停提到SOA。一但喊出SOA,哇,那簡直就是號令天下無所不從。

第一,這位大哥在推的是資料庫合併,不是SOA。
第二,這位大哥想像的SOA,其實只是遠端的DAO,remote Data Access Object。

回去打聽了一下,才知道這個大哥是做mid range系統出身的。在mid range裡面,不是buffer就是file/member。很自然的他的一切想法從資料出發。想法並不是錯,只是不要老什麼東西都說成SOA,那會讓我很高血壓。

SOA是一個企業策略,不是一個程式語言,程式庫,產品或平台。很難跟程式員解釋為什麼。

Wednesday, February 22, 2006

從藝伎回憶錄往外看

老實說,一本美國人杜撰的日本故事能夠有人讀就已經是奇蹟了,何況是找中國人拍成電影。

藝伎回憶錄在美國上映之後,可能是我認識的朋友們太沒有藝術氣質吧,個人身邊沒有一位朋友認為好看。一個女性要吸引男性,不得搔首弄姿,更不可以說出來,要間接拐彎抹角把敵方給鬥垮還要假裝純真,放火燒房子後還要一臉驚喜的迎接心上人,這真是要看醫生了。

該片在中國當然是一陣躂伐。聽說在日本也引起許多雜音,甚至傳出日本籍顧問要控告製作單位亂拍。

在台灣,我認識的朋友們則是佳評如潮。

電影本身是無辜的。它不會因為放映地點的不同而改變原創的企圖。然而從觀眾的反應來看,我們卻可以發現台灣觀眾對外來文化的獨特見解。相較於所謂大國強國,其實台灣最美的地方就在於它失去了自己的形狀。因為沒有形狀,台灣可以接受任何詭異的文化融合產物。從這裡我感覺到台灣海洋文化的包容性,也看到下一代的希望。也許,台灣真的有那大和解的潛力。

Sunday, February 19, 2006

謝謝孫運璿院長

今天花了一個小時看了孫運璿傳。
http://www.hichannel.hinet.net/media/75/15188.htm
台灣什麼時候才能再看到工程師擔任領袖人物呢? 或許在民主發展以後再也不可能出現了。
謝謝孫先生。若不是您當時的堅持,台灣不一定會有今日的資訊與半導體產業。
永遠的領導典範─孫運璿

Thursday, February 16, 2006

Google又打了我一耳光

Gmail信箱旁邊最近出現了一個框。框上面寫著我可以點這裡在瀏覽器裡面跟其他gmail的朋友即時聊天。不用安裝通訊軟體,也不用外掛或內嵌程式。

用dhtml做即時聊天? 「不要鬧了。這技術上有根本的困難嘛。」想不到一試才發現,Google真的又作到了。沒有使用新的虛擬機器,沒有使用新的程式語言,用的就是那一套大家都懂的東西,做出大家都作不到的事情。

Saturday, February 11, 2006

小強怕拖鞋 程式員怕xml

最近這個星期發現一個怪現象:XML真可怕。

前幾天一場簡報,向資深的資訊部門大頭們報告我們設計的核心系統。這些人都是有很久經驗的Java開發者,也都是帶領程式團隊的人。核心系統是用平凡物件(POJO)為底,配合適當的design pattern,可選擇使用ejb或是web service做為傳輸層。因為採用低耦合設計,所有實作都是在執行期才載入,使用xml做為設定。

講到ejb,design pattern,大家點頭如搗蒜。
一說到執行期(runtime),還有xml,忽然現場大亂。

第一網站部門的組長率先發難。『執行期連結最爛。沒有靠編譯器檢查,很危險。你(指我)很沒概念。』雖然做這行也很久了,但新公司我加入才不到一年,有點被這樣忽然的狀況唬住。『沒錯,黃組長說得對。』第二網站部門的組長立刻呼應。『還有,用xml設置軟體根本就是一場惡夢。當年我們系統開發的時候,幾十個人一起搶web.xml,簡直是亂成一團。你(當然還是我)真是搞什麼。』

總架構師是個好好先生,出來當合事佬,對著我說,『對對對,這真不是個好方法。』

會議結束,回去的路上我在想,可能我之前在黑鴉鴉幾千人的大恐龍資訊部門作久了,對於軟體寫好要做單元測試,整合測試,系統測試,使用者接受測試,作業準備測試等等當成常態。怎麼可能會有『runtime沒設置好,很危險』的問題。這不是在整合測試就會看到的問題嗎? 在者,什麼樣的管理與設計會去讓幾十個人搶一個XML呢?

下午,另一個同事找我去幫他弄J2EE的安全設置,當然這又是XML。同事的炮火猛烈。『這真是個爛東西,還要改XML。你看那微軟產品就只要下一頁,點點點』。

身為程式員,多希望這世界上只有一種科技就好了。新科技不斷給新人製造機會,真是可怕。帶頭的怕,底下的更怕,我想,我也該多怕一點才好。