自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Java和.NET繼續(xù)爭斗的四大相關問題

原創(chuàng)
開發(fā) 后端
JDK 7現(xiàn)在被矚目關注,此次升級中JVM與Java語言將被比較明顯的剝離開來,而Java平臺儼然也將成為一個集大成者,與.NET平臺形成楚漢爭霸之勢。討論哪個平臺最終會贏在現(xiàn)階段沒有什么實質意義,著名程序員Justin James近日撰文點評兩個平臺的異同和發(fā)展趨勢。

【51CTO精選譯文】在本篇文章中,著名程序員Justin James討論了Java的未來,以及Java與.NET的開發(fā)成本對比,和Java是否能夠取代.NET。Justin在文中總結了四大要點,重點關注了兩個運行時在性能和成本上的異同之處。

1、Java SE 7遭遇.NET CLR會發(fā)生什么?

從Java SE 7的功能列表中可以看出,它相比以前版本有了長足提高。那么,它是一個游戲改變者嗎?我認為不會是這樣。在過去數(shù)年中,JVM和.NET CLR都發(fā)生了眾多改進;過去那些只有技術非常高超的程序員才能完成的許多事情,現(xiàn)在借助于JVM和.NET CLR的增強功能,普通程序員也能夠做得到。

盡管JVM和.NET CLR并非在同一個時間實現(xiàn)相同的想法,但是如果在一方出現(xiàn)了某個好的想法,另一方也會迅速跟進,這一點不僅僅體現(xiàn)在運行時層面上。舉例來說,對于Java來說,Hibernate項目取得了巨大成功后,.NET也迅速推出了NHibernate。而.NET的閉包(closures)功能深受眾多開發(fā)者的歡迎,Java似乎不久也將實現(xiàn)它們(51CTO編者注:Sun在Devoxx大會上宣布了這個消息),當然,這是一個語言功能,而非運行時功能。

[[7741]] 
.NET閉包大受好評,Java也將迅速跟進

2、在可以預見的未來,一個運行時是否會徹底擊敗另一個?

盡管從技術層面上JVM和.NET CLR非常相似,但它們都有自己的市場,兩者的靈活性都不是很強。如果一個人已經圍繞.NET服務器和IIS創(chuàng)建了他們的基礎架構,他不可能第二天醒來把所有這些遷移到Java,反過來也是這樣。甚至如果一個公司決定切換自己的開發(fā)平臺,那它可能需要替換整個開發(fā)團隊,或者從頭開始對他們進行培訓。即使培訓完成后,在技能上還是存在嚴重的不足;畢竟,一個高級.NET開發(fā)者不可能在經過3個月培訓后突然變成一個高級Java開發(fā)者。

另外,公司需要保留現(xiàn)有技術人員來維護已有的代碼。你認為這些員工會坐視他們的職位被取消,或者他們的技能將變得無用或貶值嗎?當然不會。對一個公司來說,完全從Java轉向.NET或完全從.NET轉向Java,都是一種自殺行為。最多是通過一個多年期項目來對員工進行重新教育。自從.NET發(fā)布以來,從VB6到.NET的遷移都已經花了8年時間。

[[7742]] 
程序員和項目的轉型需要時間

3、Java開發(fā)的成本是否比.NET開發(fā)更具經濟性,如果是這樣,人們是否會轉向Java來節(jié)省投資?

如果你僅僅著眼于工具,我的答案是“既對也錯。”的確,只要你愿意,你可以在一個完全開源的組合上運行Java。你可以采取Linux/Tomcat/MySQL/Java組合,或者在服務器方面使用SpringSource組合(51CTO編者注:對于SpringSource服務器組合,有人卻是表示不滿的,可以參考這篇文章),在開發(fā)者的計算機上使用EclipseNetBeans。但是需要指出的是,無論出于什么原因,你都不會是開源替代產品的狂熱支持者,我并非說替代產品就不好;如果是那樣的話,與.NET工具相比,Java工具的價格相當,在很多情況下甚至更貴。而且從甲骨文和IBM等公司正在進行的業(yè)務來看,很明顯許多公司認為有必要付費購買專有Java工具。就價格而言,在任一指定市場領域,微軟幾乎總是價格最低的企業(yè)類廠商。

另外,你必須考慮到如果沒有切換成本公司將會省下多少錢。一個Visual Studio副本的成本要遠低于一個中等收入開發(fā)者的周薪和保險金(51CTO編者注:作者Justin是美國人)。而且同一個開發(fā)者學會Java并且達到他擅長.NET的水平,所需要的時間要遠遠大于一周時間。

#T#出于公平考慮,這種分析也同樣適用于從Java轉向.NET。相比于平臺切換的痛苦,開發(fā)工具成本實在微不足道。當然也有兩種例外情況。第一種情況是新建公司,那么不存在遷移成本的問題。在這種情況下,Java依然不具有成本優(yōu)勢,因為微軟也已經推出了免費版本的Visual Studio(Express版),而且如果你的公司是新創(chuàng)公司的話,通過BizSpark計劃,你可以免費獲得三年MSDN和微軟許可,它們還不錯。另外一種例外情況是,一個公司具有非常高的服務器-開發(fā)者比例,例如谷歌或雅虎。此類公司可能有許多開發(fā)者研發(fā)運行在數(shù)千臺服務器上的一個應用。在這種情況下,開發(fā)者工具并非節(jié)省成本的主要因素,但服務器空間是。對于面臨這種情形的公司,Java(和其它開源技術)可以具有一個決定性的成本優(yōu)勢。

4、一個Java開發(fā)者需要了解多少腳本語言,才能實現(xiàn).NET中的效率?

首先,你是否在進行Web開發(fā)工作?如果是這樣,你可能需要了解一些JavaScript知識,并熟悉相應的框架。對于后端工作來說,知道一門動態(tài)語言或腳本語言不是強制性或必需的。盡管如此,在Java領域存在許多此種用途的不錯選擇。對于目前還不是一名Java開發(fā)者的人來說,我沒有這方面的任何實際經驗來介紹,但是我聽到很多關于GroovyScala不錯評價。如果你希望選擇某些更主流的技術,JRuby和Jython是不錯的選擇。

性能 
有各種方式提高Java應用的性能

在過去數(shù)年中,JVM已經開始大量支持非Java語言,開發(fā)者現(xiàn)在擁有眾多選擇。學會其中一種肯定有助于你成為一個更好的開發(fā)者(即便你并不在實際產品項目中使用它們),可以讓你在項目陷入困境時提供另一種方向。

Java是否會取代.NET?言之尚早。同時.NET也不會消滅Java。兩者都有自己的優(yōu)勢和劣勢。我認為,你最終選擇它們兩個中的哪一個,這要取決于個人喜好和當?shù)芈殬I(yè)機遇。

原文:Why Java and .NET will continue to compete  作者:Justin James

責任編輯:yangsai 來源: 51CTO.com
相關推薦

2016-03-30 11:51:55

2013-07-23 10:13:17

2011-03-21 09:01:49

CSS框架

2015-07-17 09:50:16

Carthage優(yōu)劣比較

2010-03-18 16:41:31

java.net.So

2021-08-02 18:08:53

網(wǎng)站安全SQL技術

2011-10-21 13:59:48

Java云計算

2010-01-14 09:57:42

火狐Chrome

2009-07-23 13:47:46

ASP.NET數(shù)據(jù)緩存

2013-01-06 10:44:43

微軟Windows 8云計算

2023-03-06 17:23:48

2015-08-10 15:08:00

Java 對象

2018-11-07 13:00:30

機器學習深度學習集成學習

2017-03-17 19:48:01

人臉識別

2009-10-26 18:41:05

VB.NET獲取硬盤信

2010-03-19 09:59:20

Python urce

2018-07-06 05:05:07

2021-09-17 10:50:14

容器 Linux

2010-09-15 13:35:25

SwingHibernateStruts

2009-10-22 15:35:24

VB.NET循環(huán)
點贊
收藏

51CTO技術棧公眾號