|
【IT168 專稿】到現(xiàn)在為止,軟件已經(jīng)有幾十年的發(fā)展歷史了。然而,在上個世紀(jì)90年代中期,也就是1995年,發(fā)生了足以成為現(xiàn)在軟件產(chǎn)業(yè)基石的兩件大事。這就是Windows95的發(fā)布和Java的問世。Windows95是微軟的第一個32位操作系統(tǒng)。也是微軟第一個銷售火暴的操作系統(tǒng)。當(dāng)滾石樂隊(duì)的一曲“把我啟動”響遍了世界的每一個角落,而微軟超過5億美元的廣告支出創(chuàng)造了當(dāng)時的銷售神話時,也就拉開了Windows時代的序幕。對于Java來說,這一年也非同尋常。這項(xiàng)經(jīng)過數(shù)年的發(fā)展,幾起幾落的技術(shù)終于在這一年與公眾見面。并以它的殺手廣告語“一處編譯,到處運(yùn)行”迅速成為除了Windows外的另一個吸引眼球的熱門詞匯。
一、Windows程序員的苦惱
自從Windows95和Java幾乎同時誕生后,也就注定這兩個“冤家”將長期爭斗下去。在最初的階段,微軟也看到了Java的潛力,所以就從Sun那里買來了Java的許可證。并在Windows里內(nèi)嵌了Java。但微軟這個家伙總是想著去控制別人。它雖然表面上支持了Java,但在背地里卻在研究自己的JVM。也就是現(xiàn)在的VJ。不過這個陰謀最后被Sun識破了,在一場官司后,Sun終于取得了勝利,這也迫使微軟放棄了它的計(jì)劃。然而這場官司的影響也是深遠(yuǎn)的,因?yàn)樗S護(hù)了Java一處編譯、到處運(yùn)行的承諾。
對于在Windows下編寫程序的開發(fā)人員來說,將會有很多的選擇。如微軟的VC、VB、還有現(xiàn)在的.net framework(包括C#、VB.net等),還有Borland的Delphi、C++ Builder等。這些工具中的每一個都有很大的用戶群。然而這些開發(fā)工具雖然強(qiáng)大,但它們并不適合所有的領(lǐng)域。
先來看看微軟的產(chǎn)品。VC是被公認(rèn)的應(yīng)用最廣的C++開發(fā)工具,然而由于VC在使用上并不容易,因此,很少有人會用VC設(shè)計(jì)擁有復(fù)雜界面的程序(除了一些通用的工具等軟件),而一般VC用的最多是實(shí)現(xiàn)一些dll、ocx等程序庫。而且VC在現(xiàn)在很熱的企業(yè)應(yīng)用方面(如SOA等)幾乎是個門外漢。對于VB來說,雖然使用上很簡單,但這個工具對于企業(yè)應(yīng)用方面的支持也不盡人意(當(dāng)然,最新的VB.net有一些支持,但和Java相比仍是小屋見大屋)。而Borland的產(chǎn)品的最要特點(diǎn)就是容易使用,但在處理企業(yè)應(yīng)用方面也和微軟的產(chǎn)品一樣,十分弱小。而在其他的應(yīng)用,如移動開發(fā)方面,微軟在.net中提供了個移動版的.net framework。但遺憾的是這個東西只能在微軟的Windows CE中運(yùn)行。而用戶在選擇這項(xiàng)技術(shù)時必須要十分肯定自己以后將一直使用微軟的產(chǎn)品。而Borland目前還沒有關(guān)于移動方面的產(chǎn)品(JBuilder除外,這個其實(shí)是Java的)。上述的這些不足將會給Windows程序員帶來很多的不便。要想以不便應(yīng)萬便,就只有學(xué)習(xí)更多的技術(shù)來彌補(bǔ)了。
二、Java才是我們最好的選擇
無論是微軟,還是Borland的開發(fā)工具,都有一個共同的缺點(diǎn)。就是只能在微軟的Windows下運(yùn)行(雖然Delphi有Linux版的Kylix,但功能有限)。這對于開發(fā)人員是一個艱難的選擇,因?yàn)樵谶x擇這些開發(fā)工具之前,必須要有一個清醒的認(rèn)識,要使用什么操作系統(tǒng)呢?是Windows、Linux還是Unix。而Java用戶就完全不會有這樣的問題。對于Java用戶而言,至少有三點(diǎn)值得我們?nèi)ミx擇它:
1. 跨平臺
這是Java的基本特性。也是選擇Java的核心原因。因?yàn)檫@樣我們就不必考慮軟件未來
所使用的操作系統(tǒng)是什么,只要JDK支持,我們的軟件就支持。
2. 強(qiáng)大的企業(yè)支持
Sun將Java分為了三部分,基中一部分,也是最大的部分就是J2EE。這是專門為企業(yè)應(yīng)用而準(zhǔn)備的。其中包括JSP/Servlet、EJB、Web Services、JMX、MQ等。而象Java提供這么全的企業(yè)解決方案的開發(fā)工具還是沒有的。而且還有從多的廠商在支持著它,如BEA、IBM等,它們?yōu)镴2EE提供了強(qiáng)大的服務(wù)器支持。
3. 各種應(yīng)用技術(shù)統(tǒng)一
這一點(diǎn)非常關(guān)鍵。雖然上述的應(yīng)用使用不同的語言和技術(shù)也能解決,但這需要程序員的知識面非常廣,而Java則不同,使用Java幾乎可以做所有的事情。從桌面應(yīng)用(現(xiàn)在基于Java的可視化IDE已經(jīng)大量涌現(xiàn),如NetBeans就是其中最卓越的代表)、移動應(yīng)用到企業(yè)應(yīng)用,甚至是編譯器和解析器(隨著JDK的速度越來越快,基于Java的編譯器的解析器將會越來越普遍)。而我們所使用的技術(shù)只有一個,這就是Java。只要學(xué)會了Java,就可以做所有的事情,至少在現(xiàn)在的三大領(lǐng)域是這樣的(桌面:J2SE、企業(yè):J2EE、移動:J2ME)。這一點(diǎn)是其他語言所不具備的。
對于Windows程序員來說,我認(rèn)為選擇Java要比選擇其他的開發(fā)工具更安全。也許有人會問,在Windows平臺下選擇微軟的開發(fā)工具不是更好嗎?當(dāng)然,一般情況下這么做是沒問題的。但這種情況現(xiàn)在正在發(fā)生著改變。最近微軟發(fā)布了Windows Vista。據(jù)微軟宣稱這將是有史以來最強(qiáng)大,最另人振奮的操作系統(tǒng)。事實(shí)真的如此嗎?在微軟發(fā)出要發(fā)布Vista的風(fēng)聲之初到現(xiàn)在已經(jīng)有好幾年了,原來微軟大力鼓吹自己的操作系統(tǒng)是基于和以往不同的存儲格式的,但現(xiàn)在由于技術(shù)問題也沒有最終兌現(xiàn)承諾?,F(xiàn)在Vista雖然發(fā)布了,但是卻罵聲一片,起因是運(yùn)行在老版本的Windows中的軟件有很多和Vista不兼容,總是出現(xiàn)這樣或那樣的毛病。更有甚者,微軟自己的軟件也是這樣。如Visual Studio 2003和Visual Studio 2005在工作時總是莫名其妙地出現(xiàn)異常。只有Visual Studio6運(yùn)行還可以。
看到這些,那些認(rèn)為在Windows平臺只有選擇微軟的開發(fā)工具才最好的程序員到現(xiàn)在還會這么認(rèn)為嗎?Vista在兼容性上的差勁的表現(xiàn)給了Sun機(jī)會。Sun宣布,自己的最新版J2SE6將專門為Vista進(jìn)行優(yōu)化??梢院芎玫卦赩ista上運(yùn)行。完全不存在兼容性問題。也許這將是Java程序員的福音。而那些使用其他開發(fā)工具或語言的程序員,也許會有些擔(dān)心自己的程序在Vista運(yùn)行上會出現(xiàn)異常,甚至是無法運(yùn)行。我的建議是如果已經(jīng)使用其他開發(fā)工具的程序員在部署自己的程序時盡量不要使用Vista,而還沒有做出最后選擇的程序員,還是選擇Java吧。因?yàn)?,對于Java來說,這些兼容性問題是Sun應(yīng)該考慮的,而我們只要做好自己的事情就可以了。
|
|
|