由于使用者过少,MongoDB 宣布弃用 Perl 驱动。

国外一位技术爱好者 Ben
整理了一份最流行和最具影响力的编程语言清单,可以帮助开发者更好的预测
2018 年的编程语言发展趋势,同时,有针对性地选择和加强编程语言学习。

图片 1

图片 2

图片 3

曾经有一段时间,动态语言,即脚本语言,因其易于编写和易于运行的特性,被预测在未来将发展强大。因此,Perl、Python、PHP
和 Ruby 等语言在当时非常流行。今天看来,似乎只有 Python
的发展很强势。相比 TIOBE 10 月排行榜而言,Python 超过了 C#
,荣登排行榜第四名。而 Perl、PHP
排名均有所下滑,其他脚本语言也逐渐走出前 20 名,甚至传说中最文青的语言
Haskell 被踢出 Top
50,那么它们身上究竟发生了什么呢?脚本语言中的大多数错误都是运行时发生的,在程序运行时显示。
尽管可以编写所有类型的单元测试来弥补这些错误。但如果在生产中运行应用程序时发生这样的错误,就会很快陷入危险的境地。由于质量要求越来越高,现在几乎没有人敢用脚本语言编写一个关键的大型软件系统。
甚至像 JavaScript
这样的脚本语言,在网页编程中也无法避免错误的发生,所以不得不演变成更安全的语言。
微软就推出了一个名为 TypeScript 的 JavaScript
类型化版本,并开发了各种类型的框架,如 Angular 和
React,以保护语言。另一方面,面对脚本语言存在的威胁,静态类型语言对它们在类型方面的繁琐操作进行了简化:它们都以
C# 中的“var”关键字开始,接着是 Java 中的类型推断和 C++
中的自动指定符。而大型语言之所以能在激烈竞争中保持自己的地位,就是因为,它们会吸收对手语言的优秀特性,再完善优化成自己的优势。11
月编程语言排行榜 TOP20 榜单
另一方面,今年年初,Swift 语言在 TIOBE
指数排行榜中曾一度进入前十名。然而近期,Swift 却不断下滑,从上个月的第
16 名掉到了如今的历史最低第 20 名,继续发展之后,大有走出 Top 20
之势。作为 iOS 开发的另一主流语言,Objective-C 也难逃厄运,从上个月的第
17 名跌落至第 19 名。Top 10 编程语言 TIOBE
指数走势其他编程语言排名
第 21-50 名如下,可能存在遗漏:第 51-100
名如下,由于它们之间的数值差异较小,仅以文本形式列出:4th Dimension/4D,
ABC, ActionScript, APL, Arc, AutoLISP, Bash, bc, Bourne shell, C shell,
CFML, CL (OS/400), Clipper, Common Lisp, Elixir, Euphoria, F#, Forth,
Haskell, Icon, IDL, Inform, Io, J, Korn shell, Ladder Logic, Maple, ML,
MOO, MQL4, MUMPS, NATURAL, NXT-G, OCaml, OpenCL, OpenEdge ABL, Oz, PL/I,
PostScript, PowerShell, Q, REXX, Ring, Scheme, Smalltalk, SPARK, SPSS,
Standard ML, Stata, Tcl历史排名注: 以下排名位次取决于 12
个月的平均值。编程语言“名人榜”
“年度编程语言”获奖名单如下图所示,该奖项授予一年中评分最高的编程语言:TIOBE
编程语言社区排行榜是编程语言流行趋势的一个指标,每月更新,这份排行榜排名基于互联网上有经验的程序员、课程和第三方厂商的数量。排名使用著名的搜索引擎进行计算。请注意这个排行榜只是反映某个编程语言的热门程度,并不能说明一门编程语言好不好,或者一门语言所编写的代码数量多少。这个排行榜可以用来考查你的编程技能是否与时俱进,也可以在开发新系统时作为一个语言选择依据。

MongoDB 高级产品经理 Scott L’Hommedieu
表示,在过去几年中,团队调查了用户群体,并与使用 Perl
驱动的公司进行交流,得到的反馈是,用户对于通过 Perl 驱动支持 MongoDB
新功能的要求极少。另一边,MongoDB 社区自 2018 年以来,没有用户询问过
Perl 驱动相关的问题。

image

这就意味着,现在只有极少数人在使用 MongoDB Perl
驱动,而只有当人们使用的时候,驱动才有存在的意义。对于项目的开发团队来的,工程师的时间与精力需要专注于能够让大多数用户受益的地方,比如
Perl 的现代化替代品 Python、Go 与 Node.js。所以 MongoDB 决定不再维护
Perl
驱动。

这份清单的整理主要考虑了 TIOBE,Indeed.com 和 Github 上的数据指标:

MongoDB Perl 驱动将以优雅、社区友好的方式弃用,具体是在 2.2.0 版本发布的
12 个月后正式结束生命周期(2020 年 8 月13 日)。在这 12
个月中,开发团队将为该驱动提供关键/安全修复程序。在 eof
之后,如果有任何希望维护 Perl 驱动的 Perl 社区成员,可以与 MongoDB
社区管理员联系,源码可以 fork 出来。

  • TIOBE
    每月都会更新一次编程语言排行榜,整合世界各地的使用数据,发布最新的流行趋势。

  • Indeed.com 是世界最大的求职引擎,
    我们能从中看到目前企业对编程工作的需求度,结合 TIOBE
    ,我们能很快查看排名前 50 位编程语言的职位数量。

  • Github
    每年都会做一个年度报告,分享程序员社区的统计数据,我们引用他们的“Pull
    Requests Opened”作为语言流行度的另一个指标。

此公告还附带了 MongoDB Perl 2.2.0 GA 版本的更新说明,更新内容主要是:

另外,还补充一份 Coding Dojo 整理的调查表,上面整理了最受世界 500 强企业青睐的一些编程语言

  • 支持 MongoDB 4.2 的功能,包括分布式事务、更新命令管道和 $merge
    聚合状态。
  • 可重试读操作。
  • 会话的“with_transaction”回调 API。

最流行的编程语言

TIOBE 数据

图片 4

image

上图数据来自 TIOBE 排行榜,显示了截至 2017 年 12 月,最流行的 20
种编程语言。 百分比代表每种语言所具有的“市场份额”。Java、C/C++
虽然出现过好几次下降的趋势,但是一直稳居前三的位置,市场份额比较高。Python
在 2017 年受到比较广泛的关注,市场份额较之前几年有了非常大的提升。关于
TIOBE 排名的依据,你可以查看这里。

Indeed 数据

图片 5

image

上图数据来自 Indeed.com,作者将 TIOBE 最流行的前 50 种编程语言,放在
Indeed.com 网站进行了职位搜索,从而进一步得出了其中岗位需求量最高的前 20
种语言。在 TIOBE 中最流行的 Java,其岗位需求量也是最高的。

不过,很有意思的是,像 Apex
这类并不那么流行的语言,似乎在工作中也有一定的需求量,这是不是预示着这类语言会出现上升趋势呢?

Github 数据

图片 6

image

“Github 年度回顾”向我们提供了来自社区的前 15 名 Pull Requst。2017
年,Javascript 在 GitHub
上占有很大的比重,比第二种语言提高了两倍多。Python 通过 Pull Requst 超过
Java 成为第二大流行语言。

Coding Dojo 数据

Coding Dojo 对世界 500 强企业的前 25
家进行了有关编程语言需求的调查,这项研究涵盖了前25家世界500强企业,并研究了他们的招聘要求,不出所料,25家企业没有一家是只使用一种编码语言来开发和维护他们的产品和服务。平均而言,这些公司依靠四种不同的语言。

这项研究的目的在于了解当今需求量最大的编程语言,并确定这些语言当中,哪一些更适合新手学习入门,当然不同行业,需求的编程语言不同,比如在应用程序开发方面,Kotlin和Swift的需求越来越大,但在机器学习领域,则是R和Python。

研究表明,这25家企业最受欢迎的5种编程语言分别是:

● JavaScript

● Java

● Python

● Ruby

● Perl

约有90%的公司使用Java。苹果公司的招聘职位列表显示,该公司要求六种编程语言的开发人员:JavaScript,Python,Java,Perl,Ruby和PHP。亚马逊需要Java,Python,JavaScript,C
++,Ruby和Swift专业人士。

图片 7

image

Perl 还能行吗?

Perl 是一种高级、通用、直译式、动态的编程语言,它汲取了 C、sed、awk 与
Shell
脚本以及众多其它编程语言的特性,其中最重要的特性是内置正则表达式,以及强大的第三方代码库
CPAN(the Comprehensive Perl Archive Network,全面的 Perl 存档网络)。

图片 8

Perl 的特点是追求简单,它的一个追求是:

Easy things should be easy, and hard things should be possible.

简单的事情就让它简单,困难的事情就让它变得可解。

开发者直言:“解决一个一般的问题只用几行代码就搞定,而面对稍微复杂一点的问题,代码行数也不会超过一屏。”

另一方面,Perl 的灵活性也很强,它被称为脚本语言中的“瑞士军刀”,Perl
的中心思想可以概括为:

There’s More Than One Way To Do It.(TMTOWTDI)

可以用多种方法实现。

Perl 可以运行在超过 100
种计算机平台上,适用性非常广泛,从大型机到便携设备、从快速原型创建到大规模可扩展开发都可以一把梭,除
CGI
以外,它还被用于图形编程、系统管理、网络编程、金融、生物以及其它领域。然而从近来各种消息来看,Perl
似乎不太行了。

上个月 TIOBE 编程语言排行榜中,TIOBE 官方使用的标题是:Perl is one of
the victims of Python’s hype(Perl 成为过分炒作 Python
的受害者)。Perl
当时在 TIOBE 榜单中位于第 19 位,这是有史以来的最低的一次,要知道,在
2005 年 Perl 曾坐过第三名的位置,而当时其 Ratings 指数超过
10%。另一方面,Perl 6 被单独统计,而它仅排在 93 位。

Python 等同类型语言的崛起,加上 Perl 的非常规语法及其不明确的未来(Perl
5 与 Perl 6 之间的差异),对 Perl 造成了极大的伤害。

另一方面,为科技专业人群提供分析的网站 Dice Insights
近期指出,目前开发人员普遍使用其它语言构建网站,Perl
的采用变得越来越窄,同时 Perl 本身几乎没有进行积极开发,所以 Perl
将会衰落。关于
Perl 没有采用率与本身没有积极发展,这一点在前边描述的 MongoDB Perl
驱动缺乏活力中似乎就可以直观感受到。

Perl 还能行吗,你怎么看?

(文/开源中国)    

编程语言之最及其流行原因分析

Java 独占鳌头

根据 TIOBE 的数据,Java 自 90
年代中期创建以来,一直是最受欢迎的语言。世界上许多大型的公司都使用 Java
来构建桌面应用程序和后端 Web 系统。

Java 受欢迎的因素很多,总结起来主要有以下几点:

  • 可移植性:由于与平台无关的 Java 虚拟机(JVM),Java
    几乎可以在所有系统上运行。 Java 也是最流行的 Android
    语言,所以绝大多数的 Android 应用程序都是用 Java 构建的。

  • 可扩展性:由于 Java
    是一种静态类型的语言,所以它的维护速度更快,更易于维护,而且还具有向后兼容性,这意味着旧版本的语言即使在新版本发布后也能够完美运行。
    对于那些每次出现新版本时都会担心重写代码的企业来说,这简直是福音。

  • 大型社区:Java 拥有庞大的用户群,Stack Overflow 、开源中国和 GitHub
    等大型社区的存在,使得 Java
    开发人员遇到任何问题都能很快的找到解决方案。加上它的可移植性,在很长一段时间内,它都会被广泛使用。

C 成为 2017 年度编程语言

C 是最古老,最受欢迎的编程语言之一,被包括微软,苹果,Linux
和甲骨文在内的互联网巨头使用。同时,C
语言也是汽车,电子和其他设备中嵌入式系统最流行的语言。我们今天接触几乎所有东西东西,如,手机和闹钟,都能看到
C 的影子。

为什么今天仍然是流行的编程语言?

首先,它本质上是一种便携式汇编语言。它几乎适用于所有的系统,并且可以运行在尽可能低的机器上。

C
还具有完全符合操作系统和嵌入式系统(如汽车仪表板)的特性。由于其相对较小的运行时间,C
能很好地保持这些系统的精益。

任何程序员都将从学习 C 语言中受益。许多在线编写和共享的算法都是在 C
中完成的。它本质上是编程语言的“通用语言”。像 C++ 和 C#这样的 C
类衍生品也是最受欢迎的 5 种语言之一,这同样说明了 C
语言在今天仍然具有的影响力。

图片 9

image

2017 年,C 还成为了 TIOBE
榜单的年度编程语言:

图片 10

image

Python 呈现上升趋势

在过去 15 年的时间里,Python 一直呈现稳步上升的趋势,终于在前几年进入了
TIOBE 排行榜的前 5 名。2017
年,受到人工智能、机器学习、大数据等前沿科技的影响,Python 一举超越 C#
成了 TIOBE 的第 4
名。而且,网络安全也是我们当今时代非常重要的一个课题,而它也受到 Python
的驱动。

Python 简单易学。
它现在是大学里最受欢迎的入门语言,也是有经验的开发者的第二或第三语言。

JavaScript 占主导地位

由于无处不在的浏览器,JavaScript 也成为了世界上最流行的编程语言之一,在
GitHub 上的 Pull Request 排名第一。 在新兴语言层出不穷的今天,JavaScript
有自己的优势,并将继续在网络上发挥重要作用。

JavaScript 允许开发人员向网页添加交互式效果,它经常与 HTML
一起工作,但是现在使用 JavaScript 完全构建 Web
应用程序也变得越来越普遍。
由于其简单性和速度,越来越多的初创公司和技术企业开始通过 Node.js
框架在后端使用 JavaScript。

Ruby:初创公司的最爱

Ruby 是科技初创公司最受欢迎的语言之一。许多硅谷公司就是建立在 Ruby
上,包括 Airbnb,Twitch,GitHub 和 Twitter。 Ruby on Rails 是一个运行
Ruby 的完整的 Web 应用程序框架,它的受欢迎程度也在提升。

图片 11

image

最后

查看 TIOBE
排行榜,我们会发现,排名靠前的一直都是那几门编程语言,变化不会很大。我们可以来看看近几年的年度编程语言:C(2017),Go(2016),Java
(2015),JavaScript (2014)

另外,在 TIOBE 年度编程语言公布之前,Kotlin 曾与 C
一直成为了年度语言的候选者,虽然最终还是 C 获胜,不过 Kotlin
同样值得关注:

对于 JetBrains 的静态类型编程语言 Kotlin 来说,2017
年是一个大年,还被命名为 Android 平台的官方开发语言。根据 StackOverflow
的说法,Android 不仅是最受欢迎的移动开发平台,也是 Windows 桌面和 Linux
之后第三大最受欢迎的开发平台。

Kotlin 的受欢迎程度有几个原因,其中最重要的是它与 Java 的 100%
互操作性,以及恶意在 Java 虚拟机上运行。 Kotlin 也编译成
JavaScript,使它在前台和后台开发中都非常灵活。
预计在未来几年里会听到更多关于 Kotlin 的信息。