Posted on 2006-10-15 11:43
semovy 閱讀(218)
評論(0) 編輯 收藏 所屬分類:
心情驛站
從某種意義上講,Java是SUN的救世主,與.NET是不離不棄的雙子星。
Java改變了什么
十年前,幾乎沒有人想到,幾個技術人員研發的一個“小語言”,會發展成如今的一個“生態圈”,這就是Java。
Java讓互聯網動了起來
“計算機語言的發展歷史也是人們不斷追求更高的模塊化、抽象化和封裝化的歷史。近十年期間,很多編程語言,從出現到沒落經過了一波又一波。像1970年代出現的Pascal,如今用的人已經不多了。”一位資深程序員告訴記者,“‘算法+數據結構=程序’幾乎成為軟件開發的惟一準則,結構化程序設計方法從計算機發展角度來看是自然而然的,但今天從抽象的角度來看,這種方法幾乎可以說是一個‘時代錯誤’。實際上,軟件開發的主要目的就是描述和反映現實世界,結構化程序設計方法并不符合這個思維方式。”
因此,抽象的過程應該是以現實世界的對象為中心的,于是面向對象的抽象方法就走到了前臺,出現了Visual Basic、Delphi、C++以及Java等面向對象的編程語言,而互聯網的勃興,則給Java的成長帶來了肥沃的土壤。
“Java誕生時并沒有引起太多人的注意,它第一次讓人們覺得驚艷是在一次網站演示上,但當時人們對Java還抱有很大的爭議。”被譽為“Java之父”的SUN公司副總裁、軟件部首席技術官James Gosling回憶起十幾年前的情景不無感慨地說,“但Java的出現為當時的互聯網增添了生機,它讓那些靜態的頁面動了起來。”
而且,因為Java具有“只寫一次,隨處運行”的特點,從而引起了更多開發者的興趣。
“我們可以不必再做重復性質的勞動了。”中國科學院軟件研究所宋靖宇博士說,“此前,為了能夠使程序在不同型號的硬件平臺上運行,開發人員必須耗費大量的時間來一遍又一遍的編寫代碼,然而Java改變了這樣的局面,只寫一次就可以。”
由于看到Java在互聯網時代的巨大作用,清華大學計算機系教授王克宏從1995年就開始跟蹤Java的發展。
Java語言的優勢似乎是與生俱來的,然而,僅有語言是不夠的。
“為了提高軟件開發效率,任何編程語言都離不開相應的開發工具和程序庫。”王克宏說。于是,SUN公司在1996年的1月23 日發布了JDK1.0,其中包括兩個部分:運行環境和開發工具,運行環境包括五大部分:核心API、集成API、用戶界面API、發布技術和Java虛擬機。
隨著各種功能的完善與提煉,各種Java開發工具以及開發環境的豐富,Java不再是一種語言的代名詞,它變成了一種開發平臺。人們常常聽到的J2EE(企業版)、J2ME(微型版)、J2SE(標準版)就是Java的三大核心平臺。利用這三種不同的平臺,人們可以來做不同行業的應用。
SUN公司大中華區總裁余宏德說:“Java經過十年的發展,已經得到了全球的公認,可以說,當今的電子時代是‘Java無處不在’,正是基于它一開始的技術公開性,Java已經變成全球最富有活力的技術社區之一。”
盡管,Java目前已經風靡全世界,但Java 到底給整個產業帶來什么,除了Java程序員外,似乎沒有人能具體感覺到。
SUN中國區市場經理馬君海比喻說:“電燈的發明,使得有了現在龐大的電力產業;電話的發明,使得有了當今興旺的電信產業;而Java的發明,則給軟件產業帶來了前所未有的改變。”
像一切新興事物一樣,Java的發展并不那么順利,其坎坷起步的經歷,可以從SUN首席執行官Scott McNealy在SUN的Java One大會上的一句話得知一二:“七八年前的Java One演說現在聽起來真是寒磣,我們那時實在是太小看它了,我們根本不知道這項技術將會改變什么。”而且,由于開始就是基于開源的態度,當時很多人懷疑它是否能賺錢。
然而,今天的Java已經得到廣泛應用。
據全球市場調查分析顯示:已經有25億部電子設備采用了Java技術,Java智能卡發行量已經達到10億張,采用Java技術的手機達7億多部,7億臺PC中應用了Java技術,140家電信運營商支持Java 技術,全球有超過450 萬個Java開發人員,JCP(Java社區項目)已經有912家會員企業。
從1997年4月6日美國舊金山的第二屆Java One大會,到今年的Java十周年盛事,目睹了Java 十年的風風雨雨,眼瞅著這個以“咖啡”命名的小小編程語言變成了一個平臺,一個社團,一個生態系統。Java不僅發展了自己,也同時改變了它的締造者。Java對SUN的改變是間接的、漸進式的,有時候甚至不為外人所道也。
與平臺無關的Java旨在與“鎖定用戶的”Windows相抗衡,給人們更多的選擇,但推動Java研發的卻是家硬件公司――硬件公司與微軟抗個什么衡?也許有人會拿IBM做類比――IBM也大量涉足軟件。問題在于,IBM涉足軟件的結果是把自己變成了一個軟件和服務公司,而SUN的主業依然是服務器。表面上看,“純軟”的Java并沒有給“偏硬”的SUN帶來直接效益,反而樹了個強大的敵人,這就是并不“軟”的微軟。
同時,盡管SUN對Java的投資巨大,卻從沒說過它從Java中獲得過多少回報。因為使用Java程序和開發工具包是免費的,這讓那些利用Java做第三方開發的ISV們賺了個缽滿盆滿,可是SUN得到了什么?當然,Java作為高級編程語言,它的注冊和維護也能給SUN帶來一定收入,但這是一個小頭,有人比喻說:“SUN成了Java的管家,而不是主人。”
SUN大中華區市場總監李永起近日為記者揭開了Java與SUN的秘密:“如果SUN只是一個做服務器的公司,人們就不會對我們太感興趣,但有了Java,就大不一樣了,人們會跑過來與我們討論Java,人們會說:‘哦,能研發出Java這么棒的編程語言的公司一定不同凡響!’況且,服務器的銷售從來就不是孤立的,它體現為一個系統,Java在硬件銷售中發揮了關鍵作用。”SUN用 Java來定位Web服務,發揮其多平臺對話的特長,營造Web服務環境。
Internet讓Java復活,Java則拯救了曾經陷入“偏硬”困境中的SUN。
SUN董事長麥克尼里認為:Java帶來的益處從根本上講是間接的。“但是,”他說,“想像一下,如果10年前SUN沒有做Java,今天SUN將會在哪里?如果人們不寫Java Web服務,他們會寫.Net的程序,如果他們寫.Net的程序,他們就不會為SUN的設備寫程序。”
近年來,國內一批軟件公司都采用Java技術開發了一批軟件平臺和產品,這兩年Java在國內得到了迅速發展。不過,盡管看起來Java的隊伍似乎很強大,但國內Java人才相對而言還是少得可憐。
“SUN在新加坡建立了Java高級培訓中心,目前新加坡有5萬名Java 人才,而新加坡全國只有380萬人,即全國1.3%的是Java人才,如果按此比例,中國應有1700萬名Java人才,而現在估計僅10到15萬人。”王克宏教授在相關的報告中寫道,“造成國內Java應用不多的原因是多方面的。”
“這兩年SUN才開始在中國舉辦各種活動,而許多媒體對Java的不關注也是其中一個原因。”王克宏說。
“其實,鑒于Java出來時總給人陽春白雪的面孔,使得國內的許多編程者在熟悉了微軟的開發平臺后,很難轉換過來是其中的一大部分原因。”宋靖宇博士說,“你不得不承認微軟在開發工具上的人性化以及可視化設計是高超的。”
“在討論 Java 的時候我們很容易將 Java 語言和 Java 平臺混為一談,與.NET 平臺比較的過程中,也更多的是將Java平臺和C#比較,或者將Java語言和.NET 平臺做比較,在我個人的意識中,這是不夠公正的。”上海大學博士劉錟對記者說,“Java既是一種語言,也是一種平臺。”
說到微軟的.NET,它從提出的開始就是立足平臺,相對于 Java 提倡的“一次編寫,到處運行”,.NET則提倡“一個平臺,多種語言”,因為平臺的統一性,因此在各個程序語言的兼容性和混合開發方面做得比Java 好,也因此有些微軟的“粉絲”嘲笑Java是“一次編寫,到處調試”。
“微軟的C#是集合了C以及C++甚至Java的許多優點的結晶,在Windows平臺上,似乎C#在運行速度上更勝一籌。”劉錟介紹說,“在任何一個平臺上,我們直接交流的是實現Java語言運行的虛擬機,我們希望Java在虛擬機以及它的開發平臺的研發上變得更易用、更人性化。”
“有對手總是一件不算壞的事情,這個世界不需要‘獨孤求敗’,商業規則也不允許‘獨孤求敗’的出現,因為那樣會打破競爭格局的平衡,而Java和.NET這兩個平臺的紛爭才剛剛開始。較量,有利于整個軟件世界。SUN公司在商業模式的運作上甚至可以跟微軟學習。”一網友這樣說。