3月TIOBE编程语言榜单:Java和C++不再受青睐,Python的崛起引人注目

发表时间: 2019-03-04 19:15
取代不了的 Java、挡不住势头的 Python、吐槽不尽的 C++......数百种编程语言中也仅有那么几种当属主流语言,而如今这些主流的编程语言局势如何?身处其中的开发者又需要了解哪些内容?本文无意挑起编程语言争端,而是希望以最新的趋势一窥当前各大主流语言的发展现状。



作者 | 屠敏

出品 | CSDN(ID:CSDNNews)

日前,一月一更的 TIOBE 编程语言社区最新发布了 2019 年 3 月排行榜。



Python 从小众语言到主流的逆袭


从榜单来看,曾经铁打的 Java、C、C++ 局势,早已在数月前被 Python 的闯入而打破。而究其根由,并非是 C++ 的应用领域正在逐渐缩减,而是随着人工智能、机器学习的崛起,适用于该领域的 Python 才会水涨船高,带起了市场份额。这也是为什么在 Java、C、C++、Visual Basic .NET 等一众编程语言使用率增幅放缓的情况下,Python 仍能以 2.39% 的增率保持强劲的增长势头。


TIOBE 编程语言排行榜 Top 20



而对于 Python 的未来,根据央广网报道,2018 年中国人工智能核心产业规模已达到 686 亿元,在2019 年中,科技部副部长李萌表示将着重加快项目部署实施,强化基础研究,加大芯片、工具和平台等研发力度。因此在人工智能项目将实现规模化落地的前景之下,作为基础研发支持的 Python 语言,至少在国内的大环境中,应用需求也将进一步扩大。



“众口难调”的编程语言


此外,通过 3 月的编程语言排行榜,我们虽然看到了 Java、C、C++ 等语言位于 Top 5 的位置,但事实上,在日常应用中,开发者对其的吐槽也越来越盛。

排名第一的 Java,依然有人嫌弃

在过往的这些年中,无论是 Google 扶持的 Kotlin、还是其亲儿子 Go 语言、亦或是高可靠性的 Erlang,均对语言界的龙头老大 Java 发起过挑战,但最终都不一而终。对此,在 CSDN 最新发布的 2018 中国软件开发者报告中,前豌豆荚技术负责人、现轻芒联合创始人范怀宇评价道:

多年以来,Java 一直都是最常用的语言 ,一方面是因为 Java 可以用在前后端开发,具有很好的普适性;另一方面,因为 JVM 虚拟机和 Java 生态的完善。在前端开发上,Kotlin 等 JVM 上的其他语言表现非常优异,和现有的 Java 类库也可以无缝兼容,会逐步在很多场景下取代 Java。不过,在服务端开发上,Java 依然是最平衡的选择。Java 的 Web 框架经过千锤百炼已经可以支撑足够大的并发,JVM 经过长年优化性能表现也而非常出众,而 Java 的各种类库、统一的编程模型、丰富的人才储备,也可以满足各种场景的诉求。

不过自从 Oracle 宣布 Java 版本以六个月为周期更新后,Java 的更新速度一度成为诸多开发者所诟病的点。当前,Java 12 预计将于本月内发布,而Java 13 也已处于 Early-Access(EA,早期访问)阶段,对此,不过不少开发者大呼:

  • Java 更新太快不一定是好事;
  • 当前 Java 8 仍是主流;
  • 被调到某银行,项目开始前告诉我尽情发挥。部署时各种问题,Spring Boot 换成普通 Maven 再换成 J2EE 项目,Spring 从 5.7 换成 4.3 再到 3.1,JDK 从 8 降到 7,愣是没部署成功。不说了我接着看 1.6 特性去了;
  • Java 9 及以上都不支持 32 位系统。让我这位拿着仅支持 32 位 Win10 系统的 ATOM 上网本给别人演示项目的情何以堪。
  • Oracle 应该把 Java 语言维护交还社区,专心做好 JVM 就行了,希望以后 Java 和 JVM 可以成功拆分,独立发展。

C++ 的模块化问题

广泛应用于游戏、科学计算、分布式应用、操作系统、嵌入式等领域的 C++,似乎在最新版本的 C++ 20 中遭遇了难题,即 C++ 标准委员会欲将 Modules(模块化)加入 C++ 20 中。对此,有网友认为,这无用的模块设计最终会害死自己。

同时,也有不少技术人表示,C++ 正变得越来越易用,不过这门语言该瘦身了,哪本 C++ 教程不是一千页以上的?!



其他编程语言排名


除此之外,在 TIOBE 榜单的 Top 10 中,C# 自从去年 7 月被 Visual Basic .NET 反超后,市场份额持续下滑,如今 Visual Basic .NET( 6.429%)的使用率几乎是 C#(3.267%)的一倍。同时 JavaScript、Visual Basic 的名次均有所下降,不过稍许的浮动也属正常范畴。

在本月编程语言排行榜中,还值得注意的是,PowerShell 进入了 TIOBE 排行榜的前 50 名,位于第 45 名。PowerShell 是面向 Windows 和 Windows Server 的自动化平台和脚本语言,从诞生至今已经超过 12 年。事实上,去年微软旗下的 PowerShell 团队才推出 PowerShell Core 的第一个版本,并以 6.0 后缀来命名。想来 Powershell 之所以会再次受欢迎,可能与之相关,因为 PowerShell Core 基于 .NET Core 上可以构建开源项目,也能在 Windows、MacOS、Linux、Ubuntu、Debian、OpenSUSE 等多个平台上运行。


TIOBE 编程语言排行榜第 21-50 名



第 51-100 名如下,由于它们之间的数值差异较小,仅以文本形式列出(按字母排序):

  • 4th Dimension/4D, ABC, ActionScript, Alice, Apex, APL, Avenue, bc, Bourne shell, C shell, CL (OS/400), Clojure, Common Lisp, Crystal, cT, Elixir, Elm, Emacs Lisp, F#, Forth, Icon, IDL, Inform, Io, Korn shell, LiveCode, Maple, Mercury, Modula-2, Monkey, MQL4, MS-DOS batch, NATURAL, OpenCL, Oz, PostScript, Pure Data, Q, Ring, S, SPARK, SPSS, Standard ML, Stata, Tcl, Tex, TypeScript, Vala/Genie, VBScript, VHDL




Top 10 编程语言 TIOBE 指数走势(2002-2019)





历史排名(1998-2019)


注:以下排名位次取决于 12 个月的平均值。






编程语言“名人榜”(2003-2018)


【说明】

TIOBE 编程社区指数(The TIOBE Programming Community index)是编程语言流行度的指标,该榜单每月更新一次,指数基于全球技术工程师、课程和第三方供应商的数量。包括流行的搜索引擎,如谷歌、必应、雅虎、维基百科、亚马逊、YouTube 和百度都用于指数计算。具体的计算方式见这里:
https://www.tiobe.com/tiobe-index/programming-languages-definition/。

值得注意的是,TIOBE 指数并不代表语言的好坏,开发者可以使用该榜单检查自身的编程技能是否需要更新,或者在开始构建新软件时对某一语言做出选择。

详细榜单信息可参考 TIOBE 官网:
https://www.tiobe.com/tiobe-index