专栏名称: 虎嗅APP
有视角的商业资讯交流平台
目录
相关文章推荐
51好读  ›  专栏  ›  虎嗅APP

中国码农“意外”拿下全球第一,国内这5位CTO都怎么说?

虎嗅APP  · 公众号  · 科技媒体  · 2016-09-17 22:44

正文

请到「今天看啥」查看全文



▲ 参加 HackerRank 比赛的国家得分。前三名分别为中国、俄罗斯、波兰

中国得分最高,因此中国程序员获得了 100 的分值,名列第一。然而和第二名相比,中国只是以十分微小的优势取胜——俄罗斯的得分是 99.9 分。波兰和瑞士则得到了接近 98 分的好成绩,分列第三和第四位。在名单中,巴基斯坦以 57.4 分垫底。

印度和美国虽然贡献了最多数量的程序员,但甚至没有进入到榜单的前半部分。印度得到了 76 分,名列 31 位;美国得到了 78 分,名列 28 位。

虽然中国在平均分上战胜了其他所有国家,但这并不意味着它在每个领域都能排名第一。那么,在某一特定的技能领域方面,哪个国家贡献了最优秀的程序员呢?让我们再看看在每个领域方面名列前茅的国家。


▲ 各领域不同国家的得分情况。中国在数据结构、数学、函数程式语言中拔得头筹

不出所料,中国在很多领域的表现都相当优秀。来自该国的程序员在数据结构,数学和函数式编程领域击败了对手,排名第一。

另一方面,俄罗斯在最受欢迎的算法领域拔得头筹。在该领域波兰和中国分别排名第二和第三。

那么,如何解释不同国家在不同领域中的表现差异呢?一个可能的解释是俄罗斯的程序员更热衷于参与算法领域的挑战,并从中获得了更多的锻炼机会。而中国程序员更热衷于参与数据结构领域的挑战。

我们还比较了各国程序员,在不同挑战类型中所花费的时间,并将其与参加该项挑战的 HackerRank 用户的平均数据进行对比。经过这样的分析后,我们发现了在各个领域中,哪些国家的程序员更愿意接受挑战。


▲ 在同一领域中,最有可能参与和最不可能参与该项竞争的国家。中国程序员较少选择的项目包括 Java、SQL、数据库、Ruby

正如上表所示,中国程序员在数学领域的参与度远高于该领域的统计平均值。这也许可以帮助解释为什么在该领域中国程序员能够占据榜首。同样,捷克程序员在 Shell 领域展现出了很高的参与度,而在该领域捷克排名第一。

但除了这两个例子以外,其他国家的数据并没有显示出这样的相关性。一个国家的程序员更愿意参加某项领域的比赛,并不代表他们在该领域的得分排名就能更高。

我们也想知道不同国家是否对编程语言具有特殊偏好。印度程序员是否更钟情于 C++?墨西哥人会使用 Ruby 编程吗?

下图列出了不同国家程序员参与不同编程语言挑战的比例。


▲  各国程序员所使用的编程语言情况

总的来说,各国程序员对 Java 挑战的参与度要高于任何其他编程语言挑战(也有少数例外,例如马来西亚和巴基斯坦的程序员更喜欢参与 C++ 挑战,而在台湾,Python 挑战最受欢迎)。斯里兰卡对 Java 挑战的偏爱度排名第一。而为 HackerRank 贡献了大量程序员用户的印度位列第八。

巴基斯坦、斯里兰卡和尼日利亚在榜单中垫底,这些国家的程序员可以向瑞士程序员学习他们的坚韧不拔的精神。当一名程序员在 HackerRank 进行挑战时,如果在挑战开始就放弃,那他/她只能得到零分。而在所有国家中,瑞士程序员的零分比例最低,这也使瑞士程序员成为当之无愧的 “全世界最顽强的程序员”。


▲  各国程序员参加比赛的放弃率

每一天,世界上的程序员都在相互竞争,希望能够成为下一个比尔•盖茨或唐纳德•克努斯。

如果我们现在举办一场编程奥林匹克竞赛,数据显示中国将获得金牌,俄罗斯将带着银牌回家,而波兰将取得铜牌。尽管美国和印度在科技展示推广方面做出的努力值得称赞,但他们连排名的前25位都进不了。

CTO 们怎么说?








请到「今天看啥」查看全文