最新编程语言排行榜,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

相关文章

Golang的CSP模型简介(最新推荐)

《Golang的CSP模型简介(最新推荐)》Golang采用了CSP(CommunicatingSequentialProcesses,通信顺序进程)并发模型,通过goroutine和channe... 目录前言一、介绍1. 什么是 CSP 模型2. Goroutine3. Channel4. Channe

Go语言实现将中文转化为拼音功能

《Go语言实现将中文转化为拼音功能》这篇文章主要为大家详细介绍了Go语言中如何实现将中文转化为拼音功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 有这么一个需求:新用户入职 创建一系列账号比较麻烦,打算通过接口传入姓名进行初始化。想把姓名转化成拼音。因为有些账号即需要中文也需要英

Go语言使用Buffer实现高性能处理字节和字符

《Go语言使用Buffer实现高性能处理字节和字符》在Go中,bytes.Buffer是一个非常高效的类型,用于处理字节数据的读写操作,本文将详细介绍一下如何使用Buffer实现高性能处理字节和... 目录1. bytes.Buffer 的基本用法1.1. 创建和初始化 Buffer1.2. 使用 Writ

C++中实现调试日志输出

《C++中实现调试日志输出》在C++编程中,调试日志对于定位问题和优化代码至关重要,本文将介绍几种常用的调试日志输出方法,并教你如何在日志中添加时间戳,希望对大家有所帮助... 目录1. 使用 #ifdef _DEBUG 宏2. 加入时间戳:精确到毫秒3.Windows 和 MFC 中的调试日志方法MFC

Go Gorm 示例详解

《GoGorm示例详解》Gorm是一款高性能的GolangORM库,便于开发人员提高效率,本文介绍了Gorm的基本概念、数据库连接、基本操作(创建表、新增记录、查询记录、修改记录、删除记录)等,本... 目录1. 概念2. 数据库连接2.1 安装依赖2.2 连接数据库3. 数据库基本操作3.1 创建表(表关

深入理解C++ 空类大小

《深入理解C++空类大小》本文主要介绍了C++空类大小,规定空类大小为1字节,主要是为了保证对象的唯一性和可区分性,满足数组元素地址连续的要求,下面就来了解一下... 目录1. 保证对象的唯一性和可区分性2. 满足数组元素地址连续的要求3. 与C++的对象模型和内存管理机制相适配查看类对象内存在C++中,规

Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)

《Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)》:本文主要介绍Python基于火山引擎豆包大模型搭建QQ机器人详细的相关资料,包括开通模型、配置APIKEY鉴权和SD... 目录豆包大模型概述开通模型付费安装 SDK 环境配置 API KEY 鉴权Ark 模型接口Prompt

在 VSCode 中配置 C++ 开发环境的详细教程

《在VSCode中配置C++开发环境的详细教程》本文详细介绍了如何在VisualStudioCode(VSCode)中配置C++开发环境,包括安装必要的工具、配置编译器、设置调试环境等步骤,通... 目录如何在 VSCode 中配置 C++ 开发环境:详细教程1. 什么是 VSCode?2. 安装 VSCo

Spring Boot 中整合 MyBatis-Plus详细步骤(最新推荐)

《SpringBoot中整合MyBatis-Plus详细步骤(最新推荐)》本文详细介绍了如何在SpringBoot项目中整合MyBatis-Plus,包括整合步骤、基本CRUD操作、分页查询、批... 目录一、整合步骤1. 创建 Spring Boot 项目2. 配置项目依赖3. 配置数据源4. 创建实体类

Go信号处理如何优雅地关闭你的应用

《Go信号处理如何优雅地关闭你的应用》Go中的优雅关闭机制使得在应用程序接收到终止信号时,能够进行平滑的资源清理,通过使用context来管理goroutine的生命周期,结合signal... 目录1. 什么是信号处理?2. 如何优雅地关闭 Go 应用?3. 代码实现3.1 基本的信号捕获和优雅关闭3.2