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

技術上難分高下,為什么市場選擇了Java?

開發(fā) 后端
根據(jù)TIOBE編程語言指數(shù)來看,從2002年起,Java一直穩(wěn)居Top 3的位置,近幾年來幾乎都是以壓倒性的優(yōu)勢位居首位。而C#與之相比,熱度就要弱很多,整體熱度要比Java相差一倍多。為什么市場和大部分程序員會選擇Java而不是C#呢?

編程語言之爭由來已久,每次爭鋒都逃不出兩個結果,一個是雙方爭執(zhí)不下,誰也不服誰,另一個就是“不以使用場景來談論編程語言”都是耍流氓。所以,這一次我們不再單純的談論C#和Java誰強誰弱,而是從多個角度來看市場為什么選擇了Java。

雖然Java每個月都會出幾篇“陣亡”或者“準備陣亡”的報道,但是整體來看,Java在技術人中間的熱度一直是居高不下。根據(jù)TIOBE編程語言指數(shù)來看,從2002年起,Java一直穩(wěn)居Top 3的位置,近幾年來幾乎都是以壓倒性的優(yōu)勢位居首位。而C#與之相比,熱度就要弱很多,整體熱度要比Java相差一倍多。

為什么市場和大部分程序員會選擇Java而不是C#呢?

1. 成也微軟,敗也微軟

微軟之于C#如同蕭何之于韓信。

微軟

眾所周知,C#是微軟公司發(fā)布的一種面向?qū)ο蟮摹⑦\行于.NET Framework之上的高級程序設計語言,所以在對C#的支持方面微軟也是非常賣力氣的。Visual Studio是公認的“宇宙***IDE”,C#背靠這樣一座大山,在開發(fā)效率方面簡直有如神助。

但是微軟在費用方面從不手軟也是人盡皆知,C#開發(fā)后軟件的應用成本要比Java開發(fā)后軟件的應用成本高很多,而對企業(yè)來說,如果有一種替代方案能夠減少成本,無論是硬件成本還是軟件成本,都是極樂于應用的。而在這方面,Java似乎更勝一籌!

2. 跨平臺錯失良機,萬事皆休

跨平臺是Java***的優(yōu)勢之一,Java應用程序可以部署在Windows、Linux、Mac以及其它Java JRE支持的操作系統(tǒng)上。而C#則因為微軟最初想要推廣自己家的操作系統(tǒng),沒有提供除Windows之外的Runtime環(huán)境,限制了C#的發(fā)展。雖然現(xiàn)在微軟意識到了這個問題,開始積極適配其它平臺,但是無奈良機已逝,Java在大規(guī)模系統(tǒng)的開發(fā)中已經(jīng)站穩(wěn)了腳跟。

3. 開源才是天下大勢

2016年,微軟在GitHub“對開源貢獻人數(shù)最多的組織(Organizations with the most open source contributors)”中戰(zhàn)勝Facebook和Google躍居首位,贏得了業(yè)界和開源社區(qū)的認可。至此,人們好像就把微軟和開源聯(lián)系起來了。

事實上,早幾年微軟一直是開源的死敵,微軟前CEO史蒂夫·鮑爾默(Steve Ballmer),他當初曾將“開源”稱作微軟知識產(chǎn)權毒瘤。C#在微軟這樣的指導思想下發(fā)展,一開始的閉源也是意料之中的事情。而Java因為開源特性而得以在全球快速遍地開花,產(chǎn)生了眾多開源框架和很多大型項目的成功案例。雖然C#之后也進行了開源,但是對于開源開發(fā)者來說顯然吸引力不夠!

4. 錢太少,錢太少,錢太少,重要的事情說三遍

“Java程序員比C#程序員工資高”這是大家都公認的行業(yè)現(xiàn)實。下圖是職友集采集了其上北京C#程序員和Java程序員的工資收入水平樣本得出的結論,從圖中我們也可以明顯感覺到Java程序員的收入較于C#要偏高。

為什么會出現(xiàn)這種情況呢?前文說過了Java有很多開源框架,這時如何準確及時的選擇一個框架就成了難題,Java編程的門檻提高了,Java程序員的薪金也就高了。而C#由于很多框架都是“認證過的產(chǎn)品”,產(chǎn)品具備很濃重的微軟屬性,使用簡單、快速開發(fā),對于C#程序員的要求相對較低,薪資自然就低了。除此之外,還有一部分歷史原因,Java要比C#的歷史更加深厚,選擇Java開發(fā)的廠商自然也多,市場需求也就很大。

“錢、人和開發(fā)”三者的關系似乎是一個死循環(huán),錢越少,開發(fā)的程序員也會變少,企業(yè)想要使用這門技術開發(fā)應用,招聘的難度也會變大,反之亦然!

5. 無法避免的生態(tài)問題

生態(tài)問題是每次比較Java和C#之間的差別都會被人提及的,不可否認的是Java生態(tài)要比C#生態(tài)強得多。Java有各種現(xiàn)成的庫、框架和架構案例,在跨平臺的系統(tǒng)方面也有很多的優(yōu)勢。資料管理軟體開發(fā)公司 Hazelcast 的行銷與開發(fā)商關系副總裁Miko Matsumura 曾表示,現(xiàn)在有相當大規(guī)模的開放源代碼計劃是以 Java 來編寫。對于一開始就以開放為基礎的 Java 而言,它們已經(jīng)建立了規(guī)模龐大的使用社群、源代碼自由性以及組成之多樣性。而C#在開放源代碼的族群支持上仍是有很 長的一段路要走,畢竟,Java 早在八年前就已經(jīng)開放源代碼了!

寫在***

在多個地方,筆者都曾聽到過程序員抱怨過“C#的工資太低了”、“要轉(zhuǎn)行做Java”……就技術和語言舒適度來說,兩者其實不相上下,任何一種語言的優(yōu)勢或者劣勢都必須在實際的應用案例中才能體現(xiàn)出來,所以在選擇時還是要結合實際場景的!

責任編輯:趙寧寧 來源: IT168
相關推薦

2013-07-17 10:13:54

X86低功耗芯片

2017-02-27 15:19:04

2012-04-11 21:59:54

2012-05-24 14:34:33

2020-06-10 09:06:48

MongoDB架構高可用

2016-09-27 21:25:08

Go語言Ken Thompso

2017-02-27 15:43:14

iOSObject-CJava

2018-12-21 11:26:49

MySQLMongoDB數(shù)據(jù)庫

2021-08-23 13:25:25

Vue3CSS前端

2021-01-20 14:25:53

Vue3CSS前端

2024-02-05 21:48:25

VueReactHooks

2013-07-10 09:58:14

編碼規(guī)范

2019-06-21 17:02:48

華為操作系統(tǒng)開發(fā)

2023-01-05 23:12:30

運營開發(fā)技術

2013-07-10 10:07:51

編碼規(guī)范編碼

2011-11-28 10:21:52

Nginx特性

2022-06-14 11:01:48

SpringBootTomcatUndertow

2020-02-13 17:49:55

SpringBoot放棄選擇

2016-11-18 18:04:33

蘋果AR技術

2020-05-09 11:40:54

PythonGo語言
點贊
收藏

51CTO技術棧公眾號