Java會步上COBOL之升級是否為問題

 

   最近正熱的議題?其實我怎麼覺得好像在半年一年多前就有國外媒體還是誰提過?所以已經有點冷感了。而小弟本身就是資訊焦慮者,每次遇到升級就會非常想幫手上的東西升級(我知道這是壞習慣XD)。剛好看到Mr. Saturday回了一篇有關升級的文章,所以也講講自己的看法,因為我自己是寫web為主,所以是以我自己在web開發的經驗跟想法。他提到”也因此,小弟公司內部有一個 team 叫做 Java Infrastructure Team,每次 Java 預定要推出升級的版本時,他們就如臨大敵,工作量暴增...”,說實話這不管在使用任何技術都會有類似的問題吧?我想這問題應該可以分成兩部分,一個是真的有需要因為人家推新版本就跟著更新?另一個則是Java升級新版本是否有這麼痛?

    如果公司規模大到上百上千工程師都靠Java,還有自己的infrastructure的話,那當然應該隨著版本更新就必須跟上和檢討,這種規模的公司投資這種Team應該是很值得(星期六提到了MapReduce!?只是我怎記得他是C++?Hadoop才Java?所以星期六應該是在Google工作囉!?),難不成會希望利用的技術更新速度慢一點或不要升級嗎!?,整個公司都靠Java為主力了那應該更希望他能一直改進吧!?這種公司人員教育上也應該要有應對方案才對(不知道是不是有什麼工作或技術是員工不需要學習就可以吃一輩子的)。從Java以前到現在大的升級大概都是一兩年才一次(之前還更長,從6開始速度會更快),Java本身在升級時雖然有api deprecated的狀況,但是我記得sun不會將deprecated的api移掉。JavaOne sun介紹Java6的投影片,Java在大版本號的升級時做的相容測試還比我軟體升級做的還徹底多了。我自己手頭上做過的案子遇過最大問題大概就是因為使用了非公開api,例如com.sun開頭或是application server的api或是使用了沒有原始碼的工具而造成無法順利升級以外(Swing很少寫,但是看來問題比較多一點),其餘都算是換版本也能順利解決和執行。

    而像其他公司,依照專案為基礎或做產品的,真的有需要每個版本一出來就迅速升級嗎?像我們有個EJB base的專案,用到了一個inhouse且以EJB為基礎的framework,結果現在那個單位消失了,我們也沒原始碼沒辦法處理,他剛好用到了weblogic和JBoss的API,那個系統就只好一直在J2SE1.4跟指定application server的環境執行無法升級了。但是到現在也沒遇過什麼問題,還是有一批人幫他新增功能也順順利利,也沒人想去幫他升級了,遇到軟體有Bug或是環境的問題時,最遭的狀況也總是有辦法繞一圈處理掉。到現在我們部門遇到最痛的升級問題大概就是有個系統是ASP寫的,結果要找人維護竟然找來面試的每個都說會ASP.Net而不會ASP,看主管花了比預期還久的時間才找到人,這算是不升級的痛嗎?

    我認為確實升級會是個該面對的議題,但是它也是使用任何技術都會遇到的問題,只要有人在維護的東西,就會有升級的問題,而Java在這問題上已經算是相對容易的了,至少不是特別難。如果有東西不需要升級的狀況,那總有一天環境會逼迫你切換到另一個技術,因為他已經跟不上環境的變化了。想想很有趣,剛好小弟同事在不同部門使用.Net接案子然後最近接到以Java的案子對小弟抱怨說,Java怎麼那麼多東西可以挑,該挑哪個!?讓我想到,當大家沒有選擇時,會希望有多種選擇可以挑,當選擇太多時又覺得怎麼各有優缺點,這個不好那個不好,乾脆沒得挑最好。技術更新也是,當他更新速度太慢時,覺得這技術會跟不上環境的變化跟潮流,當他更新太快時又覺得變化太大來不及應對,該怎辦呢!?

    PS."很不幸地,你必須去苦苦追趕程式語言的升級",我覺得好刺激,真想體驗看看!!果然沒嘗試過的人比較愛幻想,真的遇到可能會邊幹邊升級吧XD


2008 一月 05, 02:34 在分類 Java 張貼者: koji lin

迴響[0]


迴響:

發表迴響:
  • HTML 語法: 關閉