商业项目中使用的最受欢迎的开源语言版本

在过去的三年中,我们一直在Semaphore博客上发布报告,以揭示开发人员在现实世界中的商业应用程序中使用的某些开源语言版本。 数据基于数千个在Semaphore上测试和部署的私有项目。 现在,我们很高兴向中级读者提供迄今为止最全面的报告,以揭示有关七种主要开源语言的见解。

长生不老药

Elixir是一种相当年轻的语言,自然而然,几乎所有项目都基于它的最新版本。 40%的项目使用的是今年发布的Elixir版本(1.4及更高版本),而96%的项目使用的是2016年1月1日发布的版本不超过1.2的版本。

商业项目中使用的最受欢迎的开源语言版本

有趣的事实:Semaphore的许多组件都是作为Elixir微服务构建的。 您可以阅读我们对导致构建微服务的技术挑战的想法,以及使用Elixir和RabbitMQ设计微服务的一个小例子

去开发人员喜欢平均分配他们的馅饼。

商业项目中使用的最受欢迎的开源语言版本

Go的发布政策规定,每个主要的Go版本都受支持,直到有两个新的主要版本为止。 因此,目前有60%的商业Go项目使用的是官方支持的版本。

爪哇

大多数项目都基于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。

商业项目中使用的最受欢迎的开源语言版本
2015-2017年采用Node.js版本

您可以在Semaphore博客上阅读完整的Node.js版本报告

的PHP

多年来,PHP一直是使用最广泛的10种语言之一,并且它在当今可访问的大多数网站的服务器端中都存在。

商业项目中使用的最受欢迎的开源语言版本

大多数项目使用的是5.6版,其有效支持期于2017年1月19日结束。该版本将继续获得安全更新,直到2018年底。不再支持的版本5,3、5.4和5.5。在34%的项目中使用。 这可能是由于从5.x更新到7.x的过程很复杂。 例如,许多致命错误已转换为异常,对变量和整数处理进行了许多更改,等等。

在所有PHP项目中,有19%使用7.0版。 该版本于2015年12月发布,有效支持期为1个月。 7.1版本于去年12月发布。 到目前为止,只有9%的项目正在使用它。

您可以查看官方支持的PHP版本页面 ,以获取有关何时发布不同版本以及它们的有效支持期是多少的更多信息。

蟒蛇

Semaphore去年的Python报告 在Hacker News和各种论坛得到了很多关注因为它表明,尽管Python 3于2008年发布,但仍有超过70%的商业项目基于2.7。 今年,Python 3的结果要好一些,但并不多。

商业项目中使用的最受欢迎的开源语言版本

截至今年4月,AWS Lambda支持Python 3.6和2.7。

商业项目中使用的最受欢迎的开源语言版本

您可以在Semaphore博客上阅读完整的Python版本报告

红宝石

开源正快速发展,Ruby社区以跟进而闻名。 超过85%的项目使用Ruby 2.0及更高版本。

商业项目中使用的最受欢迎的开源语言版本

总体而言,团队从1.9.3升级到2.x似乎更容易升级到新版本。

需要注意的重要一点是,版本2.0和2.1 已到期 ,并且Ruby 2.2的停产日期定于2018年3月31日。我们强烈建议升级到新版本,因为旧版本没有任何更新。安全更新。

商业项目中使用的最受欢迎的开源语言版本

要注意的另一件事是,Rails 5仅支持Ruby 2.2.2和更高版本。

您可以在Semaphore博客上阅读完整的Ruby版本报告

您可能还需要检查Rails Testing Grader,该工具可将Rails测试套件与行业进行比较,以找出您的立场。

您如何跟上新版本并保持应用程序最新? 让我们在评论中知道。

From: https://hackernoon.com/most-popular-open-source-language-versions-used-in-commercial-projects-in-2017-82c533346073