程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA編程入門知識 >> Java與.NET 誰才能主宰未來?

Java與.NET 誰才能主宰未來?

編輯:JAVA編程入門知識

  為什麼會有Java,為什麼會有.NET

  有人說,Java是為了跨Windows和UNIX而產生的。是這樣嗎?

  Sun有自己的操作系統solaris,並且打的是高端市場,而Java發展早期階段,Windows還主要定位在中小型企業,並沒有打算與Sun一爭高端客戶。

  而且Sun的用戶大部分都是大型企業級,而Windows定位在家庭消費用戶,由於Windows已經成為桌面OS的事實標准,Sun根本無意搶奪 Windows的地盤,而且Sun有自己的操作系統,擴大自己產品銷售才是第一。

  但是UNIX一直是個混亂的世界,各種UNIX版本在並存,你為這種 UNIX開發的應用,卻很難在另一種UNIX上跑通.應用的阻塞影響了UNIX市場需求的擴大,就象沒有SQL Server,沒有Office,沒有Windows 游戲,和Windows上的開發工具,就算你的操作系統做的再漂亮再輕易我們也會扔掉Windows.為什麼?因為沒用,我買回來一個大鐵家伙,我什麼也做不了.Sun就出於這種考慮,所以才有VM的想法,否則誰傻了,做個又慢又麻煩的VM.所以說Java的產生,只是為了跨UNIX平台.當然能跨 Windows,吃定Windows,那豈不是更好,呵呵呵,Sun為自己的妙招而沒事偷著樂.

  那為什麼會有.NET呢?可是Windows就一個呀,它也要跨平台?而且微軟已經把CLI提交給標准委員會,看來是真要跨了?真的嗎?

  從外表來看,Windows確實是一個.但是從技術角度來看,Windows3,Windows95,Windows2000是截然不同的三種架構.在中國,大家對新技術的追求比較熱衷,所以說一個企業中這三種操作系統並存互連的可能性不怎麼大.但是老外是精打細算,不見兔子不撒鷹,所以你在國外企業運行很老的系統也不要見怪.微軟為了同時維護這幾種操作系統也是煞費苦心,而且由於技術是各個時期形成的,有的技術由於歷史發展原因有明顯的缺陷,也無能為力修改了,而且為了功能更強大,API海洋,DLL黑洞,ACTIVEX,OLE,COM,DCOM,COM+,各種技術交叉,唉,其中苦誰了解?所以跨WINDWOS平台是微軟制造.NET的一個原因,這樣給你一個抽象的統一的平台後把你擺平後,他再著手修改他的底層,省得一天人們叫著 Windows不安全,Windows不穩定.當然從J2EE的火熱場面來看,拉去了很大一批Windows平台上的C++程序員.失去了應用開發的源頭,那還有什麼發展?如何拉回

  這批程序員讓他們繼續為Windows開發當然也是.NET的原因之一,這就是為什麼.NET從架構到開發語言都與 Java極其相似的原因,就是吸引你平滑的再回到微軟的世界中,假如跨度大了,程序員就有了遲疑.唉,假如沒有Java,如今的C#也不會是如今這樣,原本它會更好,我想ANDERS一定心中很郁悶,但是商業是不以個人意志為轉移的.而且現在已經不是桌面為王的時代了,現在是互連網的時代,Java是第一個有強大開發WEB應用的完整體系,而當時微軟的技術還是七拼八湊,只是互連網一下到來微軟剛醒過神來倉促應戰的結果,當然無法與J2EE媲美.想在互連網時代也分一杯羹,必須也有一個完整的體系,於是.NET就產生了.

  我們已經有了Web Service,我們還需要.NET嗎?

  其實技術發展到如今的應用集成時代,用戶的需求就是把現在各種平台上的應用集成起來.集成的方法有很多種,當然跨平台也是一種.不過最省力的還算是WEB SERVICE.因為現在已經是組件應用的天下.各種COM,EJB,CORBA成為快速組裝企業應用的主流技術.組件是位於操作系統,數據庫,網絡之上的技術,站在組件的層面上,下面用什麼技術已經無所謂了,因為已經被組件屏蔽了.假如我們能把我們的組件互連起來,不也可以集成嗎?應該怎麼做?這幾項技術都分屬於不同公司,想聯合真不大輕易.這時就要找到每個體系公共的東西,用公共的東西把他們連在一起不就行了.找呀找,終於發現,是TCP/IP.隨即幾大公司都發現了突破口,需要快速占領先機.由於Sun一直在Java發展的問題上給了IBM很大的阻塞,所以IBM寧願先和微軟聯合做,假如微軟有什麼不軌之心,就放出Sun,讓他們互相咬,然後在適當的時機出來裝出老大的樣子擺平他們,給他們倆制定一個適合自己發展的競爭協議.

  我們已經可以互連了,我們干嗎要.NET.我們的問題已經解決了,我干嗎花錢再投資呢?經濟本來已經很不景氣了.

  但是,但是,就是這該死的但是...

  微軟看來已經決定不在現有基礎上增強ASP和COM+了,現在是互連時代,也是組件時代,兩大要命的地方我都不升級了,你自己看著辦,我可沒逼著你買.

  .NET和Java在中國哪個更有前途?

  這個問題好象已經不用再爭了.中國90%的用戶是Windows用戶,保護現有投資,使用很習慣很易用不用重新學習,我又不用跨平台,我干嗎要換Java 呢.過去是微軟沒有提供很強大的WEB開發解決方案,現在提供了,我干嗎要用Java.而且. Net比Java出的遲,肯定會吸收Java的優點,彌補Java的缺點.而且微軟的VM肯定和Windows結合的很好,性能不用擔心.我干嗎用 Java?而且微軟顯然把寶已經壓到了.NET上,你難道還要在.NET的VM上再加一層Java的VM?

  
     .NET有什麼新的亮點?

  當然是ASP,ADO和COM+,還有清楚的架構,並且由於統一的類庫,我們為WEB,GUI,MOBILE而開發的應用會很輕易的轉來轉去,不象過去開發,各需要學習不同的知識.ASP終於結束了網頁意大利面條式的程序,面向對象和支持多種語言,使構築強大復雜的WEB應用提供了比jsp更凶猛的功能,讓人不得不愛.ADO.NET也拋棄了過去的數據集一Scroll就連數據庫進行提交的糟糕速度,代而取之的是多條修改可以一次性提交上去.這樣性能會提高很多.COM+呢?COM+1.5的特性大家在WINXP上也看見了,比1.0強了很多,未來還不用注冊, COPY完就能用,多舒適.至於安全嘛,穩定嘛,這話不敢講.因為盜亦有道,Java也同樣如此,無法說誰比誰好.

  .NET真的會跨平台嗎?

  微軟的命根子是操作系統,微軟此次出.NET也是為了打入高端市場.怎麼打入?微軟第一已經在用C#收買 Java程序員了,並且做Java和C#的映射工具,先斷了Java應用的前途,後面用CLI提交給標准委員會,讓別人開發UNIX上的平台,微軟不在正面和UNIX陣營沖突,以免犯眾怒.當UNIX和Windows的CLI都有了時候,基於CLI的應用可就兩個系統都能用了,這會幫助微軟銷售多少其他產品呀.這不,微軟在支持著好幾個Open Source社團在開發UNIX的CLI.跨平台的事微軟不會輕易干的,否則微軟的命根子怎麼辦?

  .NET真的支持多種語言嗎?

  開發更多的基於.NET的應用,讓.NET快速成長起來.第二.NET是一次比較大的革新,廣大的各類程序員能否跟的上也是個問題.多語言的支持當然會,但是不會支持的很好,否則微軟大力做C#干嗎呀,假如別的語言和C#一樣好,那微軟還混什麼混呀.最糟糕了,也要其他語言的技術比C#慢半拍.不過先走也未必領先,就象Delphi就後來居上,這麼大的市場,微軟是不可能通吃的.

  我們需要轉到.NET上嗎?

  你可以不轉.就看你需要不需要INTERNET了.我想在未來,沒有企業會說INTERNET對我沒有一點作用.

  現有應用能否平滑過渡呢?

  在這個問題上可以看一下微軟的歷史.微軟在做完WINNT4的時候其實已經在策劃現在的WIN2000,但是為什麼在WIN95後有WIN98, WINME,WINXP,不是他當時做不了那樣的技術,而是必須引導著客戶一步步走,要追隨客戶,走的太快,就會丟失客戶.在這個重大的轉折點,微軟也會如此.而且在現在的Windows.NET上,你運行現在的程序一樣沒問題,速度依舊,操作方式也依舊,因為他使用了兩種手段來區別對待這兩種應用程序.

  什麼時候轉?

  假如你需要搶占市場先機,現在轉正好,因為能支持Asp.Net,ADO.NET開發的VSS.NET已經推出快一年了,就是有能力欠缺的問題,第二版的出來也不會太晚了.不過話在前頭,確實在實際的開發中,Vss.NET確實有些做不了的事情,不要看他好象什麼都有,這就跟微軟當年公布COM有池化的功能一樣,僅有一個外殼.這是微軟的策略,跟不跟著走,你自己看.穩健型的公司建議在第二版出來後應用,因為微軟的產品一向在第三版才會好用.

  作為開發商,跟隨.NET的難點是什麼?

  難點難就在,過去我們的開發方式,拖一些控件,連個數據庫,更新或SELECT一些數據.再深一些就是消息,或者是一些不常用的API.記住:.NET是微軟進攻高端市場的第一步,現在的微軟不是我們過去熟悉的微軟,Vss.NET的一推出,就是強烈給人一種這樣的感受:從建模到開發到測試到發布,全套企業級的工具都無縫相接,而且處處體現著OO和設計模式,在宣傳中也頻繁提到,昭示著這個工具是為大型應用開發而定制的.所以寶刀也需有能力的人才能拿的動,否則只能砸了自己的腳.對於現在的Java開發工具也是如此,好象全世界一下都沒有了小型企業一樣.我們是否具備了優秀的設計師,建模師,OOP的程序員,我們是否有一整套流暢的開發流程來支持全程建模,我們都需要深思.在微軟的.NET的各種培訓上,培訓師也是反復強調分析設計,大型項目治理,自動化工具的支持,你做好預備了嗎?

  題外話:

  Sun在微軟拆分問題上輸了嗎?

  微軟的案子打了這麼多年,居然庭外和解.Sun確實挺郁悶.不過Sun並沒有輸.為什麼這麼說呢?依毛主席的話說就是:敵進我退,敵疲我擾.確實微軟在. NET的發展上受了很多牽絆,否則也不會到如今才推出來個框架.在硅谷,時間就是機會,時間就是金錢,誰前進的快誰就能占先機,顯然Sun並不是最痛苦的一個.

  Java的未來

  依Windows的用戶量和微軟進攻高端企業應用的決只是呆板的圖形,不能全方位的表現網絡的傳輸技術,使應用進步更加依靠硬件而不是軟件,微軟亞洲研究院為什麼在做哪些研究,就是因為他們不斷在思考未來是什麼,所以每一次技術的浪潮他們總在浪頭.當然未來還會有所改變,但是他們會及時調整他們的戰略,但大方向不會錯到哪去!

  當技術不再是阻礙應用發展的主要因素,比如寬帶的來臨,這時候你想過沒有,在它上面,該做些什麼呢?

  世界有多大,你能看多遠?為什麼在每次浪潮到來時你都無法預想到,而感歎這世界變化如此之快?

  我對微軟的發展的一些看法:

  
     微軟把.NET擴展到高端市場和移動設備市場,為.NET開發的程序可以在基於.NET的任何設備上都可以運行,大家不需要為不同的設備用不同的工具開發應用,應用極大的推動了基礎軟件的擴大,就象OFFICE,SQL Server輔助擴大了Windows的銷售一樣.

  未來的XBOX也會變成.NET平台,成為家庭連網的安全網關和交易網關和信息網關,假如你覺得微軟進入游戲業就是為了眼饞游戲這塊利潤,那你就大錯特錯了,這個皮毛根本不值得微軟大動這麼財力.

  PDA 和手機也和機頂盒一樣嵌入.NET,你打開電視,你打電話,你玩游戲,你工作,你上網,你甚至打開冰箱,你都不會知道在背後支撐的是.NET,從高端服務器到你的手機,全部是微軟的軟件這是一個偉大的設想,假如微軟能夠兢兢業業的走,憑這樣的財力人力和治理和經營戰略,走10年,實現的可能性非常大,這不是以個人意志為轉移的,你說他倒他就會倒嗎?

  假如會成功,當然微軟會成為人類歷史上最偉大的公司,賺取的財富已經不能再提,最要害的問題是:我們全人類的生活和工作被一個私人的商業公司所控制著.

  只是到那個恐怖的地步,你是否有勇氣和能力把他拆分.因為他足以觸及到你的生活和工作,社會的經濟,政治活動,甚至軍事,任何的動作都足以引起社會的大地震.

  你認為他有什麼理由完不成這些夢想嗎?

  本文轉載自:DotNET的春天(http://www.cnblogs.com/accpxcb/archive/2007/10/06/915314.Html


 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved