整理 | 郑丽媛
出品 | CSDN(ID:CSDNnews)
编程语言社区 TIOBE 最新发布了 9 月编程语言排行榜。
自从今年5月被C语言超越后,Java就一直位列第2,久久无法突破,市场份额也在逐月降低,本月的市场占比相较去年,降幅甚至高达-3.18%。
与之形成鲜明对比的是,在本月 TIOBE Top 20 榜单中,C++以1.48%的增幅重回开发者视野中。其实早在2003年,C++就已是真正的赢家。它在2003年8月达到17.53%的峰值,接近第二名,并获得2003年年度编程语言称号。
不过,自2005年之后,C++市场份额一降再降,甚至再也没有达到10%。在2017年,C++走向历史最低值,占比4.55%。如今随着C++ 20最新标准的逐渐完善,TIOBE CEO Paul Jansen表示,与去年相比,C++现在是增长最快的语言。
C++20(C++ 编程语言标准 2020 版)是 C++语言一次非常重大的更新,为这门语言引入大量新特性。 C++20 新增的四大特性(概念、范围、协程和模块)完善了许多之前的不足,使开发者拥有更好的开发体验。
除了以上,8-20名也有些许的变化:
PHP超越R语言上升1位,变为第8名;
Classic Visual Basic跌出TOP 20,Dart进入TOP 20;
Rust由第20名上升2个名次,成为第18名。
其他编程语言排名
下面列出了完整的 21-50 名,因为是非官方发布的,所以可能存在遗漏:
第 51-100 名如下,由于它们之间的数值差异较小,仅以文本形式列出(按字母排序):
(Visual) FoxPro, ABC, ActionScript, Alice, Arc, Awk, bc, Bourne shell, C shell, CL (OS/400), CoffeeScript, Crystal, cT, Elixir, Emacs Lisp, Erlang, F#, Factor, Forth, Icon, IDL, Inform, Io, Korn shell, Ladder Logic, Limbo, Lingo, Maple, MEL, Mercury, ML, NATURAL, OpenCL, Oz, PostScript, Pure Data, Q, Raku, Ring, RPG, Snap!, SPARK, SPSS, Standard ML, Stata, Tcl, Tex, Vala/Genie, Verilog, VHDL
Top 10 编程语言 TIOBE 指数走势(2002-2020)
历史排名(1985-2020)
注:以下排名位次取决于 12 个月的平均值。
编程语言“名人榜”(2003-2019)
【说明】
TIOBE 编程语言社区排行榜是编程语言流行趋势的一个指标,每月更新,这份排行榜排名基于全球技术工程师、课程和第三方供应商的数量,其中包括了流行的搜索引擎以及技术社区,如 Google、百度、维基百科、CSDN、必应、Hao 123 等等。具体的计算方式详见:https://www.tiobe.com/tiobe-index/programming-languages-definition/。请注意这个排行榜只是反映某个编程语言的热门程度,并不能说明一门编程语言好不好,或者一门语言所编写的代码数量多少。
这个排行榜可以用来考查你的编程技能是否与时俱进,也可以在开发新系统时作为一个语言选择依据。
详细榜单信息可参考 TIOBE 官网:https://www.tiobe.com/tiobe-index
RECOMMEND
推荐阅读
01
《C++程序设计语言(第1~3部分)(原书第4版)》
《C++程序设计语言(第4部分:标准库)(原书第4版)》
C++语言之父的经典名著
作者: (美)本贾尼·斯特劳斯特鲁普 (Bjarne Stroustrup)
译者:王刚 杨巨峰
推荐理由:本书是在C++语言和程序设计领域具有深远影响、畅销不衰的经典著作,由C++语言的设计者和最初的实现者Bjarne Stroustrup编写,对C++语言进行了最全面、最权威的论述,覆盖标准C++以及由C++所支持的关键编程技术和设计技术。本书英文原版一经面世,即引起业内人士的高度评价和热烈欢迎,先后被翻译成德、希、匈、西、荷、法、日、俄、中、韩等近20种语言,数以百万计的程序员从中获益,是无可取代的C++经典力作。
02
《C++程序设计:原理与实践(基础篇)(原书第2版)》
作者:[美] 本贾尼·斯特劳斯特鲁普(Bjarne Stroustrup)
译者:任明明 王刚 李忠伟 刘晓光
推荐理由:将经典程序设计思想与C++开发实践完美结合,全面地介绍了程序设计基本原理,包括基本概念、设计和编程技术、语言特性以及标准库等,教你学会如何编写具有输入、输出、计算以及简单图形显示等功能的程序。此外,本书通过对C++思想和历史的讨论、对经典实例(如矩阵运算、文本处理、测试以及嵌入式系统程序设计)的展示,以及对C语言的简单描述,为你呈现了一幅程序设计的全景图。
03
《C++编程思想(两卷合订本)》
作者:(美)Bruce Eckel, Chuck Allison
译者:刘宗田 袁兆山 潘秋菱 刁成嘉
推荐理由:《C++编程思想》荣获《软件开发》杂志评选的Jolt生产力大奖。本书是《C++编程思想》两卷的汇总。第1卷是在第1版的基础上进行了更加深入分析和修改后的第2版,其内容、讲授方法、选用实例以及配套的练习别具特色,可以供不同程度的读者选择阅读。第2卷介绍了C++实用的编程技术和最佳的实践方法,深入探究了异常处理方法和异常安全设计;介绍C++的字符串、输入输出流的现代用法;解释多重继承问题的难点,描述了典型的设计模式及其实现,特别介绍了多线程处理编程技术。
04
《C++面向对象程序设计》
作者:[美]贝赫鲁兹·A. 佛罗赞(Behrouz A.Forouzan)
理查德·F. 吉尔伯格(Richard F. Gilberg)
译者:江红 余青松 余靖
推荐理由:本书使用C++语言介绍面向对象程序设计。通过学习C++语言的语法以及数据结构、标准模板库(STL)等高级概念,帮助读者掌握面向对象编程的相关内容。全书篇章结构精良、组织有序、概念清晰、代码规范,既适合作为第一门程序设计课程的教材,也适合编程初学者参考。
05
《Big C++中文版(原书第3版)》
作者:[美] 凯·霍斯特曼(Cay Horstmann)
译者:姚爱红 林明宇 田啸天 李玉坤
推荐理由:本书由经典畅销书籍《Java核心技术》的作者Cay Horstmann撰写,非常适合C++初学者和爱好者阅读,不仅能够帮助新手快速入门,掌握基础知识,而且有益于培养读者解决实际问题的思维和能力。
06
《C++语言导学(原书第2版)》
作者:[美]本贾尼·斯特劳斯特鲁普(Bjarne Stroustrup)
译者:王刚
推荐理由:在本书中,C++的创造者本贾尼•斯特劳斯特鲁普描述了现代C++语言的构成。这本简洁、自成体系的导引书籍包含了C++语言大多数主要特性和标准库组件。本书通过介绍编程风格(例如面向对象编程和泛型编程)引出支持它们的C++特性。从基本特性开始,延伸到更宽范的进阶主题,包括很多C++17新特性,例如移动语义、一致初始化、lambda表达式、改进的容器、随机数以及并发。本书非常全面,甚至包含一些为C++20提出的扩展,例如概念和模块。本书最后讨论了C++语言的设计和演化。
07
《C++程序设计:基础、编程抽象与算法策略》
作者:[美]埃里克 S. 罗伯茨(Eric S. Roberts)
译者:李雁妮 等
推荐理由:面向C++语言的初学者,从内容安排到讲授都遵循化繁为简、通俗易懂的特色,并安排大量案例,理论联系实际,使读者轻松进入C++编程的大门。 突出C++语言的特点,以面向对象概念和编程抽象为核心,使读者了解并掌握优秀软件开发人员应具备的编程思维与实践能力。努力跨越传统的程序设计语法与算法策略之间的鸿沟,通过独具匠心的内容安排,将数据结构、算法的相关内容与语法基础巧妙结合,将众多经典、实用的算法策略传授给读者,为后续课程或读者的深入学习奠定基础。
08
《C++代码整洁之道:C++17可持续软件开发模式实践》
作者:[德] 斯蒂芬·罗斯(Stephan Roth)
译者:连少华、郭发阳、陈涛
推荐理由:本书致力于讲述C++整洁代码之道!如果你熟悉C++语言的基本概念,想让自己写的代码更加整洁,那么这本书适合你阅读。本书为了帮助C++程序员提高技能水平,并举例说明如何编写易于理解的、灵活的、可维护的和高效的C++代码。
更多精彩回顾
书讯 |9月书讯(下)| 开学季,读新书
书讯 |9月书讯(上)| 开学季,读新书
上新 | 学习就像一场旅行,12天带你玩转Flutter之旅
书单 | 开学季——想打好数学基础?这些经典教材你最需要!
干货 | 漫谈“数据仓库演进史”
收藏 | 万字长文的Redis五种数据结构详解(理论+实战)| 建议收藏
视频 | 4min视频带你了解阿里B2B电商算法