Stack Overflow : 55.9%的Java程序員想“拋棄”Java
著名網(wǎng)站StackOverflow每年都會搞一個開發(fā)人員的調(diào)查,今年有65000名全世界的程序員參與,他們來自于這些地方
美國和印度的圈圈都很大,加拿大,西歐等國,巴西的圈圈也不小, 中國的圓圈就有點兒出乎意料地小了,還沒有伊朗,土耳其,巴基斯坦等國家大,我猜可能是語言和墻的原因吧。
調(diào)查中有幾項非常有趣:分別是你最喜歡的編程語言,最懼怕的編程語言,最想學的編程語言。程序員們通過投票表達了自己的態(tài)度。
這是最喜歡的編程語言Top 10 ,注意這里百分比的含義是:在使用某種語言的程序員中有百分之幾的人想繼續(xù)學習這門語言
讓我大跌眼鏡的是Rust程序員中有高達86%的人都想繼續(xù)學習下去,這門語言的魅力有這么大嗎?我之前寫過一篇文章《自從我學了Rust,就開始了受虐之旅,連編譯都沒成功過!》 來說明這門語言嚴苛的語法。
不過Rust有自己的獨特優(yōu)勢:
1. 非常快
2. Runtime 很小(虛擬機就是一個巨大無比的Runtime)
3. 能直接訪問內(nèi)存,并且內(nèi)存安全。
C和C++滿足1和2,但是內(nèi)存不安全;Java, Python,Ruby 除了內(nèi)存安全之外,別的都不滿足,只適合應用層編程。
Rust這三點都滿足,解決了系統(tǒng)級編程的核心問題,雖然說有些概念比較古怪,但從調(diào)查看還是受到了程序員的青睞,想繼續(xù)學習和使用。
TypeScript和Python非常接近,排名第二和第三,可以理解。一個是靜態(tài)的JavaScript, 對于像我這樣的Java程序員極有吸引力。另外一個用來寫點兒小程序非常方便,深入鉆研一下非常值得。
再來看看最懼怕的編程語言Top 10 :在使用某種語言的程序員中有百分之幾的人不想學它了!
VBA高居榜首,Objective-C 以76.6%排行第二,是因為大家想轉(zhuǎn)到Swift嗎?Perl , PHP, C++ 等被人吐槽很多的語言赫然在列,這并不意外。
但是Java和Ruby居然也進入了前十,一個排名第7 ,一個排名第9。
居然有55.9%的Java程序員想"拋棄"Java。
這是怎么回事?Java不是在TIOBE 編程語言排行榜上經(jīng)常排名第一嗎?
Java 有著龐大豐富的生態(tài),開源框架和工具多如牛毛,世界上無數(shù)的系統(tǒng)是由Java開發(fā)的,再加上強悍的JVM ,雖然語法啰嗦,但是Java在保持兼容性的同時一直在進步,怎么淪落到一半人都嫌棄的地步?
O'Reilly的Mike Loukides在一篇文章中總結了幾個可能的原因:
Java的使用者眾多,總會出現(xiàn)相當一部分人不喜歡它,正如C++之
父Bjarne Stroustrup所說:世界上有兩種編程語言,一種是被人吐槽的,一種是沒人用的。
圍繞Java出現(xiàn)了很多壞習慣,例如長名稱ClassWithAReallyLongNameBecauseThatsHowWeDoIt, 例如濫用設計模式FactoryFactoryFactory, 這樣的代碼讓人生厭。
Java已經(jīng)20多歲了,并且自詡為企業(yè)級應用的開發(fā)語言,Java程序員會面對更多的大型程序,這些程序都是處于維護狀態(tài)的遺留代碼,用的是老技術、老框架,程序又寫得很爛。文檔很少,或者干脆沒有文檔,每次看到這樣的屎山代碼都想吐,可還得捂著鼻子在其中穿行,你說整天干這樣的活,你還想去深入研究嗎?
有57.1%的Ruby程序員嫌棄Ruby
在我的印象當中,用過Ruby開發(fā)過程序的基本上都會愛上它。
簡潔,優(yōu)雅,利用強悍的元編程能力,能寫出簡潔得讓人驚嘆的代碼。大家不再有興趣學習它,是時代把它拋下了。
Ruby是隨著Ruby on Rails(RoR)火熱起來的, RoR是編寫Web2.0程序的一件神器,可以說是Web變成的DSL。
可是現(xiàn)在早已經(jīng)進入移動互聯(lián)網(wǎng)時代,移動端就是iOS和Android,后端需要更好的性能,更強的擴展機制,Ruby的表現(xiàn)就不理想了。所以現(xiàn)在很多后端開發(fā)會采用Go 語言,Node.js。
當然Ruby也在進化,例如Elixir,也是之前Ruby社區(qū)的人開發(fā),希望用Ruby的風格,寫Erlang的代碼,然后運行在Erlang VM上,達到高性能。這是個非常漂亮的組合, 只是它生不逢時,競爭者眾多,難以像RoR那樣產(chǎn)生革命的影響,從而一炮走紅了。
這篇文章主要是從我個人感受的角度來解讀調(diào)查結果,Stackoverflow還有更多的調(diào)查,比如最受歡迎的框架,開發(fā)人員的年齡等。 感興趣的可以去Stackoverflow查看更多:
??https://insights.stackoverflow.com/survey/2020??
【本文為51CTO專欄作者“劉欣”的原創(chuàng)稿件,轉(zhuǎn)載請通過作者微信公眾號coderising獲取授權】