在过去的三年中,我们不断地对 Semaphore 博客上的开发人员进行调查,调查他们在开发商业项目时一般都使用哪些语言。这些数据基于成千上万个在 Semaphore 上进行测试和部署的项目的人。所以现在这是迄今为止关于商业项目中***的开源编程语言的全面报告。
Elixir
Elixir 是一个相当年轻的语言,自然几乎所有的项目都是基于***版本的。40% 的项目使用的是今年发布的Elixir 1.4 及以上版本,该版本于 2016 年 1 月 1日发布。
Go
Go的发布政策规定,支持Go的每个主要的版本。因此,使用Go的商业项目中有60%正在使用官方支持的版本。
Java
大多数项目都基于Java 8。Java 9 于17 年9 月发布,但现在的项目似乎没有采用。甲骨文公司宣布,将长期支持 Java 8版本,甚至到 2022 年,而Java 9将不会被指定为长期支持的版本。Java 18.9 LTS 计划于2018年9月发布。
Node.js
在过去的几年中,Node.js 运行时发生过很多变化,最终整合了新的发布时间表。实际情况是,几乎三分之一的项目都是使用过时的 Node 版本,而不到10%的项目使用 2017 年发布的版本(v8或v9)。
Node 9 在今年秋天发布,但我们还没有很多项目采用。值得注意的是,截至3月份,AWS Lambda 支持Node.js 6.10 版本。
PHP
PHP 已经成为多年来使用最多的十大语言之一,并且在建站时,它都用在服务器端。
大部分项目正在使用 5.6 版本,在2017年1月19日就结束了支持。此版本将持续更新,直到2018年底。不再支持 5,3,5.4 和 5.5 版本。这可能是由于从 5.x 更新到7.x的过程很复杂。例如,许多致命错误已被转换为异常,变量和整数处理。
所有使用PHP的项目中有19%使用PHP 7.0版本。该版本于2015年12月发布,支持期限为1个月。7.1版于去年十二月发布。到目前为止,只有9%的项目正在使用它。
python
Python去年就在黑客新闻和各种论坛上受到了很多关注,尽管Python 3 会在2008年发布,但是仍有超过70%的商业项目使用 2.7版本。
截至今年4月,AWS Lambda 支持 Python 3.6 和 2.7。
Ruby
开源正在快速发展,Ruby 社区紧跟时代潮流。超过85%的项目使用 Ruby 2.0 及更高版本。
需要注意的一个事情是,2.0 和 2.1 版本已经结束了,而 Ruby 2.2 EOL 将于 2018年3月31日发布。建议升级到更新的版本,因为旧版本没有获得安全更新。
另外需要注意的是 Rails 5 只支持 Ruby 2.2.2 及更高版本。