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

阅读数:11097 2019 年 1 月 31 日

话题:语言 & 开发编程语言前端物联网社区JavaJavaScript

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

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

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

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

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

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

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

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

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

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

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

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

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

image

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

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

image

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

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

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

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

image

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

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

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

关于编程,程序员有话说

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

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

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

  • 包含数学和物理规则,为了解决家庭作业的项目;
  • 为了在 Flash 游戏中获得源源不断的弹药和血量的项目;
  • 为了做某些决定而开发的随机数生成器;

我犯过最大的错误是……

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

我觉得最恼火的事情……

哪些事情是让程序员觉得最恼火呢?在初级程序员中,74% 的开发者认为是糟糕的文档,54% 的开发者认为是面条式代码。而在中高级程序员中,情况有所变化,面条式代码和未合理规划优先级几乎是并列排在首位(两者均为 63%)。
image
完整报告地址:https://research.hackerrank.com/developer-skills/2019