数据显示:中国程序员是世界上最牛的程序员
如果有人问你哪里的程序员最牛,十有八九你会觉得是美国。毕竟美国拥有非常多杰出的程序员:比尔·盖茨、 肯·汤普森、 C 语言之父丹尼斯·里奇、唐纳德·克努特……
但是据小编所知,印度这些年,程序员的规模增长是全世界最快的,俄罗斯的黑客也声名大噪。那么,判断哪里的程序员最牛,到底有什么可信的依据呢?
我们一起来看看在 HackerRank 网站上,哪些国家在编程挑战赛中表现最厉害。我们的宗旨是:多看数据,少YY。
在 HackerRank 网站上,举行过数以千计的编程挑战赛,吸引来自世界各地的万千程序员参加。从 Python 到算法到安全到分布式系统都有涉及!
根据数据显示,中国和俄罗斯拥有最具才华的程序员。中国程序员在数学、功能程序设计和数据结构方面秒杀了世界其他国家的程序员,而俄罗斯程序员则在算法领域占据主导地位,算法也是最流行和最具竞争力的领域。
值得注意的是,虽然美国和印度在 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、特定领域排名
中国程序员在数据结构、数学和函数式编程方面打败了其他国家的程序员。另外,俄罗斯程序员在挑战举办最多的算法领域也摘得桂冠,其次是分别处于第二、第三位置的波兰和中国。
怎么解释不同国家在不同领域的水平差异?有可能是因为俄罗斯的程序员更喜欢参加算法类的比赛,也就会在这一领域投入更多精力,而大部分中国程序员则更喜欢参与数据结构类的项目。
来自中国的顶尖程序员 Shimi Zhang 就中国程序员的不同凡响之处表达了他的看法:
「和其他国家相比,中国的高等教育资源比较少,中国的年轻人学习编程的路本来就窄。很多非凡的年轻人在得到来之不易的变成比赛,会真正痴迷于此。
在中国,很多年轻人在中学时期就开始自学编程了,甚至还尝试解决的一些在全世界也没有多少人能解决的难题。
举办专门针对青少年工程师的全国性竞赛,如 NOIp(全国青少年信息学奥林匹克联赛)和 NOI ( 全国青少年信息学奥林匹克竞赛),今年至少有 3 个人在 NOI 中同时获得了冠军。这种针对青少年举行的编程比赛是近十年内的趋势。
并且,NOI 中还有一个牛逼的特别规定:如果一位选手在 NIO 中获得了金牌,他就不能参加国际信息学奥林匹克竞赛的中国队选拔赛,这就意味着,在国际信息学奥林匹克竞赛中获得金牌的中国选手,都是首战告捷。」
3、不同国家程序员的偏好
接下来,我们比较了每个国家的程序员在不同挑战赛上花费的时间,然后与 HackerRank 用户平均花费的时长进行比对。
如上表所示,中国程序员在数学竞赛中的参与度远远高于我们预期的平均水平。捷克人貌似很喜欢 shell,在这个单项他们是第一。
4、不同国家程序员的编程语言偏好
除了刚刚得到的数据,我们也想知道其他国家的程序员对特定的编程语言是否有特殊嗜好。比如印度程序员是不是对 C++更感兴趣?墨西哥程序员是不是都用 Ruby 编码?
总的来说,世界各地的程序员选用 Java 的比例都要高于其它语言(只有极少数的例外:如马来西亚和巴基斯坦的程序员更喜欢 C++,台湾的程序员更喜欢 Python)。而斯里兰卡程序员也是 JAVA 比例使用最高的国家,在 HackerRan 中也排名排在第八的位置。
程序员在 HackerRank 社区上没有努力就放弃了挑战,得分为零。瑞士的零记分用户比例是最低,瑞士程序员也可谓称得上世界上最顽强的程序员。巴基斯坦、斯里兰卡和尼日利亚目前排名位于低端,在毅力方面,他们都需要向瑞士学习。
其实对于世界各地的程序员来说,无论你来自何处,都有可能成为一下个盖茨或者克努特。
根据这些数据,如果我们举办一场黑客奥林匹克比赛,中国将赢得金牌,俄罗斯将获得银牌,而波兰则拿下铜牌。尽管美国和印度的程序员让人值得称赞,但想进入前 25,还是需要再继续努力的~(*^__^*) 嘻嘻……
数据显示:中国程序员是世界上最牛的程序员相关推荐
- 【译】数据显示:中国的程序员是世界上最牛的程序员?
2019独角兽企业重金招聘Python工程师标准>>> 写在前面:一直觉得中国的程序员想法多,肯钻研肯学习,但却不知道原来中国的程序员是世界上最牛的程序员.说来可能不信,但根据Hac ...
- 不要迷恋哥,哥不只是传说(再【转】世界上最牛的程序员)
原文链接网址:[转]世界上最牛的程序员 话说偶当年还在大学求学的时候,以为最牛的就是教程序设计和数据结构的的那两个谢顶老头,直到偶看到了下面的神奇的传说(粗体部分). MIT BBS上说微软电话面试的 ...
- 【转】世界上最牛的程序员
MIT BBS上说微软电话面试的一道题就是"Who do you think is the best coder, andwhy?". 我觉得挺有意思的,也来凑个热闹.排名不分先后 ...
- 他是世界上最杰出的程序员,一个月写了个操作系统,退休后去做飞行员!
作者 | Mr.K 来源 | 技术领导力(ID:jishulingdaoli) 1983 年,美国计算机协会将图灵奖授予肯·汤普森和与丹尼斯·里奇. 获奖理由是:"For their dev ...
- 世界上最牛的100张照片
<script type="text/javascript">function StorePage(){d=document;t=d.selection?(d.sele ...
- 应用FileInputStream类,编写应用程序,从磁盘上读取一个Java程序,并将源程序代码显示在屏幕上
应用FileInputStream类,编写应用程序,从磁盘上读取一个Java程序,并将源程序代码显示在屏幕上. package p1;import java.io.*; public class FI ...
- 三菱PLC转盘机程序 此程序已经实际设备上生产应用,程序成熟可靠
三菱PLC转盘机程序 此程序已经实际设备上生产应用,程序成熟可靠,借鉴价值高,程序有注释,用的三菱FX5Uplc,带6根轴,视觉判定ok还是NG. 是入门级三菱PLC电气爱好从业人员借鉴和参考经典案列 ...
- 程序员是世界上最聪明、最具幽默感的一群人
工作相关 0. 如果软件正在占领全世界,为什么程序员得不到尊重?遍身罗绮者,不是养蚕人.1. 中国大陆的盗版Windows系统都是怎么做出来的?复制.粘贴.2. 中国梦和美国梦的区别是什么?中国梦.t ...
- 世界上最健康的程序员作息表「值得一看」
昨晚看了一篇"传说中"的"世界上最健康的作息时间表",开始纠结自己还要不要5点半起床. 都说程序员这一行,猝死概率极高,究其原因还是加班太狠.作息不规律.缺乏运 ...
- 国产程序员--世界上最牛逼的程序员!
国产程序员就是这么牛逼 0. 如果软件正在占领全世界,为什么程序员得不到尊重? 遍身罗绮者,不是养蚕人. 1. 中国大陆的盗版Windows系统都是怎么做出来的? 复制.粘贴. 2. 中国梦和美国梦的 ...
最新文章
- 《Haskell趣学指南》笔记之I/O
- EOF的意义及用法(while(scanf(“%d“,n) != EOF))
- md5 算法java实现_java实现MD5算法
- 先进的NumPy数据科学
- Windows10 virtualbox安装alpine+docker
- 消息队列-Message Queue
- Dummary、Fake、Stub、Spy、Mock
- C# 中的字符串内插
- 当遥感卫星有了AI……
- java中Matcher和pattern的使用
- HTML实现图文混排效果
- Mysql8中降序索引的底层实现
- 百度谷歌淘宝自定义搜索乱码问题的解决
- 也谈分库分表在实际应用的实践
- 联客云虚拟工作手机(云手机)应用行业及场景
- 走进AI时代的文档识别技术 之文档重建
- 推荐10个Vue 3.0开发的开源前端项目
- 动易数据库conn.asp的问题
- kali虚拟机自带burp抓包物理机
- 冯诺依曼计算机格言,约翰.冯.诺依曼名言