Java之父James Gosling在Java慶生會上說,Java會有今天,都是來自全球的開發者一點一滴累積出來的成果,並非他一個人能做到。

的確,從原本昇陽內部的專案,透過網路分享以及當紅的瀏覽軟體Netscape的支援,搭網路產業飛快成長的順風車,爪哇咖啡在網際網路上開始飄香。

同樣是物件導向語言,Java更強於C++
1995年正是Java開始萌芽的時候,從Apple的Basic、C和C++等語言一路學起、現為IBM臺灣高級資訊工程師王俊人,當時也注意到Java。「國內網站上相關資源還不是很多,多半是買書來看,更進一步鑽研就要連到國外的社群網站。」他說。

比較C++和Java,以王俊人的自學經驗,他指出,C++也是具有物件導向特性的程式語言,但Java的物件導向組成更來得簡化和方便,並有嚴謹的原則(principle)和程式管理,所以幾乎成為物件導向程式語言的代表。另外,當初昇陽開發Java的專案Green,主要是針對家電設備,所以強調輕薄短小和跨平臺。

J2EE和.NET結構內涵差距大
有人說Java其實不難,主要是難在加值的部分,也就是J2EE這一段,開發者要學習如何開發好測試系統、版本控制、或元件測試等,而且團隊開發時的管理、IT管理或架構的設計,這些都是很重要的工作,所以昇陽才有所謂的J2EE架構師的認證考試。

王俊人說:「Java程式一開始相當簡潔,因為東西越加越多,架構越來越大,現在又過度複雜,未來會再走向簡化,功能更強大好用。」

因為要面面俱到,J2EE架構完整,運作系統也較為安全,但形成較高的學習門檻,而微軟.NET一貫其「簡單易用」的初衷,將所有開發者會用到的工具或函式庫,放在一個平臺上,未來整合會比較方便。

王俊人說:「而在塑模(modelling)、架構設計或流程的管理,甚至是物件導向的開發概念,.NET才剛開始,和J2EE的距離還很遠。」 王俊人把學J2EE和.NET的差異,以蓋房子來比喻:「學J2EE,就像蓋房子前要先畫結構設計圖,.NET就直接塗水泥牆。」

但對IT人員來說,無論是用哪一種語言寫應用,都會有其優缺點,每個人喜好不同,需求也有差異,而且兩個陣營也互相學來學去,雖然.NET平臺還不是很成熟,但未來兩個平臺長相會越來越像。

Java陣營成員亦敵亦友,期望競爭激盪出更多創意
雖然IBM、BEA和甲骨文等大廠都宣布大力支援Java,也在昇陽舉辦的JavaOne大會上發表新的產品策略,但事實上私底下是相互較勁,企圖爭取Java陣營最後主導權,擁有最大數量的那一邊就成為業界規格。

身為Java社群的一員,王俊人說,競爭可以帶來刺激和成長的能量,希望能帶來更多正向的創意和發明。

然而,除了昇陽之外,Apache、IBM或其他社群多發展出自己的標準或開發環境,甚至連J2EE平臺也都有個別的考量,開發者熟悉一套平臺後,如果要換到其他廠商的平臺上,必須要重新學習。他說:「世界大同的目標可能太遙遠了,廠商會想盡辦法拉攏開發者靠邊站。」 王俊人原護理相關科系畢業,因為興趣而開始學寫程式,一路自習、從社群尋找和分享技術資源等,慢慢累積自己的技術能量。

他認為,因為工具的設計結構和發展的背景不同,養成的開發者樣貌也有很大的差異;因為J2EE的門檻高,資源豐富但較為分散,開發者一定要有主動求知的精神,被動學習的資訊接收量會有限。

.NET為效率,學Java練實力
「.NET強調好用,資源都幫開發者準備得好好的,因為容易,能減少開發障礙和成本,提高效率。不過,沒問題最好,開發過程中有問題,雖然也有社群或原廠提供協助,但畢竟沒法自己改,只能等待下一個版本或服務包補救。」李俊人說。

相較於網路上多元化的Java社群,.NET陣營的系統和工具自成一格,社群交流空間較為封閉,不能知道微軟之外的技術,李俊人認為,對於開發者來說,未來一定會面臨成長的瓶頸,習慣被動接收資訊視野會受限。

開放原始碼勢力興起
不過,因為臺灣中小企業佔最多數,他們需要的資訊系統不像中大型企業如此複雜,而且投資臺灣Java市場的只有幾家廠商,雖然人才市場仍急缺高階Java人才,但需求數量還是遠少於.NET。

不過,雖然中小企業用不起大廠的J2EE平臺,越來越多開發人員轉向開放原始碼社群,採用如PHP、Apahce、JBoss或Tomcat等,並以Linux平臺為基礎,依照公司需求開發基本的網路應用。

「未來市場將呈現兩極化發展,一邊是.NET,另一邊是採用成本低的開放原始碼如Java或Linux等。」王俊人說。文⊙左宛玉

熱門新聞

Advertisement