2023编程语言趋势_各程序设计语言最新发展趋势-程序员宅基地

技术标签: rust  python  java  c语言  开发语言  

2023编程语言趋势

在这里插入图片描述

作为CTO,我需要持续关注编程语言的发展。按照惯例,每年年初我都会对未来一年关键编程语言的趋势做一定的预判。今年由于众所周知的原因,预测地有些晚,我选择在开年的第一天给出我的预测,也算是祝大家开门大吉,2023大展宏"兔"

以下是我对2023年关键编程语言趋势的预测。

Python持续霸榜

Python持续No. 1的位置应该是最没有悬念的。Python作为一种通用编程语言,近年来随着人工智能的火热迅速成为世界上最流行的语言。

编程语言Top 10
数据来源: TIOBE Index
编程语言 2023年1月 2022年1月
Python 1 1
C 2 2
C++ 3 4
Java 4 3
C# 5 5
Visual Basic 6 6
JavaScript 7 7
SQL 8 9
汇编 9 8
PHP 10 11

尽管我个人也是Python语言的重度使用者,但坦率地说,我不认为Python配得上第一这个位置。站在工程师的角度,我认为Python太慢了,语法又太死板(这对初学者是优势),而且很少有大型项目用Python做为开发语言,其在大规模工程上的性能和稳定性缺乏验证。

但是Python胜在入门简单且有丰富的库,因此成为算法工程师、数据工程师以及初学者的首选。随着近些年人工智能的火热,Python频频曝光于大众面前,随之而来的是铺天盖地的Python培训课程。于是Python迅速被夸大和神话,以简单易学且功能强大的形象快速占领了公众的心智,甚至一度出现白领集体学Python的热潮。

在这样的氛围下,Python顶着万能编程语言的光环,很少有人看到其短板。显然,大多数人都喜欢Python,而且没有迹象表明这种趋势在2023年会改变。

PHP依旧颓势

另一个没有悬念的趋势是PHP会在2023年持续衰落。这门”世界上最好的编程语言“曾经是构建现代交互式网络的基础语言之一,但是如今已经不再像以前那样流行。

这并不意味着PHP会完全消失。因为作为曾经互联网后端基础语言,大量网络应用是用PHP写的,这些应用不可能很快切换到其他新语言。但是,预计使用PHP的新项目会越来越少。

Java雄风不再

同样,Java这门伴随软件行业兴起的核心编程语言,似乎也越来越过时了。曾经Java在TIOBE编程语言排行榜上连续20年位居榜首,而在几年前它从神坛上跌落下来。截至2023年,有迹象表明这种下滑还在持续。尽管Java在未来一年可能会继续流行,但很难想象它会恢复到以前的地位,成为最流行的语言之一。相反,我倾向认为Java在未来一年及以后的受欢迎程度将继续下降。

Rust热度不减

Rust语言在2022年末挤进了TIOBE排行榜第20名。虽然从排名上,Rust依然是小众语言,但Rust有一大批死忠粉。根据Stack Overflow的调查,Rust连续4年被票选为”最喜爱编程语言“。

在这里插入图片描述

我本人也在持续学习Rust,尽管尚未大规模使用,但是Rust给我最大的感受除了复杂的语法和陡峭的学习曲线外,Rust社区是所有我接触过的编程语言中最好的。Rust社区不但活跃,而且整体氛围友好且专业,有很多对行业颇具影响力的人物在社区内持续贡献。

我预计Rust在2023年会持续上升,这不仅是因为Rust强大的社区推动,也因为Rust专注于安全和效率的特性会持续吸引软件界的普遍关注。

汇编稳步上升

近年来,TIOBE指数上一个鲜为人知的编程语言趋势是——汇编语言持续缓慢但稳步增长。

汇编语言在2016年首次进入最受欢迎语言的前十名。目前排名第九,比去年下降一名,但这仍然领先于PHP、Go和Swift等语言。

每次说到汇编语言,总有人问:“为什么还有这么多程序员在使用汇编语言?”——我认为主要原因是对性能的追求。尤其是WebAssembly标准推出后,在前端市场引起了广泛的关注。另一方面,汇编语言的流行也可能反映了专用硬件的日益普及,如物联网(IoT)设备,这可能需要开发人员编写汇编代码来访问这些设备上高级语言不支持的功能。

我认为随着WebAssembly的发展和物联网、车载系统的普及,汇编语言的需求会不断增加。汇编语言这门古老的语言会在众多高级语言中找到自己的位置,并且会积极与高级语言产生联系,将高级语言作为自己的生成语言,这是非常聪明且正确的路线。

C语言地位稳固

我将最重要的编程语言C语言放在最后,我认为2023年C语言会持续流行。

C语言现在虽然被Python挤下了第一的位置,但二者的流行指数非常接近。

在这里插入图片描述

考虑到C语言已经存在了半个多世纪,它的历史几乎是Python和Java等语言的两倍,C语言作为一门久经考验的、稳定高效的开发语言,已经成为整个软件世界的基石。尽管有Rust野心勃勃地想要取代C语言的基石地位,但是C语言的根基深厚,群众基础广泛,短时间很难撼动。我认为,在未来几十年中C语言会保持其在软件开发中的核心地位。如果你必须选择一种最重要的编程语言来长期学习,C语言将是一个很好的选择。

总结

以上我只列举了我认为关键的编程语言的趋势。还有一些编程语言同样重要,如JavaScript等,由于我自身不关注前端,因此没有做评论。在国内,Go语言也非常流行,我认为Go语言是非常适合PHP开发者转向的现代编程语言,结合PHP的衰落,在接下来的几年Go语言会有一波上涨。

总体上,我预计2023年软件开发世界不会发生任何惊天动地的变化。各位读者有任何不同观点和思考,欢迎评论区留言。

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

智能推荐

4.Open3D教程——网格数据操作_c++ open3d mesh显示网格线段-程序员宅基地

文章浏览阅读1k次。网格数据1. 网格Open3D有一个称为TriangleMesh的3D三角网格数据结构。下面的代码演示如何从ply文件中读取三角形网格并打印其顶点和三角形。import open3d as o3dimport numpy as npimport matplotlib.pyplot as pltimport open3d_tutorial as o3dtutprint("Testing mesh in Open3D...")mesh = o3dtut.get_knot_mesh()prin_c++ open3d mesh显示网格线段

python里input用法_python 用户交互输入input的4种用法详解-程序员宅基地

文章浏览阅读1.8k次。用户输入1、使用input来等待用户输入。如username = input('username:')password = input('password:')print(username,password)2、格式化输出第一种方法:字符串拼接 + (不建议使用,太耗内存)name = input("name:")age = input("age:")skill = input("skill:")..._input在python中的用法

JDK 16 对 ZGC 的增强_specjbb庐 2015 [1]-程序员宅基地

文章浏览阅读1.6w次,点赞4次,收藏9次。JDK 16 已经发布。与往常一样,新版本 JDK 会带来一系列新功能、功能增强以及 bug 修复。在这个版本中 ZGC 有 46 个功能增强以及 25 个 bug 修复。这里我会介绍一些..._specjbb庐 2015 [1]

React Hooks学习--useRequest网络请求Hooks-程序员宅基地

文章浏览阅读7.6k次,点赞3次,收藏15次。当前用于网络请求的Hooks是很多的,但是为什么选择使用useRequest呢?目前的许多Hooks都需要根据不同的场景来选择,比如分页usePagination,加载更多useLoadMoreuseAsync能力不足,不能支持并行请求useRequest不仅包含来Umi Hooks所有和网络请求相关的Hooks,还借鉴了swr的特性swr的主要能力在于:我们在发送网络请求时,会优先返回缓存内的数据,然后在背后发起网络请求,最终用新的请求结果来触发组件渲染。一.useRequest的基本使用_userequest

大学生个人博客网页设计模板 学生个人博客网页成品 简单个人网站作品下载 静态HTML CSS个人网页作业源代码-程序员宅基地

文章浏览阅读54次。个人网页设计、‍♂️个人简历制作、简单静态HTML个人网页作品、个人介绍网站模板 、等网站的设计与制作。个人网页设计网站模板采用DIV CSS布局制作,网页作品有多个页面,如 :个人介绍(文字页面)、我的作品(图片列表)、个人技能(图文页面)、在线留言(表单页面)CSS样式方面网页整体采用左右布局结构,制作了网页背景图片,导航区域每个导航背景色不同,导航背景色与页面背景呼应。 一套A+的网页应该包含 (具体可根据个人要求而定)网站布局方面:计划采用目前主流的、能兼容各大

突破编程_C++_STL教程( sort 算法)-程序员宅基地

文章浏览阅读811次,点赞15次,收藏19次。C++ STL教程:sort 算法

随便推点

el-input自定义icon图标_el-input自定义图标-程序员宅基地

文章浏览阅读7.2k次,点赞6次,收藏11次。<el-input class="inputt" placeholder="请输入账号" v-model="form.name"> <i slot="prefix" style="display: flex;align-items: center;"> <img ..._el-input自定义图标

以太网解释协议_rtf_llinfo-程序员宅基地

文章浏览阅读3.2k次。mbhard 2006-12-27 11:32 _rtf_llinfo

使用conda时出错,显示LoadError: Load Error: in /home/li/.condarc on line 5, column 0. Invalid YAML_loaderror: load error: in /root/.condarc on line 2-程序员宅基地

文章浏览阅读1.2w次,点赞7次,收藏19次。这个问题是这样的.首先运行:conda install conda list两个命令,啥都不显示.输入这两个命令,完全没有任何问题conda -hconda -V运行这个命令:conda inspect conda则报错:解决这个问题的方法是:直接删除.condarc文件sudo rm -r .condarc就可以解决此问题了...._loaderror: load error: in /root/.condarc on line 22, column 0. invalid yaml

数字后端基本概念介绍<NDR>-程序员宅基地

文章浏览阅读2.7k次,点赞6次,收藏27次。今天我们要介绍的数字后端基本概念是NDR。全称是Non default routing rule, 非默认绕线规则。一般用于设置clock时钟走线的规则。众所周知,时钟..._为什么leaf net的ndr 是一倍宽度

原创分析| 入门或者转行音视频,应该要怎么做?_音视频行业技术从业年龄分析-程序员宅基地

文章浏览阅读1k次。这一两年因为该死的疫情,让短视频、超高清视频和实时音视频反而成为需求风口。我的看法当然是觉得音视频这个行业还可以,而且从我自己的观察来看,做音视频的现在普遍年龄都在 30+ 了,我 94 年的在组里有可能还是年龄最小的那一批人了。_音视频行业技术从业年龄分析

hadoop集群之HDFS和YARN启动和停止命令_yarn daemons-程序员宅基地

文章浏览阅读6.7k次。假如我们只有3台linux虚拟机,主机名分别为hadoop01、hadoop02和hadoop03,在这3台机器上,hadoop集群的部署情况如下:hadoop01:1个namenode,1个datanode,1个journalnode,1个zkfc,1个resourcemanager,1个nodemanager;hadoop02:1个namenode,1个datanode,1个jour..._yarn daemons