全球著名的 IT 網站 Stack Overflow 根據數百萬開發者項目標籤的使用頻率,發佈了一份編程語言的調查報告,試圖找出最不受歡迎的編程語言。沒想到開發者最想規避的編程語言中,PHP、Objective-C 和 Ruby 等語言紛紛上榜。

程序員爲什麼討厭這些語言

說好的 PHP 是世界上最好的語言的呢?

你知曉開發者中最不受歡迎的編程語言嗎?

開發者最討厭的編程語言

01最不受歡迎的編程語言

在 Stack Overflow 上,開發者可以創建屬於自己的“Developer Story”,用來記錄項目開發、獲得的成就等個人開發經驗,相當於簡歷,待發布之後也可以提升職場機遇。

在創建“Developer Story”時,可以添加喜歡或者不喜歡的語言標籤,而本調查報告的數據來源正是基於此。

程序員爲什麼討厭這些語言

將該數據作爲衡量標準,並以特定的編程語言列表(並非是像 Android 這樣的平臺或是 JQuery 這樣的庫)進行篩選。

Stack Overflow 使用 Bayes 方法來預估這些平均值,最終發現開發者中最不受歡迎的語言前三名分別爲 Perl、Delphi 和 VBA,緊隨其後的是 PHP、Objective-C、Coffee 和 Ruby。

程序員爲什麼討厭這些語言

如果此前看過有關 Stack Overflow 的編程語言報告,就會發現,那些很少被標記爲不受歡迎的編程語言往往就是使用率快速增長的語言。比如 R、Python、Type、Go 和 Rust 等語言增長率都比較高。

下面我們可以通過比較每種語言的增長與標記“dislike”的百分比進行驗證,橙色點表示最不受歡迎的語言。以下我們將統計數據限制在發達國家(如美國、英國、德國和加拿大)。

程序員爲什麼討厭這些語言

總體而言,語言的增長率與開發者“dislike”的頻率之間有一種關係。被標記爲“dislike”標籤的編程語言佔比在 3% 以上的,使用率越來越少,而最少被標記爲“dislike”的 R、Rust、Type 和 Kotlin 語言使用率都在快速上升。

02那些開發者喜歡及不待見的技術

上述分析僅考慮編程語言,而不是操作系統、平臺或庫。那什麼是開發者最不喜歡的技術?

據調查報告顯示,普遍喜歡的技術則包括:機器學習、Git、Python 3.x、HTML5 和 CSS3 。

程序員爲什麼討厭這些語言

開發者最不喜歡的技術包括 Internet Explorer、Visual Basic、Flash、COBOL、Fortran 和 Pascal 。

程序員爲什麼討厭這些語言

值得強調的是,以上並非是對某一語言的歧視,而僅僅是衡量哪些技術在至少一部分開發人員的使用過程中,是讓他們感覺到舒服還是負面的。

03獨立的標籤網絡

我們可以將所有這些標籤組合成一個故事,將其組織成一個網絡。在最近的一篇文章中,Julia Silge 展示瞭如何構建一個技術網絡來代表整個軟件生態系統。

如果我們根據每個“dislike”標籤的對節點進行着色,我們可以瞭解生態系統的哪些部分比其他標籤更具爭議性。

程序員爲什麼討厭這些語言

通過將“Developer Story”標籤放在子生態系統中,我們發現有獨立的子系統的集羣:微軟(以C # 和 .Net 爲中心)、PHP(WordPress 和 Drupal 環繞),和移動開發(特別是 Objective-C)。

操作系統的集羣內(右下),我們可以看到,系統如 OSX 和 Windows 被標記爲“dislike”,但標籤如 Linux、Ubuntu 和 Unix 卻並非如此。

04技術型的競爭之路

有意思的是,數據還體現了行業中存在的技術型競爭關係,像是 Linux 、OSX vs Windows,Git vs SVN,vim vs emacs ,React vs Angular 等。開發人員通常不願意使用他們認爲過時的東西,建議用更現代的技術來取代。

程序員爲什麼討厭這些語言

以上並不表示直接的因果關係,標籤不被程序員使用,導致它們被放棄。一種可能性是,如果人們感覺到語言已經越來越受歡迎,就會很樂意公開表達自己的喜歡與不喜歡;另一種原因就是與時俱進,以新的更新替換舊而複雜的編程語言。

Python 成爲數據科學家首選語言

數據平臺 Kaggle 近日發佈了 2017 機器學習及數據科學調查報告,這也是 Kaggle 首次進行全行業調查。

該調查收集了1.6萬多問卷,問卷內容包括在機器學習行業中最火的編程語言,以及如何更好的入門數據開發等。

下面就是其中一部分調查結果,如:

  • Python 是最常用的工具, R 語言用戶的忠誠度更高。
  • 數據科學家的年齡平均在30歲左右,但這種平均年齡在不同國家之間有所不同。例如,來自印度的平均受訪者年齡比澳大利亞的平均受訪者年齡年輕9歲。
  • 獲得了碩士學位的受訪者佔比最多,但那些收入超過 150K + 的,大部分獲得博士學位。

以下就是 Kaggle 報告內容:

01年齡

程序員爲什麼討厭這些語言

本次調查對象的平均年齡在 30 歲左右。當然,不同國家之間的數值會有所不同。例如,日本的機器學習從業者的年齡中位數爲 33 歲。

程序員爲什麼討厭這些語言

全球全職工作者佔比爲 65.7%,中國爲 53%, 其中,白俄羅斯的佔比最高,全職工作者佔比達到 75.5%。

02學歷

程序員爲什麼討厭這些語言

正常情況下,在數據科學工作中,獲得碩士學位的人數比例最高。但那些收入高於 150K+ 的人大部分取得博士學位。擁有碩士學位的開發者,年薪約 5.5 萬美元。

03全職薪資(年薪)

程序員爲什麼討厭這些語言

儘管在調查中發現,對於受訪者來說,“薪酬福利”的重要性不及“專業發展的機會”,但如果能瞭解到自己行業中的普遍薪資情況也是不錯的。調查發現,在美國,機器學習工程師的薪資是最高的。

在全球範圍內,機器學習工程師的薪資中位數是 55,441 美元,不過由於很多人沒有全職工作(收入爲 0),所以這一數值還是存在一定誤差。

04最常使用的數據科學方法

程序員爲什麼討厭這些語言

Logistic 迴歸是除了軍事和國安領域外,最常用的數據科學研究方法。它在軍事和國防安全領域以及神經網絡領域使用更爲廣泛。

05工作中最常使用什麼工具?

程序員爲什麼討厭這些語言

Python 是數據科學家們最常用的語言,不過仍然有很大一部分數據科學家忠誠於 R 語言。

06最常使用的數據類型

程序員爲什麼討厭這些語言

關係型數據是開發者在工作中最常用的數據類型,因爲大多數產業工程師都較青睞關係型數據。而學術研究者和國防安全產業則更青睞於文本和圖像。

程序員爲什麼討厭這些語言

Dirty Data (髒數據)是從業者遇到的最大障礙。數據科學家一般最常見的困擾就是需要對數據進行大量的預處理工程。理解不同算法的能力不足也是困擾數據工作者的一大障礙。此外,缺乏一定有效管理和資金支持也是面臨的兩大外在困境。

程序員爲什麼討厭這些語言

Git 是他們最常用的代碼共享和託管方式 ,佔比有 58.4%。但大公司的開發者更傾向於將代碼保留在本地,通過電子郵件的方式來共享代碼。而初創公司爲了追求便捷可能更青睞於雲共享。

當你進入一個新的職業生涯時,瞭解別人成功的祕訣可以讓你少走很多彎路。以下是數據科學行業的前輩給出的幾條最有用的建議,希望對想要進入這個行業的人有一定幫助:

07入門數據科學最推薦先學哪門語言?

程序員爲什麼討厭這些語言

每個數據科學家都堅信自己選擇的語言是正確的。比如完全使用 Python 或 R 的人,他們分別最先推薦學習的語言分別爲 Python 和 R。但是,同時使用 R 和Python的人中,推薦使用 Python 的人數是推薦學習 R 語言的兩倍。

08數據科學學習平臺

程序員爲什麼討厭這些語言

數據科學是個變化極快的領域,業內人員需要不斷更新知識體系,纔可以在業內保持一定地位,不被時代淘汰。Stack Overflow Q&A、Conferences 和 Podcasts 是已從業者經常使用的學習平臺。

09開源數據獲取平臺

程序員爲什麼討厭這些語言

沒有數據就沒有數據科學。當談到學習數據科學時,知道如何找到開放數據集用於實踐項目是相當重要的。dataset aggregators 正發展爲數據科學社區成員中最頻繁使用的工具,排行第二的是谷歌搜索。

程序員爲什麼討厭這些語言

說到找工作,更多的人可能是到指定技術方向的招聘網站上找,但是根據多年數據科學領域工作經驗的前輩們,直接聯繫招聘者或通過自己的人際圈進入這個領域纔是他們的首選。(注意:該報告包含多個國家的數據,可能存在收集不夠全面的情況,僅供參考。)

相关文章