2021编程语言排行榜出炉_计算机语言编程排行榜_祁娥安的博客-程序员秘密

技术标签: c#  python  java  程序员的那些事  swift  开发语言  

今日,IEEE Spectrum 发布了 2021 年度编程语言排行榜,其中 Python 在总榜单以及其他几个分榜单中依然牢牢占据第一名的位置。另外值得关注的是微软 C# 语言,它的排行从 2020 年的第 23 名跃升至了今年的第 6 名,称得上是今年的大势语言。

2021 年度编程语言排行榜依然从 8 个信息源按照 11 种指标收集数据,最终得到了数十种编程语言流行度的整体排名。这 8 个信息源分别为 CareerBuilder、GitHub、Google、Hacker News、IEEE、Reddit、Stack Overflow 和 Twitter,涵盖了涵盖社交网站、开源代码网站和求职网站。

IEEE 2021 编程语言排行榜依然涵盖 4 种不同类型的编程语言,分别是用于开发网站和应用的语言(Web)、用于企业、桌面和科学应用的语言(Enterprise)、用于移动设备端的语言(Mobile)以及用于嵌入式环境的语言(Embedded)。

排名类型分为整体排名、趋势排名(Trending)、工作(Jobs)、开源(Open)和自定义(Custom)五种。
在这里插入图片描述
IEEE 2021 编程语言排行榜的具体情况如下。

Top 10 编程语言:Python 五连冠、微软 C# 语言排名飞升

与 2020 年排行榜相比,Python、Java、C、C++ 和 JavaScript 依然占据 2021 排行榜的前 5 名。

但是,6 至 10 名的编程语言发生了很大变化。Arduino 和 Matlab 跌出了前 10,微软 C# 语言从 2020 年的第 23 名跃升至了第 6 名,HTML 语言也进入了前 10。
在这里插入图片描述
趋势排名

看完了整体榜单,我们再来看其他排名类型下的编程语言排行。

在趋势排名中,Python 仍以绝对优势展示其强劲的发展势头,其余依次为 Java、C、JavaScript、C++、Go、R、HTML 以及 C# 和 SQL。其中,2020 年趋势排行榜前 10 名中的 Arduino、Dart 和 Swift 被 R、C# 和 SQL 所取代。
在这里插入图片描述
工作中需求最大编程语言排名

工作环境中需求最大的语言仍是 Python,C 语言排名第二,其次是 Java、JavaScript 和 C++。2020 年排名前 10 中的 Swift 语言被 C# 所取代。
在这里插入图片描述
开放项目最欢迎编程语言排名

在开源项目最受欢迎的编程语言排行中,Python 依然位列第一。2020 年排名前 10 中的 Arduino 被 C# 所取代。
在这里插入图片描述
微软 C# 为何成为 2021 年的大势语言

微软 C# 语言创建于 2000 年,旨在成为 C++ 语言的轻量级替代,为微软 NET 框架编写基础库。自创建以来,C# 语言便成为了最受欢迎的编程语言之一。

在 Windows 生态系统中,C# 语言很快赢得了开发者的青睐,并成为了创建商业应用的主要编程语言,几乎取代了用于 web 后端的 C++ 和 Visual Basic。对于开发者来说,C# 语言学习起来比较容易,具有强大的编程性能,并且在微软 Visual Studio 开发工具的助力下可以愉悦地编写代码。
在这里插入图片描述
IEEE 2021 编程语言排行榜中,C# 从 2020 年的第 25 名跃升至了第 6 名。这大概得益于微软 2020 年 11 月发布的 C# 9.0 版本以及即将推出的 Windows 11。此外,开发者对分布式系统的兴趣持续增长,而 C# 正是为实现这一功能而设计的,这也是其成为大势语言的原因之一。

完整榜单如下:在这里插入图片描述
参考链接:
https://spectrum.ieee.org/top-programming-languages-2021
https://www.avenga.com/magazine/future-csharp-programming-language/

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_45794138/article/details/121200879

智能推荐

Spring学习笔记(三)-事务_test_touch的博客-程序员秘密

 事务管理仅用四个词解释事务 atomic(原子性):要么都发生,要么都不发生。consistent(一致性):数据应该不被破坏。Isolate(隔离性):用户间操作不相混淆Durable(持久性):永久保存,例如保存到数据库中等 Spring提供了两种事务管理方式:编程序事务管理声明式事务管理  编程序事务管理编写程序式的事务管...

C# Winfor界面写入读取Excel_winform写入excel_CWM6364的博客-程序员秘密

C# Winfor界面写入读取Excel一、创建项目二、制作UI界面,所需控件为textbox三个、Button四个、四个Label控件三、 安装库,进入NuGet管理解决方案搜索Close XML在命名空间写下using ClosedXML.Excel;`在Public Form1 大括号下写XLWorkbook G_WB = new XLWorkbook(); //实例化一个表格四、双击新建按钮,填写按钮触发事件的代码启动之后,会在你的路径下创建一个后缀为.xlsx的Excel表格

axios跨域问题 No ‘Access-Control-Allow-Origin‘ header is present on the requested resource._axios no 'access-control-allow-origin' header is p_无脑的爱好者的博客-程序员秘密

axios跨域问题问题描述:在使用vue+axios开发进行post请求,然后出现以下图片中的跨域问题;解决方法:在网上看了一些相关资料,最后找到了解决方法module.exports = { dev: { //... proxyTable: { '/api': { port: 3000, target: 'http://127.0.0.1:8081/', chunkOrigins: true

JavaScript鼠标滚轮事件_js 鼠标滑轮滚动事件重写_usdoc文档预览的博客-程序员秘密

鼠标滚轮事件的实现:<script type="text/javascript"> var daxi = function(e) { e = e || window.event; if (e.wheelDelta) { //判断浏览器IE,谷歌滑轮事件 if (e.wheelDelta > 0) { //当滑轮向上滚动时 ......

Mouse without Borders无界鼠标连接失败的解决_连不上 mouse without_带好吃的的博客-程序员秘密

问题描述输入了正确的security key和machine name,还是不能连接。问题原因内网的IP段不是典型的192.168.1.*解决办法点击左上方的skip跳过初始配置。在副电脑的IP Mappings栏输入主电脑的机器名和内网IP,例如:DESKTOP-JDISOD1 192.168.134.28注意是添加新的一行,机器名和IP之间有空格。查看内网IP的方法很多,百度即可确保副电脑的Machine Setup栏内填好了主电脑的key和机器名。点击副电脑的Apply

MacBook 安装 Docker 与 docker-compose 套装_程序员鱼丸的博客-程序员秘密

MacBook 安装 Docker 与 docker-compose 套装下载地址Docker for Mac 官方下载地址安装然后打开程序主界面,单击打开点击小齿轮可以设置CPU与内存等安装docker-compose不好意思,Docker for Mac 自带 docker-compose直接查看安装docker-compose --versionok~ 完了,就很简单...

随便推点

python-外轮廓提取,批量外轮廓提取_python图像轮廓提取_bug生成中的博客-程序员秘密

直接上图直接对白底的目标物进行外轮廓提取单张图片处理代码如下:import cv2 as cvimg = cv.imread('./0.jpg') #读取的图片cv.imshow('original',img) #显示原图img2 = cv.cvtColor(img,cv.COLOR_BGR2GRAY) #对图片进行灰度化处理cv.imshow('gray',img2) #显示灰度化的图片ret,binary = cv.threshold(img2,250,2

IKFAST安装过程_ikfast 安装方法_CCCCCMH的博客-程序员秘密

系统:Ubuntu16.04 ROS kinetic1.安装依赖sudo apt-get install cmake g++ git ipython minizip python-dev python-h5py python-numpy python-scipy python-sympy qt4-dev-toolssudo apt-get install libassimp-dev libavcodec-dev libavformat-dev libavformat-dev libboost

超市库存管理系统 代码_weixin_30593443的博客-程序员秘密

package com.oracle.demo02;public class Goods { //商品类 int gid; String gname; double price;}package com.oracle.demo02;import java.util.ArrayList;import java.uti...

深入理解SELinux/SEAndroid(第一部分)_代表该进程所属的domain为init_飞_哥的博客-程序员秘密

http://blog.csdn.net/innost/article/details/19299937按哥的习惯,应该是全部洗剪吹完后再发,不过今年是马年,什么都强调 马上。所以 现在就先奉献 马上有第一部分  祝各位同仁,朋友 马年快乐。 深入理解SEAndroidSEAndroid是Google在Android 4.4上正式推出的一套以

CS231n 课程作业 Assignment Two(三)Batch Normalization(0824)_阿桥今天吃饱了吗的博客-程序员秘密

Assignment Two(三)Batch Normalization使深层网络更容易训练的一种方法是使用更复杂的优化程序,例如SGD + momentum,RMSProp或Adam。另一种策略是更改网络的体系结构,使其更容易训练。遵循这些思路的一个想法是批量标准化。(机器学习方法的输入数据由零相关且单位方差为零的不相关特征组成时,它们往往会更好地工作)在训练时,批处理归一化层使用少量数据来估计每个特征的均值和标准差。然后,将这些估计的均值和标准偏差用于对微型批次的特征进行居中和标准化。在训练过程中,

shell脚本将命令的输出结果赋值给变量_shell函数返回值赋值给变量_Yellow0523的博客-程序员秘密

Shell 命令替换是指将命令的输出结果赋值给某个变量。比如,在某个目录中输入 ls 命令可查看当前目录中所有的文件,但如何将输出内容存入某个变量中呢?这就需要使用命令替换了。Shell 中有两种方式可以完成命令替换,一种是反引号` `,一种是$(),使用方法如下:比如我们统计一个文件中的行数,并存入以下变量中#使用反引号,存入Line变量line=`cat tempStatus.txt | wc -l`#使用$(),存入变量line=$(cat tempStatus.txt | wc

推荐文章

热门文章

相关标签