Python 霸榜、C# 升温 ,揭晓 IEEE Spectrum 2021年度编程语言排行榜!

本文主要是介绍Python 霸榜、C# 升温 ,揭晓 IEEE Spectrum 2021年度编程语言排行榜!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

从机器语言到汇编语言到高级编程语言,随着计算机的普及,开发者与计算机之间的沟通也从“繁文”趋于“白话文”,编程语言自身也逐渐向更高的性能、安全等方向不断发展。同时,作为开发者的最有效工具,编程语言的使用率一定程度上反应了不同领域的发展现状。

日前,IEEE Spectrum 在分析 CareerBuilder、GitHub、Google、Hacker News、IEEE、Reddit、Stack Overflow 和 Twitter 八大主流网站中开发者对编程语言的使用情况后,最新发布了 2021 年度编程语言排行榜,通过剖析 55 种编程语言的流行度,以此希望呈现开发者工具的最真实应用现状。

Python 夺冠,但它并不适合所有人

在众多编程语言中,近几年来,Python 的发展势如破竹,就连早已宣布退休的 Python 之父 Guido van Rossum 也于去年 11 月加入微软开发者部门,旨在依托开源,保障大家可以更好地使用 Python。因此,Python 在 IEEE Spectrum 所发布的 2021 年度编程语言排行榜中再次摘得桂冠也属意料之中。

“学习 Python。这是我们可以从其在 IEEE Spectrum 年度顶级编程语言交互式榜单中持续占据主导地位的最大收获。”IEEE 官方如此评价道。

凭借简单的编码、可扩展、GUI 编程支持、面向对象、可移植等优势,Python 主要被开发者用于 Web 应用程序、桌面应用程序、媒体工具、网络服务器以及机器学习等场景中。

同时,Python 拥有丰富的库支持,如果你掌握了 Python 的基础知识,就可以迅速了解很多项目如嵌入式、AI 系统的来龙去脉。

图片

IEEE Spectrum 编程语言排行榜 TOP55

当然,Python 的流行并不意味着每位开发者都必须上手去学习。根据编程语言自身特性的不同,每种语言的适用范围也有所不同。据调查显示,作为同样适用于 AI、数据分析等领域的 R、SQL、 MATLAB 等语言而言,因其更适合解决一些特定的问题,它们的使用率也正在逐步上涨。

与此同时,相较去年,C、C++、Java 和 JavaScript 等老牌编程语言的得分在今年均有所上涨,而每年行业中不时出现的唱衰论对这些语言自身的发展影响并不大,因为在一些企业级应用、或是游戏开发、前端领域中,这几种语言所编写的应用仍占据主导地位。事实上,出于性能原因,Python 本身及它的一些库的重要部分都是用 C 语言来编写的。

因此对于开发者究竟该如何选择编程语言这一问题,不久前,Java 之父 James Gosling 在采访时也做出了回答,其表示:

我学的第一种编程语言是 PDP-8 汇编代码,随后是 Fortran。


大家可以去学习任何语言,有些人的接受能力更强,但这很大程度上取决于一个人最终的职业道路。如果你想成为一个软件开发人员,你要构建大型的、高性能的系统,运行在JVM上的语言最值得去学习,例如 Scala 和 Kotlin,Clojure 也很有趣。如果你是物理专业的学生,Python 是个不错的选择。


其实选哪一种语言都无关紧要,很多人都只是坚持他们学到的第一种语言,如果你能让人们反复学习各种语言,那肯定是最好的。我认为每个大学都应该为学生开设一门“比较编程语言”的课程。用五种不同的程序语言完成作业,这能加快学习进度,并且他们会发现这些语言的区别真的不大,同时也能让他们自己去思考,哪一种语言更好。很久以前我上过一门课,每次作业我都用最不合适的语言,例如,用 Cobol 语言进行数值计算,以及 Fortran 中的符号操作。令人惊讶的是,我的成绩依然是 A。

编程语言变化

编程语言的选择只要是适合自己的就好,正因此,今年 IEEE Spectrum 的年度编程语言榜单也是交互式的,即开发者可根据自己的喜好或者场景,查看不同的榜单。

不过,在一些特殊时期,有些语言的波动会比较大。譬如通过 Twitter 的指标我们发现,上古编程语言 COBOL 从上次的第七位下降到了如今的第 34 位,这是因为过去一年间,在面对 Covid 大流行时,国外政府的不少管理软件采用的是 COBOL 语言编写,亟需大量的 COBOL 程序员进行维护,因此,在 2020 年期间,COBOL 一度成为 Twitter 上热门话题。

在这里插入图片描述

另外,IEEE Spectrum 默认排名中,微软的 C# 从去年的第 25 位上升到了今年的 7 位,在剖析其背后原因时,IEEE 官方表示或与 C# 9.0 于去年年底发布有关,同时,即将发布的 Windows 11 也对 C# 有深度的应用。

就业需求编程语言排行榜

从就业与招聘需求的角度来看,该榜单与整体编程语言趋势榜单相差不大,其中 Python 依然位居榜单第一,其次分别为 C、Java、C++、Go。

图片

开源项目中编程语言排行榜

在开源领域,Python、Java、JavaScript 位居前三甲。从应用场景来看,Python 主要应用在框架与库的创建中,Java 则更多聚焦于工具层面,JavaScript 应用于前端项目中。

图片

更多报告内容可参考:https://spectrum.ieee.org/top-programming-languages-2021

这篇关于Python 霸榜、C# 升温 ,揭晓 IEEE Spectrum 2021年度编程语言排行榜!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Python Transformers库(NLP处理库)案例代码讲解

《PythonTransformers库(NLP处理库)案例代码讲解》本文介绍transformers库的全面讲解,包含基础知识、高级用法、案例代码及学习路径,内容经过组织,适合不同阶段的学习者,对... 目录一、基础知识1. Transformers 库简介2. 安装与环境配置3. 快速上手示例二、核心模

Python正则表达式语法及re模块中的常用函数详解

《Python正则表达式语法及re模块中的常用函数详解》这篇文章主要给大家介绍了关于Python正则表达式语法及re模块中常用函数的相关资料,正则表达式是一种强大的字符串处理工具,可以用于匹配、切分、... 目录概念、作用和步骤语法re模块中的常用函数总结 概念、作用和步骤概念: 本身也是一个字符串,其中

Python使用getopt处理命令行参数示例解析(最佳实践)

《Python使用getopt处理命令行参数示例解析(最佳实践)》getopt模块是Python标准库中一个简单但强大的命令行参数处理工具,它特别适合那些需要快速实现基本命令行参数解析的场景,或者需要... 目录为什么需要处理命令行参数?getopt模块基础实际应用示例与其他参数处理方式的比较常见问http

python实现svg图片转换为png和gif

《python实现svg图片转换为png和gif》这篇文章主要为大家详细介绍了python如何实现将svg图片格式转换为png和gif,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录python实现svg图片转换为png和gifpython实现图片格式之间的相互转换延展:基于Py

Python中的getopt模块用法小结

《Python中的getopt模块用法小结》getopt.getopt()函数是Python中用于解析命令行参数的标准库函数,该函数可以从命令行中提取选项和参数,并对它们进行处理,本文详细介绍了Pyt... 目录getopt模块介绍getopt.getopt函数的介绍getopt模块的常用用法getopt模

Python利用ElementTree实现快速解析XML文件

《Python利用ElementTree实现快速解析XML文件》ElementTree是Python标准库的一部分,而且是Python标准库中用于解析和操作XML数据的模块,下面小编就来和大家详细讲讲... 目录一、XML文件解析到底有多重要二、ElementTree快速入门1. 加载XML的两种方式2.

Python如何精准判断某个进程是否在运行

《Python如何精准判断某个进程是否在运行》这篇文章主要为大家详细介绍了Python如何精准判断某个进程是否在运行,本文为大家整理了3种方法并进行了对比,有需要的小伙伴可以跟随小编一起学习一下... 目录一、为什么需要判断进程是否存在二、方法1:用psutil库(推荐)三、方法2:用os.system调用

使用Python从PPT文档中提取图片和图片信息(如坐标、宽度和高度等)

《使用Python从PPT文档中提取图片和图片信息(如坐标、宽度和高度等)》PPT是一种高效的信息展示工具,广泛应用于教育、商务和设计等多个领域,PPT文档中常常包含丰富的图片内容,这些图片不仅提升了... 目录一、引言二、环境与工具三、python 提取PPT背景图片3.1 提取幻灯片背景图片3.2 提取

Python实现图片分割的多种方法总结

《Python实现图片分割的多种方法总结》图片分割是图像处理中的一个重要任务,它的目标是将图像划分为多个区域或者对象,本文为大家整理了一些常用的分割方法,大家可以根据需求自行选择... 目录1. 基于传统图像处理的分割方法(1) 使用固定阈值分割图片(2) 自适应阈值分割(3) 使用图像边缘检测分割(4)

C# foreach 循环中获取索引的实现方式

《C#foreach循环中获取索引的实现方式》:本文主要介绍C#foreach循环中获取索引的实现方式,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录一、手动维护索引变量二、LINQ Select + 元组解构三、扩展方法封装索引四、使用 for 循环替代