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

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

編輯:關於JSP

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

  當技術不再是阻礙應用發展的主要因素,比如

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