取代不了的 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% 的增率保持强劲的增长势头。
而对于 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,早期访问)阶段,对此,不过不少开发者大呼:
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 等多个平台上运行。
第 51-100 名如下,由于它们之间的数值差异较小,仅以文本形式列出(按字母排序):
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