”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > 六月编程语言排名

六月编程语言排名

发布于2024-11-04
浏览:669

2024年6月最新TIOBE编程社区指数已出炉,如图:

June Programming Language Rankings

TIOBE编程社区指数根据全球工程师数量、课程、热门网站和第三方供应商计算得出,反映了编程语言的流行程度和趋势。并不代表语言的优劣。

以下是此排名的主要变化:

6 月 24 日编程语言排名变化

1.Python仍然位居榜首

很早以前,Python就已经坐稳了排行榜第一的位置,这次涨幅达到了2.93%。这意味着什么?它这个月获得的分数比Go语言的总分还要高!

这是可以预见的,Python凭借其简单易学的语法以及数据科学、机器学习、Web开发、网络爬虫等广泛的应用,吸引了大量开发者。最近人工智能的蓬勃发展也给Python带来了又一次提振。

对于以学习编程语言为爱好的朋友来说,Python是一个不错的选择。但考虑到中国的就业前景,Python在Web开发方面的职位相对于Java要少很多,更适合对大数据、算法、产品开发感兴趣的人。

2. C 历史上首次超越 C 语言

本次排名最显着的变化是C首次超越了C语言,跃居第二位。

C可以理解为C语言的“高级版本”,不仅具有高性能,而且支持面向对象编程和许多新特性。

我相信C的流行度超越C是必然的,就像Java和C的关系一样。在当今的环境下,更易用的语言更容易受到广大开发者的青睐。

C的崛起主要得益于其高性能和现代特征。虽然它比Java更难学习,但它在系统编程、游戏开发、图像处理、音视频处理等高性能应用场景中的关键地位是不可动摇的。此外,C也是嵌入式开发和桌面客户端开发的主流语言。

至于在国内就业前景选择C还是Java,就看个人观点了。我很早以前写过一篇文章来分享我的看法。

C 的 TIOBE 指数变化图:

June Programming Language Rankings

3. Go语言闯入前7名

在过去的一年里,Go语言的排名从第14名迅速攀升至第7名,这也值得我们关注。

June Programming Language Rankings

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等语言的排名也有明显提升,如2024年和2023年对比图所示:

June Programming Language Rankings

其他排名

最后分享一下TIOBE编程社区指数的其他排名,帮助大家了解发展趋势。

编程语言排名第 21 至 50 位。

June Programming Language Rankings

排名第 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 、梯形逻辑、Lingo、LPC、M4、MEL、Modula-2、Mojo、NATURAL、NetLogo、OpenCL、OpenEdge ABL、PowerScript、无编码技术编程、Q、RPG、Smalltalk、Smarty、SNOBOL、SPARK、SQR、VHDL、 WebDNA、Wolfram、X、X10、yacc

Erlang有点可惜;尽管有像 RabbitMQ 这样的知名产品,但它还没有完全流行起来。

历史编程语言排名

1989年到2024年流行编程语言排名的演变:

June Programming Language Rankings

好的,分享就到此为止。您对六月编程语言排名有何看法?欢迎在评论区说出你的想法~

版本声明 本文转载于:https://dev.to/nextjser/june-programming-language-rankings-2bcj如有侵犯,请联系[email protected]删除
最新教程 更多>
  • 对象拟合:IE和Edge中的封面失败,如何修复?
    对象拟合:IE和Edge中的封面失败,如何修复?
    To resolve this issue, we employ a clever CSS solution that solves the problem:position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%)...
    编程 发布于2025-04-09
  • 如何实时捕获和流媒体以进行聊天机器人命令执行?
    如何实时捕获和流媒体以进行聊天机器人命令执行?
    在开发能够执行命令的chatbots的领域中,实时从命令执行实时捕获Stdout,一个常见的需求是能够检索和显示标准输出(stdout)在cath cath cant cant cant cant cant cant cant cant interfaces in Chate cant inter...
    编程 发布于2025-04-09
  • 在GO中构造SQL查询时,如何安全地加入文本和值?
    在GO中构造SQL查询时,如何安全地加入文本和值?
    在go中构造文本sql查询时,在go sql queries 中,在使用conting and contement和contement consem per时,尤其是在使用integer per当per当per时,per per per当per. [&​​&&&&&&&&&&&&&&&默元组方法在...
    编程 发布于2025-04-09
  • PHP阵列键值异常:了解07和08的好奇情况
    PHP阵列键值异常:了解07和08的好奇情况
    PHP数组键值问题,使用07&08 在给定数月的数组中,键值07和08呈现令人困惑的行为时,就会出现一个不寻常的问题。运行print_r($月)返回意外结果:键“ 07”丢失,而键“ 08”分配给了9月的值。此问题源于PHP对领先零的解释。当一个数字带有0(例如07或08)的前缀时,PHP将其...
    编程 发布于2025-04-09
  • 如何将MySQL数据库添加到Visual Studio 2012中的数据源对话框中?
    如何将MySQL数据库添加到Visual Studio 2012中的数据源对话框中?
    在Visual Studio 2012 尽管已安装了MySQL Connector v.6.5.4,但无法将MySQL数据库添加到实体框架的“ DataSource对话框”中。为了解决这一问题,至关重要的是要了解MySQL连接器v.6.5.5及以后的6.6.x版本将提供MySQL的官方Visual...
    编程 发布于2025-04-09
  • 如何将来自三个MySQL表的数据组合到新表中?
    如何将来自三个MySQL表的数据组合到新表中?
    mysql:从三个表和列的新表创建新表 答案:为了实现这一目标,您可以利用一个3-way Join。 选择p。*,d.content作为年龄 来自人为p的人 加入d.person_id = p.id上的d的详细信息 加入T.Id = d.detail_id的分类法 其中t.taxonomy =...
    编程 发布于2025-04-09
  • 如何克服PHP的功能重新定义限制?
    如何克服PHP的功能重新定义限制?
    克服PHP的函数重新定义限制 但是,PHP工具腰带中有一个隐藏的宝石:runkit扩展。它使您能够灵活地重新定义函数。 runkit_function_renction_rename() runkit_function_redefine() //重新定义'this'以返回“新和改...
    编程 发布于2025-04-09
  • eval()vs. ast.literal_eval():对于用户输入,哪个Python函数更安全?
    eval()vs. ast.literal_eval():对于用户输入,哪个Python函数更安全?
    称量()和ast.literal_eval()中的Python Security 在使用用户输入时,必须优先确保安全性。强大的Python功能Eval()通常是作为潜在解决方案而出现的,但担心其潜在风险。 This article delves into the differences betwee...
    编程 发布于2025-04-09
  • 哪种在JavaScript中声明多个变量的方法更可维护?
    哪种在JavaScript中声明多个变量的方法更可维护?
    在JavaScript中声明多个变量:探索两个方法在JavaScript中,开发人员经常遇到需要声明多个变量的需要。对此的两种常见方法是:在单独的行上声明每个变量: 当涉及性能时,这两种方法本质上都是等效的。但是,可维护性可能会有所不同。 第一个方法被认为更易于维护。每个声明都是其自己的语句,使其...
    编程 发布于2025-04-09
  • \“(1)vs.(;;):编译器优化是否消除了性能差异?\”
    \“(1)vs.(;;):编译器优化是否消除了性能差异?\”
    答案: 在大多数现代编译器中,while(1)和(1)和(;;)之间没有性能差异。编译器: perl: 1 输入 - > 2 2 NextState(Main 2 -E:1)V-> 3 9 Leaveloop VK/2-> A 3 toterloop(next-> 8 last-> 9 ...
    编程 发布于2025-04-09
  • 如何使用组在MySQL中旋转数据?
    如何使用组在MySQL中旋转数据?
    在关系数据库中使用mySQL组使用mySQL组进行查询结果,在关系数据库中使用MySQL组,转移数据的数据是指重新排列的行和列的重排以增强数据可视化。在这里,我们面对一个共同的挑战:使用组的组将数据从基于行的基于列的转换为基于列。 Let's consider the following ...
    编程 发布于2025-04-09
  • How Can I Handle UTF-8 Filenames in PHP's Filesystem Functions?
    How Can I Handle UTF-8 Filenames in PHP's Filesystem Functions?
    在PHP的Filesystem functions中处理UTF-8 FileNames 在使用PHP的MKDIR函数中含有UTF-8字符的文件很多flusf-8字符时,您可能会在Windows Explorer中遇到comploreer grounder grounder grounder gro...
    编程 发布于2025-04-09
  • 为什么我在Silverlight Linq查询中获得“无法找到查询模式的实现”错误?
    为什么我在Silverlight Linq查询中获得“无法找到查询模式的实现”错误?
    查询模式实现缺失:解决“无法找到”错误在银光应用程序中,尝试使用LINQ建立错误的数据库连接的尝试,无法找到以查询模式的实现。”当省略LINQ名称空间或查询类型缺少IEnumerable 实现时,通常会发生此错误。 解决问题来验证该类型的质量是至关重要的。在此特定实例中,tblpersoon可能需...
    编程 发布于2025-04-09
  • 如何简化PHP中的JSON解析以获取多维阵列?
    如何简化PHP中的JSON解析以获取多维阵列?
    php 试图在PHP中解析JSON数据的JSON可能具有挑战性,尤其是在处理多维数组时。要简化过程,建议将JSON作为数组而不是对象解析。执行此操作,将JSON_DECODE函数与第二个参数设置为true:[&&&&& && &&&&& json = JSON = JSON_DECODE($ j...
    编程 发布于2025-04-09
  • 版本5.6.5之前,使用current_timestamp与时间戳列的current_timestamp与时间戳列有什么限制?
    版本5.6.5之前,使用current_timestamp与时间戳列的current_timestamp与时间戳列有什么限制?
    在时间戳列上使用current_timestamp或MySQL版本中的current_timestamp或在5.6.5 此限制源于遗留实现的关注,这些限制需要对当前的_timestamp功能进行特定的实现。 创建表`foo`( `Productid` int(10)unsigned not n...
    编程 发布于2025-04-09

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3