商業(yè)項(xiàng)目中最受歡迎的7種編程語言
在過去的三年中,我們不斷地對(duì) Semaphore 博客上的開發(fā)人員進(jìn)行調(diào)查,調(diào)查他們?cè)陂_發(fā)商業(yè)項(xiàng)目時(shí)一般都使用哪些語言。這些數(shù)據(jù)基于成千上萬個(gè)在 Semaphore 上進(jìn)行測(cè)試和部署的項(xiàng)目的人。所以現(xiàn)在這是迄今為止關(guān)于商業(yè)項(xiàng)目中***的開源編程語言的全面報(bào)告。
Elixir
Elixir 是一個(gè)相當(dāng)年輕的語言,自然幾乎所有的項(xiàng)目都是基于***版本的。40% 的項(xiàng)目使用的是今年發(fā)布的Elixir 1.4 及以上版本,該版本于 2016 年 1 月 1日發(fā)布。

Go
Go的發(fā)布政策規(guī)定,支持Go的每個(gè)主要的版本。因此,使用Go的商業(yè)項(xiàng)目中有60%正在使用官方支持的版本。
Java
大多數(shù)項(xiàng)目都基于Java 8。Java 9 于17 年9 月發(fā)布,但現(xiàn)在的項(xiàng)目似乎沒有采用。甲骨文公司宣布,將長(zhǎng)期支持 Java 8版本,甚至到 2022 年,而Java 9將不會(huì)被指定為長(zhǎng)期支持的版本。Java 18.9 LTS 計(jì)劃于2018年9月發(fā)布。
Node.js
在過去的幾年中,Node.js 運(yùn)行時(shí)發(fā)生過很多變化,最終整合了新的發(fā)布時(shí)間表。實(shí)際情況是,幾乎三分之一的項(xiàng)目都是使用過時(shí)的 Node 版本,而不到10%的項(xiàng)目使用 2017 年發(fā)布的版本(v8或v9)。

Node 9 在今年秋天發(fā)布,但我們還沒有很多項(xiàng)目采用。值得注意的是,截至3月份,AWS Lambda 支持Node.js 6.10 版本。

PHP
PHP 已經(jīng)成為多年來使用最多的十大語言之一,并且在建站時(shí),它都用在服務(wù)器端。

大部分項(xiàng)目正在使用 5.6 版本,在2017年1月19日就結(jié)束了支持。此版本將持續(xù)更新,直到2018年底。不再支持 5,3,5.4 和 5.5 版本。這可能是由于從 5.x 更新到7.x的過程很復(fù)雜。例如,許多致命錯(cuò)誤已被轉(zhuǎn)換為異常,變量和整數(shù)處理。
所有使用PHP的項(xiàng)目中有19%使用PHP 7.0版本。該版本于2015年12月發(fā)布,支持期限為1個(gè)月。7.1版于去年十二月發(fā)布。到目前為止,只有9%的項(xiàng)目正在使用它。
python
Python去年就在黑客新聞和各種論壇上受到了很多關(guān)注,盡管Python 3 會(huì)在2008年發(fā)布,但是仍有超過70%的商業(yè)項(xiàng)目使用 2.7版本。

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

Ruby
開源正在快速發(fā)展,Ruby 社區(qū)緊跟時(shí)代潮流。超過85%的項(xiàng)目使用 Ruby 2.0 及更高版本。

需要注意的一個(gè)事情是,2.0 和 2.1 版本已經(jīng)結(jié)束了,而 Ruby 2.2 EOL 將于 2018年3月31日發(fā)布。建議升級(jí)到更新的版本,因?yàn)榕f版本沒有獲得安全更新。

另外需要注意的是 Rails 5 只支持 Ruby 2.2.2 及更高版本。