Python 荣膺 2024 年度编程语言桂冠!

Python 以 9.3% 的增长率荣获 2024 年度编程语言!C 语言流行度下降,PHP 跌出前十,Mojo 发展迅速。

原文标题:2024年度编程语言之争:Python、Java 还是 C++?

原文作者:图灵编辑部

冷月清谈:

根据 TIOBE 最新发布的“2024 年度编程语言”评选结果,Python 以 9.3% 的增长率傲视群雄,荣获桂冠。与之相比,Java 增长 2.3%,JavaScript 增长 1.4%,Go 增长 1.2%。Python 的广泛应用领域,从人工智能、数据分析到 Web 开发和自动化脚本,以及其易学的语法、丰富的库和强大的社区支持,使其成为众多开发者的首选。

此外,C 语言的流行度有所下降,被 C++ 和 Java 超越,主要原因是 C 在嵌入式系统中逐渐被 C++ 取代。同时,PHP 正式退出了前十名,其位置被 Go 占据。

Rust 的受欢迎程度持续上升,但其学习曲线较陡峭。Kotlin 的表现则不如人意,未能进入前 20 名。新兴语言 Zig 和 Mojo 表现亮眼,分别从第 149 名跃升至第 61 名,以及从第 194 名飙升至第 68 名。Mojo 被称为“更快的 Python”,其未来发展值得关注。

怜星夜思:

1、Python 如此火爆,学习其他编程语言还有必要吗?
2、Mojo 被称为“更快的 Python”,它有可能最终取代 Python 吗?
3、C 语言的衰落是否意味着它不再值得学习?

原文内容

毫无疑问,当然是 Python 啦!TIOBE 最近发布了“2024年度编程语言”的评选结果,这个奖是给过去一年里涨幅最大的编程语言,而 Python 在 2024 年增长了 9.3%,直接碾压其他语言,摘得桂冠!老牌编程语言 Java 才涨了 2.3%,JavaScript 增长 1.4%,Go 则增长了 1.2%。Python 这表现,真的超棒了!
如今,Python 几乎无处不在,从人工智能、数据分析到网页开发、自动化脚本等,甚至在一些中小学的编程课程中也开始出现它的身影。凭借简单易学的语法、丰富的库支持,以及强大的社区生态,Python 成为了许多开发者的首选语言,难怪它能在排行榜上一路领跑!
除此之外,2024 年 TIOBE 指数前十名中还有两项值得关注的变化。
首先,C 语言人气大幅下滑,被 C++ 和 Java 超越。这主要是因为在许多嵌入式软件系统中,C 正逐步被 C++ 替代。目前,Java 和 C++ 正在激烈争夺榜单第二的位置。
其次,PHP 正式退出前十名,其位置被 Go 取代,而 Go 看起来稳稳站住了脚跟。
2024 年,Rust 和 Kotlin 两门语言也备受关注。那么,它们的表现如何呢?
Rust 的受欢迎程度继续攀升尽管 Rust 程序的速度极快,但其陡峭的学习曲线让它难以成为普通程序员的通用语言。相比之下,Kotlin 的表现令人失望,不仅未能突破,甚至在 2024 年失去了(可能是永久性的)前 20 名席位。
另外,还有两门有潜力的新兴语言脱颖而出。Rust 的竞争者 Zig 从第 149 名跃升至第 61 名。

而被称为“更快的 Python”的 Mojo 从第 194 名飙升至第 68 名。特别是 Mojo,这门仅发布两年的语言,精准解决了编程领域的核心需求。未来它会不会冲进前 20 名呢,我们拭目以待吧!

刚刚获得了年度编程语言,马上又要迎来自己的本命年,Python 注定要大放异彩!今天的书单,小图推荐给大家几本 Python 本命年好书,还有领域内其他编程语言的经典之作,希望可以帮助正在学习的你!

Python从入门到进阶


《Python编程:从入门到实践(第3版) 》

[美]埃里克·马瑟斯 | 著

袁国忠 | 译

Python 入门圣经,影响全球超过 250 万读者,长居 Amazon、京东等网店编程类图书榜首,真正零基础,附赠随书代码+配套视频讲解+速查手册,自学无压力。


《CPython设计与实现》
安东尼 · 肖 | 著

史海,赵羽,陈啸,李俊辰|译


Python 之父 Guido van Rossum 推荐、CPython 核心开发者 Carol Willing 作序!这本书以一种平易近人的方式解释了 Python 解释器的概念、思想和技术细节。
本书从语法解析、编译器等基础概念出发,深入求值循环、内存管理等 CPython 解释器实现细节。轻松!简明!豁然开朗!手把手带你重新编译 CPython,了解 Python 的内部实现。


《 流畅的Python(第2版) 》

 [巴西]卢西亚诺·拉马略 | 著

安道 | 译


本书是 Python 领域备受推崇的经典作品,是 Python 进阶第一书,致力于帮助 Python 开发人员挖掘这门语言及相关程序库的优秀特性,写出简洁、流畅、易读、易维护,并且地道的 Python 代码。本书着重讲解 Python 语言所独有的功能,助你成功进阶为 Python 高手。第 2 版与时俱进,教你跳出旧有经验,探索并运用地道的 Python 3 功能。

《 Python工匠:案例、技巧与工程实践 》
朱雷(@piglei)| 著

最具实践性的 Python 国内大厂实践经验总结,本书基于“Python工匠”系列,豆瓣评分 9.2 分,作者融入互联网大厂工程实践经验,聚焦真实项目中高频使用的 Python 编程核心知识点。


《算法图解(第2版)》
[美] 阿迪蒂亚 · Y. 巴尔加瓦 | 著

袁国忠 | 译


最简单易懂的算法教程,像读小说一样轻松。本书长居 Amazon 算法类畅销榜前列,400 多个示意图,基于 Python 代码示例,详细介绍算法执行过程,展示不同算法在性能方面的优缺点。这本绝对是新手入门算法的必备图书。第 2 版,代码更新到了 Python 3,并新增了两章专门讨论树,加之诸多修订,使得内容更加完善。


其他编程语言图书推荐


《JavaScript高级程序设计(第5版)》

[美]马特·弗里斯比 | 著

李松峰 | 译

JavaScript“红宝书”经典重现,第 5 版涵盖 ECMAScript 2024,全面、深入地介绍了 JavaScript 的基础语法和高级特性。书中详尽讨论了JavaScript 的各个方面,从 JavaScript 的起源开始,逐步讲解到最新的技术,重点介绍了 ECMAScript 标准和 DOM 规范,并在此基础上讨论了JavaScript 语言的核心概念, 包括类、期约、迭代器、代理,等等。

《C++实战》

吴咏炜 | 著


一本面向实战的现代 C++ 指南,由作者结合 30 余年 C++ 编程经验倾力打造。书中聚焦开发者日常高频使用的语言特性,重点讲解惯用法(而非罗列语言里的琐碎细节),展示代码示例及其技术原理,旨在帮助大家又快又好地使用 C++。作者精选了对象生存期与 RAII、移动语义、标准模板库(STL)、视图、智能指针、错误处理、并发与异步编程等核心主题,深入浅出地剖析语言特性,并针对实际开发中的常见问题提供解决方案。


《Go语言设计与实现》

左书祺(@Draven)|著


“面向信仰编程”博客作者 @Draven 作品, 本书基于在读者之间广为传阅的同名开源电子书《Go语言设计与实现》,全网阅读量超 100 万,30 多万读者追更。


书中结合近 200 幅生动的全彩图片,配上详尽的文字剖析与精选源代码段,为读者奉上了异彩纷呈、系统完善的 Go 语言解读。书中的代码片段基于 Go 1.15。通过阅读本书,读者不仅能够深入理解 Go 语言的实现细节,而且可以深刻认识设计背后的原理,同时提升阅读源代码的技能。


《Rust程序设计(第2版)》
吉姆·布兰迪,贾森·奥伦多夫 | 著

汪志成(@雪狼)| 译


豆瓣评分 9.2,Rust 领域内经典参考书。由业内资深系统程序员编写,广受读者好评。书中全面介绍了 Rust 这种新型系统编程语言——具有无与伦比的安全性,兼具 C 和 C++ 的高性能,并大大简化了并发程序的编写。

第 2 版对上一版内容进行了重组和完善,新增了对“异步编程”的介绍。借助书中的大量案例,你也能用 Rust 编写出兼顾安全性与高性能的程序。


《C语言程序设计现代方法(第2版 • 修订版)》

K.N.King | 著   

吕秀锋,黄倩 | 译

李忠 | 审

C 领域经典之作,豆瓣评分 9.3,修订版基于 C1X 标准全新升级,是市面上最好用的 C 语言教材。第 2 版修订版中不仅有 C99 中的新特性,还与时俱进地增加了 C11 和 C18 中的内容。


《On Java 中文版(基础卷)》

布鲁斯·埃克尔 | 著

陈德伟 臧秀涛 孙卓 秦彬 | 译

布鲁斯 • 埃克尔时隔 15 年又一力作,基于 Java 的 3 个长期支持版(Java 8、11、17),讲解 Java 核心语法,并对 Java 的核心变化进行详述。


《On Java 中文版(进阶卷)》

布鲁斯·埃克尔 | 著

孙卓 陈德伟 臧秀涛 | 译

是《On Java 中文版 基础卷》内容的拓展延伸,重点讲解 Java 的高级特性、并发、设计模式等相关进阶知识,对一些和开发密切相关的底层操作(如 I/O 系统、底层并发、数据压缩等)进行深入探讨,同时针对基础卷的重点章节进行了补充说明(如第 3 章增补了一些关于集合的高级特性)。

扫码啦!一起进群学习~👇


我觉得还是有必要的,毕竟术业有专攻。就像 Python 在数据科学和机器学习领域很强,但底层开发或者游戏开发可能还是 C++ 更合适。多掌握几门语言相当于多了几项技能傍身,以后的选择也更多。

同意楼上!技多不压身嘛。而且学习其他语言也能帮助你更好地理解 Python,触类旁通,说不定还能发现 Python 的一些不足之处,哈哈。

不好说,现在说取代还为时尚早, 毕竟还很年轻. 但 Mojo 的速度优势确实很吸引人. 如果它能解决生态系统和社区建设的问题,未来还是很有潜力的.

取代 Python?我觉得不太可能。Python 的生态系统已经非常成熟了,而且社区也很庞大,Mojo 想要取代它还有很长的路要走。不过 Mojo 的发展势头确实很猛,未来可能会成为 Python 的一个强有力的竞争对手。

个人觉得,与其说取代,不如说是互补。Mojo 可能会在一些对性能要求高的领域取代 Python,但在其他领域 Python 仍然是首选。两者可能会长期共存,互相促进发展。

如果想从事底层开发或者嵌入式系统开发,C 语言还是必学的。而且学习 C 语言可以为学习其他语言打下坚实的基础,毕竟很多语言都借鉴了 C 语言的语法和特性。

这个问题问得好!虽然 Python 很火,但我个人认为学习其他语言仍然很有必要。不同的语言有不同的优势和适用场景,比如 C++ 在性能方面仍然有很大优势,Java 在企业级开发中也很重要。多学几门语言可以拓宽你的视野,说不定哪天就用上了。

C 语言经典永流传嘛. 我觉得学习 C 语言的价值不在于它是否流行,而在于它能帮助你理解编程的本质. 很多编程思想都是从 C 语言发展而来的.

当然不是!C 语言虽然在一些领域被 C++ 取代,但它仍然是底层开发和嵌入式系统的重要语言, 操作系统内核很多也都是C/C++写的。学习 C 语言可以帮助你理解计算机底层的工作原理,这是其他高级语言无法替代的。