為什么.NET平臺在技術(shù)上遠(yuǎn)強過Java,而多數(shù)大公司卻仍采用后者?
網(wǎng)友解答: 雖然我們常說開發(fā)平臺并沒有絕對的優(yōu)劣,而在于負(fù)責(zé)開發(fā)的人,但其實對于大多數(shù)人來說,其實平臺還是很重要的。所以我們接下來就總結(jié)一下各自的優(yōu)勢是什么。Java的優(yōu)勢是開源、以及跨
雖然我們常說開發(fā)平臺并沒有絕對的優(yōu)劣,而在于負(fù)責(zé)開發(fā)的人,但其實對于大多數(shù)人來說,其實平臺還是很重要的。所以我們接下來就總結(jié)一下各自的優(yōu)勢是什么。
Java的優(yōu)勢是開源、以及跨平臺雖然現(xiàn)在微軟已經(jīng)把.net core整個微軟開發(fā)者生態(tài)的核心已經(jīng)開源了,并且visual studio都有了macOS版本,但是總體來說,跟Java比起來,Java還是占有極大的優(yōu)勢的。
生而開源、生而跨平臺,這是C#所不能比擬的,因為開源,所以開發(fā)者愿意為Java的生態(tài)做貢獻,并且也因此誕生了很多經(jīng)典的Java框架,比如傳統(tǒng)的Spring以及Spring mvc,已及現(xiàn)在大紅大紫的Spring boot,這些都是C#生態(tài)所沒有的,沒法相提并論的。Java擁有更加強大的開發(fā)者生態(tài),這一點毫無疑問。
而基于虛擬機,讓Java不經(jīng)意之間擁有了幾乎所有平臺的開發(fā)者資源。不管是Windows還是macOS還是Linux,一個JVM搞定一切,一些開發(fā)到處運行這是Java的優(yōu)勢。
微軟這一點做得太晚了,習(xí)慣一定養(yǎng)成很難改變,何況現(xiàn)在macOS版本的VS就是之前的xamarin studio,跟windows下原生的visual studio差距太大,誰愿意用?
除此之外,在大數(shù)據(jù)、大并發(fā)領(lǐng)域,Java依然是絕對的首選,.net搞不定!
.net開發(fā)周期短、快速開發(fā)耗資更少毫無疑問,.net首先擁有從設(shè)計上比Java更棒的語言C#,Java代碼臃腫的特點在C#上是沒有的,其次C#在桌面開發(fā)領(lǐng)域非常棒,可視化編程效率其實非常好。
除此之外,.net擁有更好的官方維護的開發(fā)者工具箱!首先是.net擁有更好的集成開發(fā)環(huán)境visual studio,不管怎么說,VS都是這個蔚藍色星球上最好的集成開發(fā)環(huán)境。
與此同時,.net還擁有最好的開發(fā)者幫助中心,MSDN開發(fā)者網(wǎng)絡(luò)可能是太陽系最好的開發(fā)者官方幫助中心,沒有之一!
使用.net開發(fā)周期更短、效率更高,并且快速開發(fā)的時候是耗資更少的解決方案。
但是在大數(shù)據(jù)以及大型項目中,還是有一定的局限性,比如京東曾經(jīng)就是.net解決方案,后來逐漸將Java作為核心后臺開發(fā)語言。
其實,從C#和Java,.net生態(tài)和Java生態(tài),從兩大生態(tài)的締造者也能看出。安德斯海爾斯伯格更是一個更是一個比較純粹的工業(yè)生態(tài)締造者,先勾打造了Delphi和C#兩套開發(fā)體系,都是工業(yè)特點非常顯著,高效、實用、不拖沓,能非常完美的解決我需要的所有需求,幾乎沒有多余。而詹姆斯高斯林更像一位學(xué)者,致力于學(xué)術(shù)型研究,所以Java傾向于能做很多事情,并且分享精神很足,但是在有的地方Java總顯得啰嗦,而且有很多用起來比較難受的地方。
網(wǎng)友解答:簡單地說,有幾個原因。
1. Java出得早
2. Java夠用
3. Java開源
4. Java由以上三點衍生出來的一系列優(yōu)勢
在科技行業(yè),做得早會有天然優(yōu)勢。我們回顧中外互聯(lián)網(wǎng)科技巨頭,大多數(shù)都是本行業(yè)最早的一批創(chuàng)業(yè)者里面涌現(xiàn)出來的。而java比.Net早了差不多五年推出來的,這五年的時間,讓Java建立了很大的優(yōu)勢。
其次就是Java也是一個很好用的語言,.Net能實現(xiàn)的功能,Java基本也都能實現(xiàn),無非只是說實現(xiàn)的方式不太一樣。也就是說,Java是可以滿足使用的。盡管.Net語言的確有一些優(yōu)勢,技術(shù)上也比較先進,但是Java夠用了,也就沒必要非要換成.Net了。
而Java有一個不容忽視的優(yōu)勢就是,Java從一開始就是開源的。Java的好框架好思想幾乎全是開源的,包括Spring這種。因此生態(tài)建設(shè)很成功。而受限于Windows平臺的.Net在這方面吃虧不少。
除此之外,由于Java起步早,開源,所以累積的使用人數(shù)也多,采用這個平臺的企業(yè)也多。最終導(dǎo)致的結(jié)果就是人才儲備非常雄厚。與此同時, Java也足夠使用了,為了追求語言的技術(shù)先進性更換語言,收益不大,也無必要。而選擇開源,人才儲備足,使用人數(shù)多的Java往往也意味著更低的支出,而且不用擔(dān)心受制于微軟公司。由于.Net人才少,招人需要高薪,還不容易找到優(yōu)秀人才。而微軟的平臺使用費用也是一筆不容小視的支出。對于企業(yè)來說,除非.Net有不可替代性,那就沒有必要選擇.Net而放著好用又便宜的Java不用。更何況,Java的生態(tài)建設(shè)也比.net要好得多。
想要取代老技術(shù),老平臺,不能只是做到跟原來的平臺一樣好用就可以的。要有決定性的優(yōu)勢,能做到以前的平臺和技術(shù)做不到的事情才行?;蛘呤?,功能一樣,價格具有很大的優(yōu)勢。