Python 彻底甩掉 Java,位居 48 种编程语言之首!

article/2025/8/7 1:53:15

Python 彻底甩掉 Java,位居 48 种编程语言之首!


昨日,IEEE Spectrum 杂志发布了一年一度的编程语言排行榜,这个排行榜已经连续发布了五年。对于每位开发者而言,想要衡量编程语言流行度则需要依赖相对流行的网站统计数据。

IEEE Spectrum 编程语言排行榜的排序综合了 9 个重要数据源的 11 个指标,诸如 Google Search、Google Trends、Twitter、GitHub、Stack Overflow、IEEE Xplore、Hacker News 等等,对 48 种语言的流行度进行了排名。但 IEEE Spectrum 也意识到不同的程序员有不同的需求和感兴趣的领域,所以选择不将这些指标合并到单一的排行榜中。

相反,IEEE Spectrum 所开发的交互式应用程序允许开发者可以选择这些指标组合的权重,从而生成自己关心的领域语言排行。(方法和可用的来源:https://spectrum.ieee.org/static/ieee-top-programming-languages-2018-methods)当然,这个排行榜包含了一个默认的权重,根据典型的 IEEE 成员的权益进行调整,同时也提供了一些专注于开源项目有点的其他预设。程序员还可以应用筛选器,以排除不感兴趣的领域编程语言,例如嵌入式或桌面环境。这与以往的编程语言榜单比较,就可以看到了改变。

接下来,我们将共同解锁 2018 年主流的十大编程语言是什么呢?

 

Python 再占榜首,Java 屈居第四

 

2018 IEEE Spectrum 编程语言排行榜 Top 10

去年,Python(得分 100 分) 仅以 0.3 分的优势击败了 C 语言(99.7 分)。而如今看来,势头不灭反更胜的 Python 已经牢牢地站稳了第一的位置。

同时今年,C++ 也反超了 C,位居第二名,98.4 分,不过第一名 Python 和第二名 C++ 之间的差距相比去年一二名更大。

C 排名第三,得分为 98.2。

去年,Java 以 99.4 分排名第三,今年降到了 97.5 分,排名第四。Top 10 排行榜除此之外,还有 C#、PHP、R、JavaScript、Go、Assembly。其中,Assembly 是首次进入排行榜的前十名。

 

Python 以什么样的优势保持势头不灭?

 

看到这里,我们不禁再次发出疑问,为什么 Python 会持续获得程序员的青睐?而在这份编程语言排行榜中的另外两个变化可能会给我们一些提示。

Python 现在被列为嵌入式语言。以前,编写嵌入式应用程序更倾向于使用编译语言,以避免在处理能力和内存有限的机器上动态地评估代码的开销。但是,虽然摩尔定律可能正在逐渐消失,但它尚未死亡。许多现代微控制器如今拥有足够的能力来托管 Python 解释器。以这种方式使用 Python 的一个优势,在某些应用程序中通过交互式使用附加硬件或动态重新加载脚本将会非常方便。在一个新的领域开始大展身手,这只会有助于提升 Python 的受欢迎程度。

在 Top 10 的编程语言排行榜中,R 语言逐年小幅度地下降反面衬托了 Python 越来越受欢迎。R 在 2016 年达到第 5 位,去年跌至第 6 位,现在排名第 7 位。R 是专门用于处理统计数据和大数据的语言。随着对大数据集的兴趣越来越多地转向在机器学习中的应用,同时用于统计和机器学习的高质量 Python 库的存在使得灵活地 Python 比更专业的 R 更具吸引力。

 

其他编程语言排名

 

正如文章开头所述,除了默认的权重产生的排行榜之外,IEEE Spectrum 还提供了用户增速趋势、就业需求、开源、自定义这四个选项,开发者可根据自身需求或兴趣查看排行榜。

IEEE Spectrum 完整的排行榜:Swift 下降,Objective-C 上升

对比 2017 IEEE Spectrum 完整的排行榜来看,2018 年常用的编程语言中 Swift 下滑的尤为厉害,从去年第 10 名的 76 分掉到了今年的 18 名 54.4 分。不过作为开发 iOS 及 MacOS 应用程序的另一大工具 Objective-C 则有所上升,从去年的 26 名升到现在的第 21 位。

令人惊讶的是,ActionScript 在排名中略有提升。去年它排在最后,排名为0.0,彼时 IEEE Spectrum 都准备将其淘汰。然而,今年它成功地以 1.6 的分数回到倒数第二的位置,而 Forth,曾经是嵌入式世界的主力语言,如今成了垫底,如果明年它仍然为零分,那么这门语言很有可能会被淘汰掉。

IEEE Spectrum 完整的排行榜(2018 vs 2017)

用户增速编程语言排行榜:Go 语言回温

哪种编程语言用户的增量最多?排名第一的依然是 Python,其次 C++ 和 Java 都比去年上升了一位,分别位居第二、三名。而 C 语言热度相比去年有所下降,位居第四。

此外,值得一提的是,Google 的 Go 语言从第 7 位上升到第 5 位。但增长最快的还要属 Scala 莫属,从第 15 位上升到第 8 名。Scala 的创建是对 Java 的改进,因此 Java 的默认排名下降可能与 Scala 的上升趋势有关。

用户增速编程语言排行榜(2018 vs 2017)

就业需求编程语言排行榜:Java 陨落,Python 反超

在这个排行榜中,有趣的是,Python 取代了曾经的霸主 Java 位列榜首,成为就业需求中最火热的技能,而 Java 落到了去年 Python 的位置,位居第三。同时 C# 和 JavaScript 位置也发生了互换,C# 小幅度上升。

同时就业的需求引导着开发者的技术方向,Swift 在这份排行榜中依然不受欢迎,相比去年下降了 9 个名次,从第十名掉到了第十九的位置。为什么会这样?细细思考,一方面,移动开发的整体大环境大不如以前,红利期已过;另一方面,就国内而言,国产手机的崛起且几乎都是搭载了 Android 系统,相对来说,iOS 的市场份额正在逐渐缩减。此外,因原生开发成本高且效率低导致大批的优秀的前端框架出现,同时微信、百度等小程序的出现也使得前端对移动开发也带来了一定的影响。

就业需求编程语言排行榜(2018 vs 2017)

开源编程语言排行榜:Python、C++、Java、C 站位 Top 4

开源编程语言排行榜中,前四名相对去年排名并没有变化,依旧是 Python、C++、Java、C。C# 上升了一位,排名第五;其次,素有世界上最好编程语言之称的 PHP 上升了 6 名,如今排名第六。

而曾经第五的 Swift 跌出了 Top 20,排名二十二。此外,Rust、Visual Basic、Julia、Cuda、Ada、Forth 等语言都有一定幅度地下降。

开源编程语言排行榜(2018 vs 2017)

而曾经第五的 Swift 跌出了 Top 20,排名二十二。此外,Rust、Visual Basic、Julia、Cuda、Ada、Forth 等语言都有一定幅度地下降。

想要根据自己需求了解编程语言最新趋势,可查阅 2018 年 IEEE Specturm 最新编程语言排名:https://spectrum.ieee.org/static/interactive-the-top-programming-languages-2018


http://chatgpt.dhexx.cn/article/OWSwl9WT.shtml

相关文章

java并发问题概述

转自 https://www.jb51.net/article/131411.htm java并发问题概述 转载 更新时间:2017年12月25日 09:28:54 作者:人圭先生 我要评论 这篇文章主要介绍了java并发问题概述,具有一定借鉴价值,需要的朋友可以参考下。 1什么是…

【Java基础系列教程】第一章 编程入门

一、计算机概述 1.1 计算机简介 计算机(computer)俗称电脑,是现代一种用于高速计算的电子计算机器,可以进行数值计算,又可以进行逻辑计算,还具有存储记忆功能。是能够按照程序运行,自动、高速处…

关于程序员这14条经典定律,我全中~

定律1:最难定位的问题要么是最疑难的问题,要么是最低级的问题,这两种问题都有一个共同特征,就是让你意想不到。 举一个例子,一次代码编译不过,报函数没有定义,开始怀疑是类没有“;”结束符,然后怀疑有没有匹配的“{”,折腾了好久,最后才发现是开头的“#ifndef”定义…

系统性能优化的十大策略(强烈推荐,建议收藏)

点击关注公众号,实用技术文章及时了解 上篇 提升系统性能,榨干计算机资源是程序员的极致追求,今天跟大家聊聊性能优化。分为上中下三篇,由浅及深的写了关于性能优化的方方面面,并不仅仅局限于代码层面,希望…

JAVA工程师的十大借口,你知道哪些?

他们是近几十年来出现的新物种。他们的着装可能经常会遭到别人的吐槽,他们的玩笑可能别人也经常get不到笑点,他们心照不宣的执着让外人觉得莫名其妙。但同时,他们也拥有无与伦比的耐力,超越时代的智商,和横穿社会的自虐…

二八定律全面分析

二八定律 也叫 巴莱多定律 ,是19世纪末20世纪初 意大利 经济学家巴莱多发明的。他认为,在任何一组东西中,最重要的只占其中一小部分,约20%,其余80%的尽管是多数,却是次要的,因此又称二八法则。 …

【网络技术】什么是CNI

序言 你只管努力,其他交给时间,时间会证明一切。 Never look back unless you are planning to go that way. 文章标记颜色说明: 黄色:重要标题红色:用来标记结论绿色:用来标记一级论点蓝色:用…

java程序员找工作前需要准备的杀手锏有哪些?

高考前,我们要练兵考试和集训。”临阵磨枪不快也光 ”,找工作前,我们也必须要花很多精力去完成一些必要的准备。 “不打无准备之仗”, 精心准备和训练会对你有相当正面的作用。 有人认为“找工作要靠能力”。这话没错,我要说的是,“临阵磨枪准备的内容也是能力的一部分”…

《Java性能优化全攻略》分享

作为Java程序员,你希望写出高性能的代码吗? 什么样的互联网服务质量好?代码的高性能是必备的一环。怎样才能降低公司运营成本?提高系统容量的效率(服务器和数据中心)是重要的一部分。 代码看性能,公司重效率。怎么…

java技术点

后端架构师技术图谱 推荐: 《Java技术书籍大全》 - awesome-java-books 从初级开发者到资深架构师,看这些书就够了 数据结构 队列集合链表、数组字典、关联数组栈树 二叉树完全二叉树平衡二叉树二叉查找树(BST)红黑树B,B&#x…

有用但多疑的十大Java编程技术

在编码过一段时间后(哎呀,拿我来说,已经20多年了,当你乐享其中时,时间过得飞快),有人已经开始拥抱他们的习惯了。 因为,你知道… “会出错的事情总会出错”– 墨菲定律 这就是人们拥抱“自卫…

40000+字超强总结?阿里P8把Java全栈知识体系详解整理成这份PDF

40000 字长文总结,已将此文整理成PDF文档了,需要的朋友点赞支持一下吧。 全栈知识体系总览 Java入门与进阶面向对象与Java基础 Java 基础 - 面向对象Java 基础 - 知识点Java 基础 - 图谱 & Q/A 基础知识点复习完了以后,我们需要深入的理…

2020面试准备之Java 基础(理论篇)

文章目录 1、面向对象和面向过程的区别2、Java 语言有哪些特点?3、什么是 Java 虚拟机?为什么 Java 被称作是“平台无关的编程语言”?4、JDK 和 JRE 的区别是什么?5、Java 和 C的区别?6、面向对象的特征有哪些方面?7、访问修饰符…

资深程序员总结的成功十大黄金定律

《天下无贼》中由葛优饰演的黎叔曾说过一句话:“21世界什么最贵?——人才最贵。”人才对成功来说至关重要,而且人才和天才还是不一样的,天才大部分是要有天赋的,而人才即使你没有天赋,遵照规律发展&#xf…

什么是汉明窗?加Hanmming窗的作用?

1.什么是汉明窗? 从语音的角度说 理论: 语音信号是一种非平稳的时变信号,其产生过程与发声器官的运动紧密相关。而发声器官的状态变化速度较声音振动的速度要缓慢的多,因此语音信号可以认为是短时平稳的。研究发现,在…

hanmming窗和hamming窗的作用

什么是汉明窗?加Hanmming窗的作用? 1.什么是汉明窗? 答:我是做语音识别的,我就从语音的角度跟你说一下吧。 语音信号一般在10ms到30ms之间,我们可以把它看成是平稳的。为了处理语音信号,我们要对…

LFM回波信号仿真,加汉明窗,可用的matlab代码

LFM回波信号仿真,加汉明窗,可用的matlab代码 运行结果(文尾有程序) 在数字信号处理过程中,每次FFT变换只能对有限长度的时域数据进行变换,因此,需要对时域信号进行信号截断。 即使是周期信号&…

matlab汉明窗dft,谱分析中窗的选取

信号截断及能量泄漏效应 数字信号处理的主要数学工具是傅里叶变换,而傅里叶变换是研究整个时间域和频率域的关系。然而,当运用计算机实现工程测试信号处理时,不可能对无限长的信号进行测量和运算,而是取其有限的时间片段进行分析。取用有限个数据,就是将信号进行加窗函数操…

语音信号处理(二):矩形窗和汉明窗时域波形和频域波形

一:通过代码实现 clear all; hzeros(10000,1); h(2001:8000)1; % 在2001-8000上令值为1 subplot(2,2,1); plot(h,r-); title(矩形窗时域波形); xlabel(样点数); ylabel(幅度); hold on; axis([0 10000 0 1.5]);wh(2001:2060); Wfft(w,1024); % 对w进行1024点fft计…

语音识别之——mfcc什么是汉明窗,为什么加汉明窗

为什么要加汉明窗?什么叫加窗? 在信号处理中,可以说加窗处理是一个必经的过程,因为我们的计算机只能处理有限长度的信号,因此原始信号X(t)要以T(采样时间)截断,即有限化,…