商業(yè)項(xiàng)目中最受歡迎的 7 種編程語言大盤點(diǎn)
Semaphore 是一個國外持續(xù)集成/持續(xù)部署方案服務(wù)商。Semaphore 稱自己在過去三年對其開發(fā)者用戶進(jìn)行調(diào)查,調(diào)查他們在開發(fā)商業(yè)項(xiàng)目時一般都使用哪些語言。這些數(shù)據(jù)基于成千上萬個在 Semaphore 上進(jìn)行測試和部署的項(xiàng)目的人。所以現(xiàn)在這是迄今為止關(guān)于商業(yè)項(xiàng)目中最受歡迎的開源編程語言的全面報(bào)告。
本文并非編程語言排行榜,忽略順序
別問我們?yōu)槭裁礇]有 XXX 編程語言,這不是我們發(fā)起調(diào)查的;
Elixir
Elixir 是一個相當(dāng)年輕的語言,自然幾乎所有的項(xiàng)目都是基于最新版本的。40% 的項(xiàng)目使用的是今年發(fā)布的Elixir 1.4 及以上版本,該版本于 2016 年 1 月 1日發(fā)布。
Go
Go的發(fā)布政策規(guī)定,支持Go的每個主要的版本。因此,使用Go的商業(yè)項(xiàng)目中有60%正在使用官方支持的版本。
Java
大多數(shù)項(xiàng)目都基于Java 8。Java 9 于17 年9 月發(fā)布,但現(xiàn)在的項(xiàng)目似乎沒有采用。甲骨文公司宣布,將長期支持 Java 8版本,甚至到 2022 年,而Java 9將不會被指定為長期支持的版本。Java 18.9 LTS 計(jì)劃于2018年9月發(fā)布。
Node.js
在過去的幾年中,Node.js 運(yùn)行時發(fā)生過很多變化,最終整合了新的發(fā)布時間表。實(shí)際情況是,幾乎三分之一的項(xiàng)目都是使用過時的 Node 版本,而不到10%的項(xiàng)目使用 2017 年發(fā)布的版本(v8或v9)。
Node 9 在今年秋天發(fā)布,但我們還沒有很多項(xiàng)目采用。值得注意的是,截至3月份,AWS Lambda 支持Node.js 6.10 版本。
PHP
PHP 已經(jīng)成為多年來使用最多的十大語言之一,并且在建站時,它都用在服務(wù)器端。
大部分項(xiàng)目正在使用 5.6 版本,在2017年1月19日就結(jié)束了支持。此版本將持續(xù)更新,直到2018年底。不再支持 5,3,5.4 和 5.5 版本。這可能是由于從 5.x 更新到7.x的過程很復(fù)雜。例如,許多致命錯誤已被轉(zhuǎn)換為異常,變量和整數(shù)處理。
所有使用PHP的項(xiàng)目中有19%使用PHP 7.0版本。該版本于2015年12月發(fā)布,支持期限為1個月。7.1版于去年十二月發(fā)布。到目前為止,只有9%的項(xiàng)目正在使用它。
Python
Python去年就在 Hacker News 和各種技術(shù)論壇上受到了很多關(guān)注,盡管 Python 3 是在2008年發(fā)布,但是仍有超過70%的商業(yè)項(xiàng)目使用 2.7版本。
截至今年4月,AWS Lambda 支持 Python 3.6 和 2.7。
Ruby
開源正在快速發(fā)展,Ruby 社區(qū)緊跟時代潮流。超過85%的項(xiàng)目使用 Ruby 2.0 及更高版本。
需要注意的一個事情是,2.0 和 2.1 版本已經(jīng)結(jié)束了,而 Ruby 2.2 EOL 將于 2018年3月31日發(fā)布。建議升級到更新的版本,因?yàn)榕f版本沒有獲得安全更新。
另外需要注意的是 Rails 5 只支持 Ruby 2.2.2 及更高版本。
問題來了,
各位在職的猿媛,你家公司的商業(yè)項(xiàng)目,在用什么編程語言?對應(yīng)版本是?