您的位置:首頁»大數據»正文

程序員大數據:厲害了我的中國程序員!

原標題:數據顯示:中國的程序員是世界上最牛的程序員

一直覺得中國的程序員想法多, 肯鉆研肯學習, 但卻不知道原來中國的程序員是世界上最牛的程序員。 說來可能不信, 但根據HackerRank官網的一篇報道, 數據顯示中國的程序員就是世界上最牛的程序員。

如果問哪里的程序員最牛, 很多人肯定會認為是美國。 畢竟美國擁有很多杰出的程序員, 如比爾·蓋茨、 肯·湯普森、 C 語言之父丹尼斯·里奇、唐納德·克努特。 但是, 這些年, 印度的程序員規模增長是全世界最快的, 俄羅斯的黑客也越來越鋒芒畢露。 有什么辦法來確定哪個國家的程序員是最牛的嗎?

在HackerRank網站上, 哪些國家在編程挑戰賽中表現最厲害呢?通過數據, 我們希望可以找到問題的答案。

在 HackerRank網站上, 為了幫助程序員提高技能, 我們舉行過數以千計的編程挑戰賽。 來自世界各地成千上萬的程序員參加了這些挑戰賽, 從 Python 到算法到安全到分布式系統都有涉及。 我們的社區也有超過150萬開發者的排名, 并且社區的人數每天都在增長。

根據我們的數據顯示, 中國和俄羅斯擁有最具才華的程序員。 中國程序員在數學、功能程序設計和數據結構方面超過了世界其他國家的程序員,

而俄羅斯程序員則在算法領域占據主導地位, 算法也是最流行和最具競爭力的領域。 雖然美國和印度在HackerRank上也有不少優秀的程序員, 但他們也只能排在第28和第31。

1整體綜合排名

我們先從程序員中最受歡迎的測試類型開始分析。 HackerRank程序員可選擇參與15個不同領域, 下表顯示了各個領域的比例 :

遙遙領先的領域是算法領域, 這個領域得到了近40%的程序員青睞。 這個領域包括數據排序, 動態編程, 搜索關鍵字和其他基于邏輯的任務方面的挑戰。 對于算法測試, 程序員可使用他們選擇的語言, 這可能也解釋了該領域如此受歡迎的部分原因。 排在第二位和第三位的Java和數據架構分別都占到了接近 10%的比例。 而分布系統和安全的占比最低。

那么, 基于這些測試, 哪個國家的程序員整體得分最高呢?

為了弄清楚, 我們查看了各個國家所在領域的平均得分。

計算平均得分前我們又為每個領域制定了打分標準(通過從每個分數減去平均值, 然后除以標準差, 也稱為z分數), 這樣的話, 即使每個領域的難度有差異, 但我們也能對不同領域的個人打分, 并形成從整體到個體的比較體系。 為了讓結果更直觀, 我們根據 z 分數框架的原理, 做了一個 1-100 分數框架來解釋。

我們統計了 HackerRank 上程序員最多的 50 個國家, 得出下面這張表單:

由于中國的程序員得分最高, 所以將中國的分數作為 100 的基準分, 則俄羅斯的分數為 99.9 , 兩國僅相差 0.01 。 另外, 波蘭和瑞士也以 98 的高分進入前列。 巴基斯坦得分僅為 57.4 。

印度和美國為全世界貢獻了最多的程序員, 但沒有進入榜單的前 25名 , 只分別以 76 和 78 的分數排名 31 和 28 。

2特定領域排名

雖然中國的排名很出眾, 但也不只是雄霸所有榜單。 哪個國家的程序員在特定領域的表現最好?我們來看看各個領域中上榜的國家。

可以看到中國在一些領域相當出色。 中國程序員在在數據結構、數學和函數式編程方面打敗了其他國家的程序員。 另外, 俄羅斯程序員在挑戰舉辦最多的算法領域也摘得桂冠。 其次是分別處于第二、第三位置的波蘭和中國。

怎么解釋不同國家在不同領域的水平差異?有可能是因為俄羅斯的程序員更喜歡參加算法類的比賽, 也就會在這一領域投入更多精力, 而大部分中國程序員則更喜歡參與數據結構類的項目。

在HackerRank工作的一個軟件工程師就是這樣的, 他叫Shimi Zhang, 是我們函數型編程領域排名前十位的程序員之一。 他來自中國重慶市, 兩年前來到美國攻讀計算機科學碩士, 然后來到HackerRank工作。

來自中國的頂尖程序員Shimi Zhang就中國程序員的不同凡響之處表達了他的看法:

“和其他國家相比, 中國的高等教育資源比較少,

中國的年輕人學習編程的路本來就窄。 很多非凡的年輕人在得到來之不易的變成比賽, 會真正癡迷于此。

在中國, 很多年輕人在中學時期就開始自學編程了, 甚至還嘗試解決的一些在全世界也沒有多少人能解決的難題。

舉辦專門針對青少年工程師的全國性競賽, 如 NOIp ( 全國青少年信息學奧林匹克聯賽)和 NOI ( 全國青少年信息學奧林匹克競賽), 今年至少有 3 個人在 NOI 中同時獲得了冠軍。 這種針對青少年舉行的編程比賽是近十年內的趨勢。

并且, NOI 中還有一個牛逼的特別規定:如果一位選手在 NIO 中獲得了金牌, 他就不能參加國際信息學奧林匹克競賽的中國隊選拔賽, 這就意味著, 在國際信息學奧林匹克競賽中獲得金牌的中國選手, 都是首戰告捷。 ”

3不同國家程序員的偏好

接下來, 我們又比較了每個國家程序員在不同挑戰賽上花費的時間, 然后與HackerRank用戶平均花費的時長進行比較。這樣一來,就能找出不同國家程序員在特定領域的偏好了。

如上表所示,中國程序員在數學競賽中的參與度遠遠高于我們預期的平均水平,這就能解釋為什么他們能在這個領域高踞榜首了。捷克人貌似很喜歡 shell,在這個單項他們是第一。

4不同國家程序員的編程語言偏好

但是除了這兩個國家,其它國家的選擇偏好和擅長領域好像并沒有必然聯系。我們也想知道其他國家的程序員對特定的編程語言是否有特殊嗜好。比如印度程序員是不是對C++更感興趣?墨西哥程序員是不是都用Ruby編碼?

總的來說,世界各地的程序員選用 Java 的比例都要高于其它語言(只有極少數的例外:如馬來西亞和巴基斯坦的程序員更喜歡 C++,臺灣的程序員更喜歡 Python )。而斯里蘭卡程序員也是JAVA比例使用最高的國家,在HackerRan中也排名排在第八的位置。

巴基斯坦、斯里蘭卡和尼日利亞目前排名位于低端,他們可以學習學習瑞士的毅力。程序員在HackerRank社區上沒有努力就放棄了挑戰,得分為零。瑞士的零記分用戶比例是最低,瑞士程序員也可謂稱得上世界上最頑強的程序員。

其實對于世界各地的程序員來說,無論你來自何處,都有可能成為一下個蓋茨或者克努特。

根據這些數據,如果我們舉辦一場黑客奧林匹克比賽,中國將贏得金牌,俄羅斯將獲得銀牌,而波蘭則拿下銅牌。盡管美國和印度的程序員讓人值得稱贊,但想進入前25,還是需要再繼續努力的。

感謝觀看!

本文來自每日金融官網

然后與HackerRank用戶平均花費的時長進行比較。這樣一來,就能找出不同國家程序員在特定領域的偏好了。

如上表所示,中國程序員在數學競賽中的參與度遠遠高于我們預期的平均水平,這就能解釋為什么他們能在這個領域高踞榜首了。捷克人貌似很喜歡 shell,在這個單項他們是第一。

4不同國家程序員的編程語言偏好

但是除了這兩個國家,其它國家的選擇偏好和擅長領域好像并沒有必然聯系。我們也想知道其他國家的程序員對特定的編程語言是否有特殊嗜好。比如印度程序員是不是對C++更感興趣?墨西哥程序員是不是都用Ruby編碼?

總的來說,世界各地的程序員選用 Java 的比例都要高于其它語言(只有極少數的例外:如馬來西亞和巴基斯坦的程序員更喜歡 C++,臺灣的程序員更喜歡 Python )。而斯里蘭卡程序員也是JAVA比例使用最高的國家,在HackerRan中也排名排在第八的位置。

巴基斯坦、斯里蘭卡和尼日利亞目前排名位于低端,他們可以學習學習瑞士的毅力。程序員在HackerRank社區上沒有努力就放棄了挑戰,得分為零。瑞士的零記分用戶比例是最低,瑞士程序員也可謂稱得上世界上最頑強的程序員。

其實對于世界各地的程序員來說,無論你來自何處,都有可能成為一下個蓋茨或者克努特。

根據這些數據,如果我們舉辦一場黑客奧林匹克比賽,中國將贏得金牌,俄羅斯將獲得銀牌,而波蘭則拿下銅牌。盡管美國和印度的程序員讓人值得稱贊,但想進入前25,還是需要再繼續努力的。

感謝觀看!

本文來自每日金融官網