整理 | 夕顏
責(zé)編 | 唐小引
出品 | CSDN(ID:CSDNnews)
要問全世界最牛的程序員來自哪里,不少人肯定想都不想就會脫口而出是美國。然而,事實上真是這樣嗎?
答案并非絕對,但中國程序員絕對在全球都有著非比尋常的名聲。這是一群愛學(xué)習(xí)、肯鉆研、想法多,雖然很多人拿著比不上國外的工資,卻扛得起最重的任務(wù),熬得起最晚的夜。在各種編程挑戰(zhàn)賽中,中國程序員往往獨當(dāng)一面,顯露出獨特的才華,在數(shù)學(xué)、功能程序設(shè)計和數(shù)據(jù)結(jié)構(gòu)方面超過世界其他國家,綜合素質(zhì)沒的說。
雖然優(yōu)秀,但中國程序員群體和全球其他國家程序員一起,也在經(jīng)歷著由AI、5G等新興技術(shù)帶來的新挑戰(zhàn),不斷更新著自己的知識庫,在日益增長的程序員同胞們中間殺出一條血路,以避免在激烈的競爭中被淘汰。
2019 年-2020 年,中國的開發(fā)者過著怎樣的生活?他們最關(guān)心的技術(shù)正在經(jīng)歷著怎樣的變遷?CSDN 針對軟件開發(fā)技術(shù)、應(yīng)用開發(fā)領(lǐng)域等方面對問卷進(jìn)行了重新設(shè)計后,出爐了《2019-2020中國開發(fā)者調(diào)查報告》。CSDN 最早從 2004 年開始針對中國開發(fā)者進(jìn)行大規(guī)模調(diào)查,是迄今為止覆蓋國內(nèi)各類開發(fā)者人群數(shù)量最多,輻射地域、行業(yè)分布最廣的調(diào)查活動。
本文將對報告中關(guān)于開發(fā)者現(xiàn)狀和開源技術(shù)應(yīng)用現(xiàn)狀這兩部分進(jìn)行詳細(xì)解讀,其中包括開發(fā)人員軟件開發(fā)工具使用特點分析,開源技術(shù)應(yīng)用現(xiàn)狀和開發(fā)狀況,希望能為中國開發(fā)者做一次最新的畫像,為正在開發(fā)者之路上下求索的技術(shù)人有積極的參考價值。
首先,我們總結(jié)一下報告中關(guān)于開發(fā)者現(xiàn)狀和開源技術(shù)應(yīng)用現(xiàn)狀中的幾個重要發(fā)現(xiàn):
-
操作系統(tǒng):七成以上開發(fā)者在用Windows,83%在用MySQL數(shù)據(jù)庫
- 編程語言:Java長盛,使用最多,最想學(xué)
技術(shù)平臺:Windows遠(yuǎn)超Linux
框架:Spring、Vue.js為較受歡迎Web框架,Node.js是使用普遍的技術(shù)框架
開發(fā)環(huán)境:Visual Studio使用最普遍,Arm架構(gòu)多核分布式優(yōu)勢吸引開發(fā)者
將近七成接觸開源2-5年時間
七成多開發(fā)者投入開源時間少于5小時,六成開源項目無收入
Apache為最受歡迎開源項目
中國開發(fā)者的軟件開發(fā)工具使用有以下幾個特點:
編程語言:Java長盛,使用最多,最想學(xué)
根據(jù)報告顯示,開發(fā)者使用的軟件開發(fā)工具中,其中Java、 Javascript和SQL成為開發(fā)者最多使用的編程語言,三者的占比依次分別為60%、42%和39%。雖然技術(shù)圈中不斷有新的語言成為討論的焦點,但多數(shù)又被“后浪推前浪”,淹沒在浩渺的新技術(shù)中,而Java雖不再出現(xiàn)在各大雜志和文章的封面圖上,但由于簡單、易用等特點,在競爭中巋然不動,長盛不衰。緊隨SQL之后的還有C(22%)和Python這兩個熱度不減的編程語言。
開發(fā)者最想學(xué)的三種語言是Java、Python、 Javascript,而使用最多排在第三的SQL,卻在最想學(xué)排行榜中位列第四,被炒得火熱的Python替代。
操作系統(tǒng):七成以上開發(fā)者用Windows,83%用MySQL數(shù)據(jù)庫
在操作系統(tǒng)方面,72%的開發(fā)者在使用Windows,18%在使用Linux操作系統(tǒng),只有9%的開發(fā)者在使用macOS,其他操作系統(tǒng)占據(jù)剩下的1%。
另外,被開發(fā)者使用最多,排名Top 3的數(shù)據(jù)庫為MySQL、Oracle和Redis,其中83%的開發(fā)者在使用MySQL數(shù)據(jù)庫,34%的在使用Oracle數(shù)據(jù)庫,28%的開發(fā)者在使用Redis。其后使用較多的數(shù)據(jù)庫還有被技術(shù)圈熱烈討論的Microsoft SQL Server、MongoDB、Elasticsearch、Hive等。
技術(shù)平臺:Windows遠(yuǎn)超Linux
Windows技術(shù)平臺是開發(fā)者目前普遍在使用的平臺,有67%的開發(fā)者在使用。46%的開發(fā)者也希望使用Windows技術(shù)平臺。
繼Windows之后,開發(fā)者使用的第二大技術(shù)平臺是Linux,有50%的開發(fā)者在使用??赡芘c大眾印象可能有所相悖的是,除Windows之外,Linux越來成為更多開發(fā)者的選擇,這也許和Linux以開發(fā)者為中心的設(shè)計有關(guān),很多人表示在使用過Linux再回過頭來使用Windows會有諸多不適應(yīng)的地方,習(xí)慣之后會發(fā)現(xiàn),相比之下,Linux具有很多優(yōu)點,比如它的開源性、安全性高,漏洞修補(bǔ)快速、軟件支持豐富、多任務(wù),多用戶、相對較少的資源占用等。
而后為Android(20%)、Docker(12%)、macOS、iOS,Kubernetes也有3%的人在使用。
雖然Linux的一些優(yōu)勢被開發(fā)者認(rèn)可,但目前來看,在開發(fā)者希望使用的技術(shù)平臺中,拔得頭籌的依然是使用最為廣泛的Windows操作系統(tǒng),Linux排在Top 2 的Docker之后,位列第三,其后為Android和macOS等。
框架:Spring、Vue.js最受歡迎,Node.js使用最普遍
Spring是最受歡迎的Web框架,有38%的開發(fā)者在使用;最受歡迎Web開發(fā)框架Top 2為Vue.js,有32%的開發(fā)者在使用,兩者遙遙領(lǐng)先。在開發(fā)者最希望使用的框架中,Spring和Vue.js也是一對勁敵,只不過排名反過來,有46%的開發(fā)者希望使用Vue.js,34%的開發(fā)者希望使用Spring。
Vue.js是一個輕巧、高性能、可組件化的MVVM庫,由Google 前工程師尤雨溪于2014 年創(chuàng)建。它是 Javascript 家族中最年輕的成員,僅僅推出五年。雖然缺少頂級公司的支持,但是這個框架同時擁有非常容易上手的API,響應(yīng)式編程、組件化的特點也給它帶來很多優(yōu)勢,如輕量級框架、簡單易學(xué)、雙向數(shù)據(jù)綁定、組件化、數(shù)據(jù)和結(jié)構(gòu)的分離、虛擬DOM、運行速度快。加上Vue是單頁面應(yīng)用,使頁面局部刷新,不用每次跳轉(zhuǎn)頁面都要請求所有數(shù)據(jù)和dom,這樣大大加快了訪問速度和提升用戶體驗,而且他的第三方UI庫很多節(jié)省開發(fā)時間,這使得它迅速成為開發(fā)者最受歡迎的開發(fā)框架之一,得到了社區(qū)的支持,與自推出以來就受到歡迎的React、Spring之間的差距逐漸縮小。
緊隨其后的是jQuery,但占比數(shù)與前兩者差距較大,僅有14%,其后的ASP.NET、React.JS等占比比較均勻,均在2%-6%之間。
在使用普遍的技術(shù)框架中,Node.js遙遙領(lǐng)先,有28%的開發(fā)者正在使用,且有26%的開發(fā)者希望使用這個框架。
另外還有13%的開發(fā)者正在使用.NET框架,以及Hadoop(8%)、TensorFlow(7%)、Apache Spark、React Native等。開發(fā)者最希望使用的技術(shù)框架和正在使用的技術(shù)框架大概一致,只是占比略有偏差。
開發(fā)環(huán)境:Visual Studio使用最普遍
在開發(fā)環(huán)境方面,Visual Studio是最為普遍使用的開發(fā)環(huán)境。
在容器技術(shù)應(yīng)用方面,34%的開發(fā)者用容器進(jìn)行開發(fā),33%的開發(fā)者不使用容器技術(shù)。開發(fā)者基于云 上/瀏覽器IDE進(jìn)行軟件開發(fā)的三要素,最普遍的是啟動速度快,操作便利性和桌面版IDE可以媲美。
在使用國產(chǎn)新架構(gòu)平臺(如國產(chǎn)AI芯片、Arm服務(wù)器芯片等)進(jìn)行開發(fā)時,如果常用的軟件棧/開源組件/基礎(chǔ)庫/加速庫缺乏對應(yīng)的適配,28%的開發(fā)者會選擇與廠家聯(lián)合開發(fā)相應(yīng)適配。
對比與Arm架構(gòu)的CPU和x86系列的CPU,選擇Arm架構(gòu)的最核心原因方面,30%的開發(fā)者認(rèn)為是Arm架構(gòu)具備多核分布式優(yōu)勢。
41%開發(fā)者認(rèn)為當(dāng)下自主可控硬件及軟件生態(tài)的主要問題是缺乏開源社區(qū)的足夠支持,許多軟件基礎(chǔ)設(shè)施缺乏適配。
除此之外,開發(fā)工具不完善,開發(fā)、遷移、調(diào)優(yōu)困難;開發(fā)資料及文檔匱乏,缺乏足夠的代碼實例和模板也是當(dāng)下自主可控硬件及軟件生態(tài)的主要問題之一。
開發(fā)者與開源的關(guān)系就像魚與水,開發(fā)者離不開水,而開源也因為開發(fā)者而成為一汪活水。
在開源技術(shù)應(yīng)用和開發(fā)上,中國開發(fā)者也有著獨特的特點。
開源技術(shù)應(yīng)用狀況
-
將近七成接觸開源2-5年時間
68%的開發(fā)者接觸開源的時間在2-5年,其中3-5年的占比是36%,1-2年占比為32%,接觸開源10年以上的開發(fā)者少之又少,占比僅有5%。
- 首次接觸開源產(chǎn)品以開發(fā)工具及框架為主
42%的開發(fā)者首次接觸的開源產(chǎn)品是開發(fā)工具及框架,28%開發(fā)者首次接觸的是互聯(lián)網(wǎng)產(chǎn)品,其他首次接觸的開源產(chǎn)品還包括基于桌面的應(yīng)用軟件、操作系統(tǒng)相關(guān)產(chǎn)品和中間件產(chǎn)品等。
- 七成多開發(fā)者投入開源時間少于5小時
77%開發(fā)者每周在開源上投入時間不超過5小時,其中,在開源上投入時間1-5小時的人占比46%,1小時以內(nèi)的占比31%,投入21-30小時的人鳳毛麟角,僅有1%。可以看出,中國開發(fā)者在開源方面還有很大的進(jìn)步空間。
開源技術(shù)開發(fā)狀況
中國開發(fā)者的開源技術(shù)開發(fā)狀況,卻不如開源應(yīng)用那般良好。
- 六成開源項目無收入
有趣的是,調(diào)查報告顯示,中國開發(fā)者從開源這件事上并沒有獲得很直接的利益和收入,65%開發(fā)者表示不曾在開源上獲得收入,在開源上獲得不錯收入的僅占10%。
- 很少參與開源項目
53%開發(fā)者表示很少參與開源項目,但企業(yè)不支付工資,純粹靠熱愛“發(fā)電”的志愿投入也不少,占比達(dá)到22%,而公司讓全職參與的僅占8%。
- Apache最受歡迎
開發(fā)者最喜歡的開源項目是Apache,25%開發(fā)者最喜歡Apache,Linux以24%“惜敗”Apache,但差距已經(jīng)很小了。另外,Vue.js、MySQL、Docker、TensorFlow等也是開發(fā)者最愛的開源項目。
正如顧問華為云高級產(chǎn)品經(jīng)理 開源社理事、執(zhí)行長莊表偉在點評中所說,無論是大數(shù)據(jù)、區(qū)塊鏈、人工智能還是物聯(lián)網(wǎng)領(lǐng)域,其中最為重要的、最受歡迎的技術(shù),都是開源的。他猜測,國內(nèi)開發(fā)者幾乎100%都在使用一種或以上開源技術(shù),但報告顯示,有超過一半以上的開發(fā)者很少參與開源項目,這種開源狀況實在是令人遺憾。他認(rèn)為,雖然近年來已經(jīng)有很大的發(fā)展,但是依然遠(yuǎn)遠(yuǎn)不夠,只能呼吁有志諸君,繼續(xù)努力了!
版權(quán)聲明:《2019 – 2020 中國開發(fā)者調(diào)查報告》版權(quán)屬于 CSDN,轉(zhuǎn)載、摘編或利用其他方式使用本調(diào)查報告文字或觀點應(yīng)注明來源。
版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點僅代表作者本人。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至 舉報,一經(jīng)查實,本站將立刻刪除。