最近又有機會,回了趟合肥,和幾個老朋友聚了一下,酒席間有人提到OMG,我嚇了一跳,難道我的朋友們都開始搞軟件了??!!一問方才知道,原來OMG在俚語中就是“Oh My God”的標準縮寫,幸好我沒直接問,差點出洋相,OMG!
后來我告訴他們在軟件界,OMG可不能隨便亂說,它是個權威組織,權威到你能想到的大型軟件供應商都是它的會員,以至于像Microsoft和IBM這樣
的企業都不能左右它的標準。為了再次感受一下OMG的權威,我去了它的網站,這一去又使我感觸頗深。OMG最引以為豪的四大標準體系赫然列在其網站的抬
頭:MDA, CORBA, UML, CWM。
搞軟件的都知道UML,
正是這個東西使整個軟件開發過程進入現代文明階段,也促使開發工具供應商重新洗牌。這可謂CASE領域的一大發明,其普及速度也令人瞠目結舌,現在誰要敢
宣稱他不用UML,那他立即就會被剝奪“軟件工程師”的胸牌,或被迫將胸牌上的字改成“程序員(初級)”!UML似乎已勢不可擋的成為軟件人的唯一選擇。
但是現在也有一些程序大師建議大家不要對UML過于信任,不要過于熱情。這就好像我們當年對C語言的熱情一般,好像有了C就有了一切,可是10年過去了,
當初寓言即將被C淘汰的Pascal、Fortran和Cobol依然存在,甚至沒有減少的勢頭,而C卻經歷了起承轉合,失去了往日的光輝。在我記憶中國
外的很多大師,尤其Kent Beck、Martin
Fowlor一樣的人物還是建議大家慎重使用UML,在某些不適合UML的場合不要使用,比如個體軟件工程中推薦使用CRC卡,需求分析的早期階段適合使
用Mind Map,每次向客戶演示或展現工作內容時用不規范的Visio圖等等。
CORBA是
足以使它的發明者榮耀終身的發明。它確實太出色了,它為整個軟件界開辟了一個新的領域。無論最終J2EE是否成為這個領域的霸主,它都不得不叫CORBA
一聲“前輩”!遺憾的是,當CORBA成為企業應用的開山鼻祖而受到眾多程序員仰視的時候,它也悄悄成了商業政治謀殺技術標準的教學案例。過于龐大的內核
只為了兼容更多大型廠商的產品,滿足其“私人欲望”,并最終迫使其標準的創立班子離開另起爐灶。
MDA是
個偉大的理想,它可以讓非程序員輕松創建符合自己個性和需求的應用程序,without any
coding。但是,偉大的理想往往有時超越了現實的可能性。在我眼里MDA到底能不能實現實現和人類究竟能不能進行時間旅行屬于同一類問題。也許我的語
氣有些夸張,請原諒,因為我覺得MDA還有大量的問題沒有得到解決,甚至沒有澄清,這些問題已經嚴重影響到了MDA的可行性,比如在軟件市場中有哪些角
色,每個角色有哪些權力和義務,就是個很重要的問題。因為現在幾乎每個大型軟件供應商都沒有把“將MDA進行到底”的口號作為自己的宣傳大旗!
CWM也是個偉大的創舉,當且僅當MDA能夠實現。所以對CWM我沒什么可以點評的,只是有一個額外的想法。因為我是一向主張人工智能將來一定會在商務應
用上展露頭角的,所以我猜想,CWM將來有可能成為某個知識庫的一部分,通過人工智能引擎直接發揮作用,而不再需要MDA的支持。可能也正是這個原因或某
個相似的原因使OMG考慮把CWM單獨拿出來作為一個發展項目的吧。
做軟件的泡泡