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

智能推荐

从0开始用python实现神经网络 IMPLEMENTING A NEURAL NETWORK FROM SCRATCH IN PYTHON – AN INTRODUCTION...-程序员宅基地

文章浏览阅读150次。code地址:https://github.com/dennybritz/nn-from-scratch文章地址:http://www.wildml.com/2015/09/implementing-a-neural-network-from-scratch/ Get the code: To follow along, all the code is also available as a..._nerual networks from stratch in python

【element-ui】el-form-item 内的 el-select如何自适应宽度_el-form-item 宽度-程序员宅基地

文章浏览阅读1.6w次,点赞8次,收藏10次。问题:想让el-select自适应宽度,即 label宽度 + el-select宽度可以填满一行,想要实现这样的效果详细描述:项目中的代码如下,给 el-select 设置了 style=“width:100%” 没有作用,不论布局是变大变小,el-select 的宽度都不会有变化,就像下图所示我只有在el-select中设置固定的值如 style="width:100px"才有作用。下面是我的代码,不知道是不是我对width的设置方法有错<el-form :inline=“true” _el-form-item 宽度

渗透攻防Web篇-SQL注入攻击初级_class=1 攻击-程序员宅基地

文章浏览阅读498次。前言不管用什么语言编写的Web应用,它们都用一个共同点,具有交互性并且多数是数据库驱动。在网络中,数据库驱动的Web应用随处可见,由此而存在的SQL注入是影响企业运营且最具破坏性的漏洞之一,这里我想问,我们真的了解SQL注入吗?看完本篇文章希望能让你更加深刻的认识SQL注入。目录 第一节 注入攻击原理及自己编写注入点 1.1、什么是SQL? 1.2、什么是SQL注入? 1.3、SQL注入是怎么样产生的? 1.4、编写注入点 第二节 寻找及确认SQL注入 2.1、推理测试法 2.2、a_class=1 攻击

未解析成员“MySql.Data.MySqlClient.MySqlException,MySql.Data, Version=6.9.9.0, Culture=neutral, PublicKeyT-程序员宅基地

文章浏览阅读3.3k次。不知道为毛,Windows10突然乱码了。。。于是重新装了一下系统,然后打开一个基于CodeFirst连接mysql的项目文件。。。 然后Update-Database 我曹。。。。。。System.Runtime.Serialization.SerializationException: 未解析成员“MySql.Data.MySqlClient.MySqlException,MySql.Data_mysql.data, version=6.9.9.0

【HTTP】Fiddler(二) - 使用Fiddler做抓包分析_3)使用fiddler分析http请求-程序员宅基地

文章浏览阅读262次。转载:https://blog.csdn.net/ohmygirl/article/details/17849983上文( http://blog.csdn.net/ohmygirl/article/details/17846199 )中已经介绍了Fiddler的原理和软件界面。本文主要针对Fiddler的抓包处理。Fiddler抓取HTTP请求。抓包是Fiddler..._3)使用fiddler分析http请求

Ceres 详解(一) Problem类_对‘ceres::problem::addparameterblock(double*, int, -程序员宅基地

文章浏览阅读4.1k次,点赞6次,收藏55次。引言Ceres 是由Google开发的开源C++通用非线性优化库(项目主页),与g2o并列为目前视觉SLAM中应用最广泛的优化算法库(VINS-Mono中的大部分优化工作均基于Ceres完成)。Ceres中的有限边界最小二乘问题建模为以下形式:Ceres的求解过程包括构: 建最小二乘和求解最小二乘问题 两部分,其中构建最小二乘问题的相关方法均包含在Ceres::Problem类中,涉及的成员函数主要包括 Problem::AddResidualBlock()和 Problem::AddP_对‘ceres::problem::addparameterblock(double*, int, ceres::localparameteriza

随便推点

Java——List.forEach()实现continue与break功能_java foreach continue-程序员宅基地

文章浏览阅读1.2w次,点赞5次,收藏3次。问题:java中List.forEach()无法实现continue和break功能。代码:package com.ziling.mianshi;import java.util.ArrayList;import java.util.List;/** * @Author: yipeng * @Date: 2021/7/21 11:34 */public class ForEachTest { public static void main(String[] args_java foreach continue

MSE(均方误差)函数和RMSE函数-程序员宅基地

文章浏览阅读10w+次,点赞41次,收藏141次。 _rmse函数

模糊搜索数组_可搜索的下拉菜单,你见过吗?2步搞定,不要太简单!-程序员宅基地

文章浏览阅读370次。秋叶 PPT 双 12 大促年终盛典全场精品课享年度超值价买课赠书最高立省 801本文作者:小爽本文审核:玛奇鹅本文编辑:竺兰大家好,我是继续挖掘 Excel 各种技巧的小爽~在工作中,我们经常需要在 Excel 中填写一些固定选项的数据。对于「懂点 Excel」的小伙伴来说,一般会选择用【数据验证】的功能制作下拉列表。不过一旦数据选项过多,用下拉列表选择还是会显得比较麻烦,手还很累。..._isnumber(find(cell("contents")

学习笔记|按键原理|消抖|按键点灯的4种模式|STC32G单片机视频开发教程(冲哥)|第七集:按键点灯_stm32定时器实现一个按键切换四个模式-程序员宅基地

文章浏览阅读888次。学习笔记|按键原理|消抖|按键点灯的4种模式|STC32G单片机视频开发教程(冲哥)|第七集:按键点灯_stm32定时器实现一个按键切换四个模式

旧服务器如何虚拟化,4个步骤教你如何重复利用旧虚拟化主机-程序员宅基地

文章浏览阅读1.2k次。VMware ESX 3.0已经发布了三年多时间,目前有很多用户希望升级到VMware最新的vSphere 4.0虚拟化平台,而大量运行ESX 3.0的服务器也到了需要更新换代的时刻。这些运行了三年ESX 3.0的老旧服务器虽然已经不能完全满足未来快速增长的负载需求,但还是具有不小的性能空间,将这一大批当时非常昂贵的服务器关闭弃之不用,确实显得有些浪费。为了不将老旧的虚拟化主机丢弃在角落,很多企业..._旧服务器虚拟化

(js) 字符串和数组的常用方法-程序员宅基地

文章浏览阅读132次。JS中字符串和数组的常用方法JS中字符串和数组的常用方法 js中字符串常用方法 查找字符串 根据索引值查找字符串的值 根据字符值查找索引值 截取字符串的方法 字符串替换 字符串的遍历查找 字符串转化为数组 ..._js根据索引查找字符串

推荐文章

热门文章

相关标签