百萬開發(fā)者調(diào)查告訴你:程序員最討厭什么編程語言?
近日,全球著名的 IT 網(wǎng)站 Stack Overflow 根據(jù)數(shù)百萬開發(fā)者項(xiàng)目標(biāo)簽的使用頻率,發(fā)布了一份編程語言的調(diào)查報(bào)告,試圖找出最不受歡迎的編程語言。沒想到開發(fā)者最想規(guī)避的編程語言中,PHP、Objective-C 和 Ruby 等語言紛紛上榜。
說好的 PHP 是世界上最好的語言的呢?
前段時(shí)間,小編分享了GitHub2017年度報(bào)告,了解到當(dāng)下最流行的編程語言,那你知曉開發(fā)者中最不受歡迎的編程語言嗎?
開發(fā)者最討厭的編程語言
01最不受歡迎的編程語言
在 Stack Overflow 上,開發(fā)者可以創(chuàng)建屬于自己的“Developer Story”,用來記錄項(xiàng)目開發(fā)、獲得的成就等個(gè)人開發(fā)經(jīng)驗(yàn),相當(dāng)于簡(jiǎn)歷,待發(fā)布之后也可以提升職場(chǎng)機(jī)遇。
在創(chuàng)建“Developer Story”時(shí),可以添加喜歡或者不喜歡的語言標(biāo)簽,而本調(diào)查報(bào)告的數(shù)據(jù)來源正是基于此。
將該數(shù)據(jù)作為衡量標(biāo)準(zhǔn),并以特定的編程語言列表(并非是像 Android 這樣的平臺(tái)或是 JQuery 這樣的庫(kù))進(jìn)行篩選。
Stack Overflow 使用 Bayes 方法來預(yù)估這些平均值,最終發(fā)現(xiàn)開發(fā)者中最不受歡迎的語言前三名分別為 Perl、Delphi 和 VBA,緊隨其后的是 PHP、Objective-C、Coffeescript 和 Ruby。
如果此前看過有關(guān) Stack Overflow 的編程語言報(bào)告,就會(huì)發(fā)現(xiàn),那些很少被標(biāo)記為不受歡迎的編程語言往往就是使用率快速增長(zhǎng)的語言。比如 R、Python、Typescript、Go 和 Rust 等語言增長(zhǎng)率都比較高。
下面我們可以通過比較每種語言的增長(zhǎng)與標(biāo)記“dislike”的百分比進(jìn)行驗(yàn)證,橙色點(diǎn)表示最不受歡迎的語言。以下我們將統(tǒng)計(jì)數(shù)據(jù)限制在發(fā)達(dá)國(guó)家(如美國(guó)、英國(guó)、德國(guó)和加拿大)。
總體而言,語言的增長(zhǎng)率與開發(fā)者“dislike”的頻率之間有一種關(guān)系。被標(biāo)記為“dislike”標(biāo)簽的編程語言占比在 3% 以上的,使用率越來越少,而最少被標(biāo)記為“dislike”的 R、Rust、Typescript 和 Kotlin 語言使用率都在快速上升。
02那些開發(fā)者喜歡及不待見的技術(shù)
上述分析僅考慮編程語言,而不是操作系統(tǒng)、平臺(tái)或庫(kù)。那什么是開發(fā)者最不喜歡的技術(shù)?
據(jù)調(diào)查報(bào)告顯示,普遍喜歡的技術(shù)則包括:機(jī)器學(xué)習(xí)、Git、Python 3.x、HTML5 和 CSS3 。
開發(fā)者最不喜歡的技術(shù)包括 Internet Explorer、Visual Basic、Flash、COBOL、Fortran 和 Pascal 。
值得強(qiáng)調(diào)的是,以上并非是對(duì)某一語言的歧視,而僅僅是衡量哪些技術(shù)在至少一部分開發(fā)人員的使用過程中,是讓他們感覺到舒服還是負(fù)面的。
03獨(dú)立的標(biāo)簽網(wǎng)絡(luò)
我們可以將所有這些標(biāo)簽組合成一個(gè)故事,將其組織成一個(gè)網(wǎng)絡(luò)。在最近的一篇文章中,Julia Silge 展示了如何構(gòu)建一個(gè)技術(shù)網(wǎng)絡(luò)來代表整個(gè)軟件生態(tài)系統(tǒng)。
如果我們根據(jù)每個(gè)“dislike”標(biāo)簽的對(duì)節(jié)點(diǎn)進(jìn)行著色,我們可以了解生態(tài)系統(tǒng)的哪些部分比其他標(biāo)簽更具爭(zhēng)議性。
通過將“Developer Story”標(biāo)簽放在子生態(tài)系統(tǒng)中,我們發(fā)現(xiàn)有獨(dú)立的子系統(tǒng)的集群:微軟(以C # 和 .Net 為中心)、PHP(WordPress 和 Drupal 環(huán)繞),和移動(dòng)開發(fā)(特別是 Objective-C)。
操作系統(tǒng)的集群內(nèi)(右下),我們可以看到,系統(tǒng)如 OSX 和 Windows 被標(biāo)記為“dislike”,但標(biāo)簽如 Linux、Ubuntu 和 Unix 卻并非如此。
04技術(shù)型的競(jìng)爭(zhēng)之路
有意思的是,數(shù)據(jù)還體現(xiàn)了行業(yè)中存在的技術(shù)型競(jìng)爭(zhēng)關(guān)系,像是 Linux 、OSX vs Windows,Git vs SVN,vim vs emacs ,React vs Angular 等。開發(fā)人員通常不愿意使用他們認(rèn)為過時(shí)的東西,建議用更現(xiàn)代的技術(shù)來取代。
以上并不表示直接的因果關(guān)系,標(biāo)簽不被程序員使用,導(dǎo)致它們被放棄。一種可能性是,如果人們感覺到語言已經(jīng)越來越受歡迎,就會(huì)很樂意公開表達(dá)自己的喜歡與不喜歡;另一種原因就是與時(shí)俱進(jìn),以新的更新替換舊而復(fù)雜的編程語言。
Python 成為數(shù)據(jù)科學(xué)家首選語言
數(shù)據(jù)平臺(tái) Kaggle 近日發(fā)布了 2017 機(jī)器學(xué)習(xí)及數(shù)據(jù)科學(xué)調(diào)查報(bào)告,這也是 Kaggle 首次進(jìn)行全行業(yè)調(diào)查。
該調(diào)查收集了1.6萬多問卷,問卷內(nèi)容包括在機(jī)器學(xué)習(xí)行業(yè)中最火的編程語言,以及如何更好的入門數(shù)據(jù)開發(fā)等。
下面就是其中一部分調(diào)查結(jié)果,如:
- Python 是最常用的工具, R 語言用戶的忠誠(chéng)度更高。
- 數(shù)據(jù)科學(xué)家的年齡平均在30歲左右,但這種平均年齡在不同國(guó)家之間有所不同。例如,來自印度的平均受訪者年齡比澳大利亞的平均受訪者年齡年輕9歲。
- 獲得了碩士學(xué)位的受訪者占比最多,但那些收入超過 150K + 的,大部分獲得博士學(xué)位。
以下就是 Kaggle 報(bào)告內(nèi)容:
01年齡
本次調(diào)查對(duì)象的平均年齡在 30 歲左右。當(dāng)然,不同國(guó)家之間的數(shù)值會(huì)有所不同。例如,日本的機(jī)器學(xué)習(xí)從業(yè)者的年齡中位數(shù)為 33 歲。
全球全職工作者占比為 65.7%,中國(guó)為 53%, 其中,白俄羅斯的占比最高,全職工作者占比達(dá)到 75.5%。
02學(xué)歷
正常情況下,在數(shù)據(jù)科學(xué)工作中,獲得碩士學(xué)位的人數(shù)比例最高。但那些收入高于 150K+ 的人大部分取得博士學(xué)位。擁有碩士學(xué)位的開發(fā)者,年薪約 5.5 萬美元。
03全職薪資(年薪)
盡管在調(diào)查中發(fā)現(xiàn),對(duì)于受訪者來說,“薪酬福利”的重要性不及“專業(yè)發(fā)展的機(jī)會(huì)”,但如果能了解到自己行業(yè)中的普遍薪資情況也是不錯(cuò)的。調(diào)查發(fā)現(xiàn),在美國(guó),機(jī)器學(xué)習(xí)工程師的薪資是最高的。
在全球范圍內(nèi),機(jī)器學(xué)習(xí)工程師的薪資中位數(shù)是 55,441 美元,不過由于很多人沒有全職工作(收入為 0),所以這一數(shù)值還是存在一定誤差。
04最常使用的數(shù)據(jù)科學(xué)方法
Logistic 回歸是除了軍事和國(guó)安領(lǐng)域外,最常用的數(shù)據(jù)科學(xué)研究方法。它在軍事和國(guó)防安全領(lǐng)域以及神經(jīng)網(wǎng)絡(luò)領(lǐng)域使用更為廣泛。
05工作中最常使用什么工具?
Python 是數(shù)據(jù)科學(xué)家們最常用的語言,不過仍然有很大一部分?jǐn)?shù)據(jù)科學(xué)家忠誠(chéng)于 R 語言。
06最常使用的數(shù)據(jù)類型
關(guān)系型數(shù)據(jù)是開發(fā)者在工作中最常用的數(shù)據(jù)類型,因?yàn)榇蠖鄶?shù)產(chǎn)業(yè)工程師都較青睞關(guān)系型數(shù)據(jù)。而學(xué)術(shù)研究者和國(guó)防安全產(chǎn)業(yè)則更青睞于文本和圖像。
Dirty Data (臟數(shù)據(jù))是從業(yè)者遇到的最大障礙。數(shù)據(jù)科學(xué)家一般最常見的困擾就是需要對(duì)數(shù)據(jù)進(jìn)行大量的預(yù)處理工程。理解不同算法的能力不足也是困擾數(shù)據(jù)工作者的一大障礙。此外,缺乏一定有效管理和資金支持也是面臨的兩大外在困境。
Git 是他們最常用的代碼共享和托管方式 ,占比有 58.4%。但大公司的開發(fā)者更傾向于將代碼保留在本地,通過電子郵件的方式來共享代碼。而初創(chuàng)公司為了追求便捷可能更青睞于云共享。
當(dāng)你進(jìn)入一個(gè)新的職業(yè)生涯時(shí),了解別人成功的秘訣可以讓你少走很多彎路。以下是數(shù)據(jù)科學(xué)行業(yè)的前輩給出的幾條最有用的建議,希望對(duì)想要進(jìn)入這個(gè)行業(yè)的人有一定幫助:
07入門數(shù)據(jù)科學(xué)最推薦先學(xué)哪門語言?
每個(gè)數(shù)據(jù)科學(xué)家都堅(jiān)信自己選擇的語言是正確的。比如完全使用 Python 或 R 的人,他們分別最先推薦學(xué)習(xí)的語言分別為 Python 和 R。但是,同時(shí)使用 R 和Python的人中,推薦使用 Python 的人數(shù)是推薦學(xué)習(xí) R 語言的兩倍。
08數(shù)據(jù)科學(xué)學(xué)習(xí)平臺(tái)
數(shù)據(jù)科學(xué)是個(gè)變化極快的領(lǐng)域,業(yè)內(nèi)人員需要不斷更新知識(shí)體系,才可以在業(yè)內(nèi)保持一定地位,不被時(shí)代淘汰。Stack Overflow Q&A、Conferences 和 Podcasts 是已從業(yè)者經(jīng)常使用的學(xué)習(xí)平臺(tái)。
09開源數(shù)據(jù)獲取平臺(tái)
沒有數(shù)據(jù)就沒有數(shù)據(jù)科學(xué)。當(dāng)談到學(xué)習(xí)數(shù)據(jù)科學(xué)時(shí),知道如何找到開放數(shù)據(jù)集用于實(shí)踐項(xiàng)目是相當(dāng)重要的。dataset aggregators 正發(fā)展為數(shù)據(jù)科學(xué)社區(qū)成員中最頻繁使用的工具,排行第二的是谷歌搜索。
說到找工作,更多的人可能是到指定技術(shù)方向的招聘網(wǎng)站上找,但是根據(jù)多年數(shù)據(jù)科學(xué)領(lǐng)域工作經(jīng)驗(yàn)的前輩們,直接聯(lián)系招聘者或通過自己的人際圈進(jìn)入這個(gè)領(lǐng)域才是他們的首選。(注意:該報(bào)告包含多個(gè)國(guó)家的數(shù)據(jù),可能存在收集不夠全面的情況,僅供參考。)
Python 的 14 張思維導(dǎo)圖
最后給大家分享 Python 的 14 張思維導(dǎo)圖(微信后臺(tái)回復(fù)關(guān)鍵詞“Python”下載),結(jié)合這些思維導(dǎo)圖主要參考的資料,分享一下大神們的學(xué)習(xí)體驗(yàn),一方面可供初學(xué)者參考,另一方面,也便于大家結(jié)合思維導(dǎo)圖深入學(xué)習(xí)、理解、思考。
01總覽
02基礎(chǔ)知識(shí)
03數(shù)據(jù)類型
04序列
05字符串
06列表 & 元組
07字典 & 集合
08條件 & 循環(huán)
09文件對(duì)象

10錯(cuò)誤 & 異常
11函數(shù)
12模塊
13面向?qū)ο缶幊?/strong>
微信后臺(tái)回復(fù)關(guān)鍵詞“Python”下載 14 張思維導(dǎo)圖
Stack Overflow調(diào)查報(bào)告:https://stackoverflow.blog/2017/10/31/disliked-programming-languages/
2017 機(jī)器學(xué)習(xí)調(diào)查報(bào)告:https://www.kaggle.com/surveys/2017