《架构师》2019年3月
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

年终总结
程序员票选最喜欢的编程语言花落谁家?

作者 HackerRank 译者 甜梨

岁末年初,又到了一年一度程序员年终总结的时候啦!

HackerRank平台上共汇集了超过500万开发人员(占全球开发人员总数的20%以上)和1200多个客户。2018年11月5日至11月27日,HackerRank在社区发起了程序员技能调查,来自100多个国家、超过70000名开发者参与其中。

该调查涉及了诸多方面,例如开发者第一次开发的项目、喜欢使用的编程语言和框架、2019年他们希望能够学习和掌握哪些知识……下面笔者就分门别类的为大家介绍一下HackerRank程序员技能调查中得出的一些结论。

关于编程语言,程序员们有话说

事实上,不管是哪个关于程序员的报告,编程语言都是重点的调查项,笔者曾看过有人这样评价编程语言,“编程语言之于程序员,就如同青龙偃月刀之于关羽,如意金箍棒之于孙悟空。”

2018年最受欢迎的编程语言:JavaScript

首先,我们先公布一下2018年这一年中最受欢迎的编程语言是JavaScript。在调查中,73%的开发者表示他们正在学习和了解JavaScript,而在2017年只有66%的开发者。不过,这一比例在学生开发者当中下降到了42%,主要原因可能是大多数学校的计算机课程都没有安排JavaScript的学习。

2019年程序员最想要学习的编程语言:Go

2019年,程序员最想学习的编程语言Top 3分别为Go、Kotlin和Python,其中Go以37.2%的比例排在首位。

除此之外,还有一个有趣的现象,开发者对Scala的兴趣下降了,但是对TypeScript却更有兴趣了,Scala从2018年最想学习的编程语言的第三位下降到2019年的第六位,而TypeScript则从第五位上升至第四位。随着JavaScript的不断普及和主要JavaScript框架支持使用TypeScript, TypeScript的知名度也获得了提升,今年近25%的开发者都知道了TypeScript。

关于框架,程序员们有话说

软件框架是指在一定的设计原则基础上,从不同角度对组成系统的各部分进行搭配和安排,形成系统的多个结构而组成架构,它包括该系统的各个组件,组件的外部可见属性及组件之间的相互关系。

2018年程序员最熟悉的框架:Angular

2018年,AngularJS仍然是开发者最熟悉的框架,但值得注意的是,越来越多的开发者开始学习React, React开发者的比例从2017年的20%跃升至2018年的26%。

2019年程序员最想学习的框架:React

2019年,程序员最想要学习的框架是React。由于Angular 1在向Angular 2过渡过程中不允许向后兼容,所以有部分程序员选择了向其它框架发展,而React被认为比Angular更简单、灵活,有望能够超越Angular。

HR眼中的框架和开发者眼中的框架

虽然,开发者可能更熟悉Angular,但是从公司和HR的角度来看,他们似乎对React更感兴趣。JavaScript生态系统一直在不断发展,想要跟上它的步伐对于开发者来说可能会比较吃力,而在这种情况下,学习React绝对一个很棒的投资。

关于新兴技术,程序员有话说

对于新兴技术在未来两年内的落地和应用,53%的开发者认为物联网更有希望,尤其是家庭、交通工具、城市之间的相互连通,给予了物联网技术发展和应用肥沃的土壤。

对于深度学习在未来两年内的落地和应用,也有50%开发者表示了很有信心,并且深度学习的应用也正在从移动语音识别软件扩展到医疗保健行业和汽车行业等众多领域。

2018年年初很火爆的区块链技术,随着加密货币市场的波动,很多人表示这是一种不可预测的技术,也有20%的开发者表示,未来两年内区块链的实际应用被夸大了。

关于编程,程序员有话说

我的第一个编程项目是……

“你的第一个编程项目是什么呢?”HackerRank的调查结果可以以38岁的程序员来作为分界线,38岁以下的程序员,他们大多数的第一个编程项目是计算器,而38岁以上程序员的第一个编程项目则是游戏相关的项目。

除此之外,调查中还有一些比较有新意的项目:

• 包含数学和物理规则,为了解决家庭作业的项目;

• 为了在Flash游戏中获得源源不断的弹药和血量的项目;

• 为了做某些决定而开发的随机数生成器。

我犯过最大的错误是……

在职业生涯中犯过的最大的错误是什么?65%的程序员表示是在生产环境中部署了未经测试或者是损坏的代码;近10%的程序员表示是删库,8%的程序员曾经关闭过生产环境的服务器。

我觉得最恼火的事情……

哪些事情是让程序员觉得最恼火呢?在初级程序员中,74%的开发者认为是糟糕的文档,54%的开发者认为是面条式代码。而在中高级程序员中,情况有所变化,面条式代码和未合理规划优先级几乎是并列排在首位(两者均为63%)。

完整报告地址:https://research.hackerrank.com/developer-skills/2019