最新编程语言排行榜,C++ 和 Go 成为新王?!

2024-06-18 01:52

本文主要是介绍最新编程语言排行榜,C++ 和 Go 成为新王?!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

大家好, 我是不爱敲代码吖,2024 年 6 月最新的 TIOBE 编程语言排行榜已经发布,如图:

请添加图片描述
注意,TIOBE 编程语言排行榜是基于 全球 工程师的数量、课程、热门网站、第三方供应商综合计算出来的,只是一个编程语言流行度和趋势的反映,并不代表语言之间的优劣,也不能反映国内的就业情况。

下面给大家本次排行几个重点的变化。

24 年 6 月编程语言排行变化

1、Python 依然稳居第一
很早之前,Python 就已经稳坐排行榜第一的王位,这次更是上升了 2.93% 的比例。什么概念?本月上升的评分都比 Go 语言的总评分高!

这是可预见的,Python 凭借其简单易学的语法和广泛的应用领域,如数据科学、机器学习、网络开发、爬虫等,吸引了大量开发者。近年来 AI 的爆发也再次让 Python 起飞~

对于把编程语言当做兴趣学习的朋友,Python 是一个不错的选择。但考虑到国内就业的话,Python 做 web 开发的岗位比 Java 少了很多,更适合大数据 / 算法 / 产品方向的朋友学习。
请添加图片描述
2、C++ 历史上首次超越 C 语言
这次排行最大的变化,就是 C++ 首次超越了 C 语言,跃居第二。

C++ 可以理解为 C 语言的 “高级版”,不仅性能高,还支持面向对象编程,并且增加了很多新的特性。

鱼皮觉得 C++ 流行度超过 C 语言是必然的,就像 Java 和 C++ 的关系一样,在现在的这个环境下,越易于使用的语言越容易受到大多数开发者的青睐。

C++ 的崛起主要在于其高性能和现代化特性上的优势,尽管学习难度比 Java 要高,但其在系统编程、游戏开发、图像处理、音视频处理等高性能应用场景中的关键地位无可撼动。此外,C++ 也是嵌入式开发和桌面客户端开发的主流语言。

至于国内就业是选择 C++ 还是 Java,就仁者见仁、智者见智了,我很早之前就 写过一篇文章 来分享自己的看法。

C++ 的 TIOBE 指数变化图:
请添加图片描述
3、Go 语言打入前 7
近一年 Go 语言的排名迅速跃升,从第 14 升至了第 7,也是值得我们关注的。
请添加图片描述
Go 语言的优点是语法简洁和高性能,内置并发机制使得并发编程简单高效,所以被广泛应用于网络编程、云计算、微服务和分布式系统的开发。

对咱们大多数开发同学来说,Go 语言一个肉眼可见的优势是,启动项目的速度飞快。传统的 Spring Boot Java 项目启动可能要十多秒,Go 语言可能 1 秒不到就启动了,很适用于云原生场景下的快速扩容。我们熟知的 Docker、K8S、Etcd 都是 Go 语言开发的。

Java 也早就感受到 Go 语言的威胁了,所以推出了像 Quarkus 这种云原生开发框架,鱼皮耍过一段时间,启动项目的速度也很快,但生态还不够好。

现在 Go 语言的社区和生态越来越繁荣,很多类库、框架、工具都已经到位了,所以国内外用 Go 语言的公司也越来越多,这个排名也是意料之中。

于是乎,国内的社区论坛上就出现了这样一种声音:要不要从 Java 转到 Go 语言?

我的建议是别盲目转,自学能力强的同学如果你还没接触 Java,可以从 Go 开始学起;但自学能力一般的同学,还是老老实实学 Java,因为国内学 Java 的资源太丰富了,各种教程、项目、经验帖,Go 语言就相形见绌了。而且 Java 和 Go 目前主流的应用场景都是后端开发。对于后端开发来说,语言只是一个工具和基础,除了语言本身和对应的开发框架外,其他要学的后端开发技术都是通用的,比如数据库、缓存、队列、搜索引擎、Linux、分布式、高并发、设计模式、架构设计等等。所以优先学资源丰富一些的 Java 会更有助于快速接触到其他技术。

4、一些语言新秀
通过和去年对比,我们能够发现一些发展迅猛的编程语言,比如 Rust 语言达到了历史最高的第 17 位。Rust 以其内存安全性和高性能著称,正在系统编程领域瓜分 C / C++ 的蛋糕。

此外,Swift、Kotlin 和 Fortran 等语言的排名也显著提升,24 和 23 年的对比表如图:
请添加图片描述

其他榜单

最后再分享 TIOBE 编程语言排行榜的其他榜单,便于大家了解发展趋势。

排名第 21 - 50 的编程语言
请添加图片描述
排名第 51 - 100 的编程语言
ABC, ActionScript, Apex, APL, AutoLISP, bc, CFML, Chapel, CHILL, CLIPS, Clojure, COMAL, Crystal, cT, Elixir, Erlang, Forth, Groovy, Hack, Icon, Inform, Io, J, JScript, Ladder Logic, Lingo, LPC, M4, MEL, Modula-2, Mojo, NATURAL, NetLogo, OpenCL, OpenEdge ABL, PowerScript, Programming Without Coding Technology, Q, RPG, Smalltalk, Smarty, SNOBOL, SPARK, SQR, VHDL, WebDNA, Wolfram, X++, X10, yacc

Erlang 还是有点可惜的,起码有个知名产品 RabbitMQ,也没能带火。

编程语言历史排名
1989 年 - 2024 年热门编程语言的排名变化:
请添加图片描述
OK,就分享到这里,大家对本月的编程语言排行有什么看法,欢迎评论区畅所欲言~

这篇关于最新编程语言排行榜,C++ 和 Go 成为新王?!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1070979

相关文章

关于C++中的虚拟继承的一些总结(虚拟继承,覆盖,派生,隐藏)

1.为什么要引入虚拟继承 虚拟继承是多重继承中特有的概念。虚拟基类是为解决多重继承而出现的。如:类D继承自类B1、B2,而类B1、B2都继承自类A,因此在类D中两次出现类A中的变量和函数。为了节省内存空间,可以将B1、B2对A的继承定义为虚拟继承,而A就成了虚拟基类。实现的代码如下: class A class B1:public virtual A; class B2:pu

C++对象布局及多态实现探索之内存布局(整理的很多链接)

本文通过观察对象的内存布局,跟踪函数调用的汇编代码。分析了C++对象内存的布局情况,虚函数的执行方式,以及虚继承,等等 文章链接:http://dev.yesky.com/254/2191254.shtml      论C/C++函数间动态内存的传递 (2005-07-30)   当你涉及到C/C++的核心编程的时候,你会无止境地与内存管理打交道。 文章链接:http://dev.yesky

C++的模板(八):子系统

平常所见的大部分模板代码,模板所传的参数类型,到了模板里面,或实例化为对象,或嵌入模板内部结构中,或在模板内又派生了子类。不管怎样,最终他们在模板内,直接或间接,都实例化成对象了。 但这不是唯一的用法。试想一下。如果在模板内限制调用参数类型的构造函数会发生什么?参数类的对象在模板内无法构造。他们只能从模板的成员函数传入。模板不保存这些对象或者只保存他们的指针。因为构造函数被分离,这些指针在模板外

C++工程编译链接错误汇总VisualStudio

目录 一些小的知识点 make工具 可以使用windows下的事件查看器崩溃的地方 dumpbin工具查看dll是32位还是64位的 _MSC_VER .cc 和.cpp 【VC++目录中的包含目录】 vs 【C/C++常规中的附加包含目录】——头文件所在目录如何怎么添加,添加了以后搜索头文件就会到这些个路径下搜索了 include<> 和 include"" WinMain 和

C/C++的编译和链接过程

目录 从源文件生成可执行文件(书中第2章) 1.Preprocessing预处理——预处理器cpp 2.Compilation编译——编译器cll ps:vs中优化选项设置 3.Assembly汇编——汇编器as ps:vs中汇编输出文件设置 4.Linking链接——链接器ld 符号 模块,库 链接过程——链接器 链接过程 1.简单链接的例子 2.链接过程 3.地址和

C++必修:模版的入门到实践

✨✨ 欢迎大家来到贝蒂大讲堂✨✨ 🎈🎈养成好习惯,先赞后看哦~🎈🎈 所属专栏:C++学习 贝蒂的主页:Betty’s blog 1. 泛型编程 首先让我们来思考一个问题,如何实现一个交换函数? void swap(int& x, int& y){int tmp = x;x = y;y = tmp;} 相信大家很快就能写出上面这段代码,但是如果要求这个交换函数支持字符型

C++入门01

1、.h和.cpp 源文件 (.cpp)源文件是C++程序的实际实现代码文件,其中包含了具体的函数和类的定义、实现以及其他相关的代码。主要特点如下:实现代码: 源文件中包含了函数、类的具体实现代码,用于实现程序的功能。编译单元: 源文件通常是一个编译单元,即单独编译的基本单位。每个源文件都会经过编译器的处理,生成对应的目标文件。包含头文件: 源文件可以通过#include指令引入头文件,以使

C++面试八股文:std::deque用过吗?

100编程书屋_孔夫子旧书网 某日二师兄参加XXX科技公司的C++工程师开发岗位第26面: 面试官:deque用过吗? 二师兄:说实话,很少用,基本没用过。 面试官:为什么? 二师兄:因为使用它的场景很少,大部分需要性能、且需要自动扩容的时候使用vector,需要随机插入和删除的时候可以使用list。 面试官:那你知道STL中的stack是如何实现的吗? 二师兄:默认情况下,stack使

剑指offer(C++)--孩子们的游戏(圆圈中最后剩下的数)

题目 每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为牛客的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。每次喊到m-1的那个小朋友要出列唱首歌,然后可以在礼品箱中任意的挑选礼物,并且不再回到圈中,从他的下一个小朋友开始,继续0...m-1报数....这样下去

剑指offer(C++)--扑克牌顺子

题目 LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张^_^)...他随机从中抽出了5张牌,想测测自己的手气,看看能不能抽到顺子,如果抽到的话,他决定去买体育彩票,嘿嘿!!“红心A,黑桃3,小王,大王,方片5”,“Oh My God!”不是顺子.....LL不高兴了,他想了想,决定大\小 王可以看成任何数字,并且A看作1,J为11,Q为1