2023编程语言趋势

news2024/9/22 19:35:42

2023编程语言趋势

在这里插入图片描述

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

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

文章目录

    • Python持续霸榜
    • PHP依旧颓势
    • Java雄风不再
    • Rust热度不减
    • 汇编稳步上升
    • C语言地位稳固
    • 总结

Python持续霸榜

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

编程语言Top 10

数据来源: TIOBE Index
编程语言2023年1月2022年1月
Python11
C22
C++34
Java43
C#55
Visual Basic66
JavaScript77
SQL89
汇编98
PHP1011

尽管我个人也是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挤下了第一的位置,但二者的流行指数非常接近。

在这里插入图片描述

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0XJewIYD-1674804345674)(C:\Users\Jarod\Pictures\企业微信截图_20230127144942.png)]

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

总结

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/181992.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

(Java高级教程)第四章必备前端基础知识-第三节2:JavaScript数组、函数和对象

文章目录一:数组二:函数三:对象一:数组 数组:JavaScript中的数组和Java中的ArrayList有点相似,可以动态扩容,并且由于它是动态类型的语言,所以数组内的元素类型不要求一定是相同的 …

【Git】安装搭建与相关概念

目录 1. 安装 1.1出现安全警告,点击运行 1.2浏览协议,下一步 1.3安装目录,所需要磁盘空间大小,下一步 1.4Git Bash需要安装的,其他默认即可,下一步 1.5开始菜单,下一步 1.6默认编辑器&…

《MySQL高级篇》十三、锁

文章目录1. 概述2. MySQL并发事务访问相同记录2.1 读-读情况2.2 写-写情况2.3 读-写或写-读情况2.4 并发问题的解决方案3. 锁的不同角度分类3.1从数据操作的类型划分:读锁、写锁1. 锁定读2. 写操作3.2 从数据操作的粒度划分:表级锁、页级锁、行锁1. 表锁(Table Lock)① 表级别的…

JavaScript 练手小技巧:打字小游戏

放假闲来无事&#xff0c;一群小屁孩想玩我的电脑。 字都不会打&#xff0c;还玩电脑。 用 js 写一个打字游戏&#xff0c;打不到 100 分&#xff0c;就不要玩我的电脑~~~&#xff01;&#xff01;&#xff01; 整体界面如下所示&#xff0c;一切从简~ HTML 结构 <div i…

正则表达式-学习笔记

正则表达式&#xff08;Regular Expression&#xff09;是一种文本模式&#xff0c;包括普通字符&#xff08;例如&#xff1a;a到z之间的字母&#xff09;和特殊字符&#xff08;称为“元字符”&#xff09;。正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字…

企业如何利用生产制造业ERP管理系统做好采购管理?

采购对生产制造业企业而言&#xff0c;至关重要&#xff01;采购成本能够占到很多企业经营成本的60%左右&#xff0c;而所采购物料的质量直接决定了产品的质量。而在生产制造企业的采购工作中&#xff0c;经常会出现一些问题&#xff0c;比如&#xff1a;采购成本难控、采购流程…

Elasticsearch(五)--ES文档的操作(上)---写入文档

一、前言 使用ES构建搜索引擎时需要经常对文档进行操作&#xff0c;除了简单的单条文档操作&#xff0c;有时还需要进行批量操作。我们这章主要学习ES文档的增删改的操作&#xff0c;由于涉及到的代码量会比较多&#xff0c;所以分为3篇文章分别说明文档的这个三个操作。那么我…

星环科技TDH多模型统一架构VS CDH架构

CDH是Cloudera的开源平台发行版&#xff0c;通过将Hadoop与其他十几个开源项目集成&#xff0c;为企业大数据业务提供服务。 在CDH开源大数据方案中&#xff0c;是通过多个互相独立的组件提供相应的能力&#xff0c;每个场景需要一个组件独立交付&#xff0c;为了实现不同业务…

【SpringCloud】OpenFeign远程调用的基本使用

一、OpenFeign替代RestTemplateRestTemplate 存在的问题我们以前利用RestTemplate发起远程调用的代码public Order queryOrderById(Long orderId) {// 1.查询订单Order order orderMapper.findById(orderId);// 2.利用restTemplate发起http请求// 为了负载均衡使用服务名称Str…

跨境电商行业如何做好社交媒体营销?

随着互联网的快速发展,跨境电商行业也得到了快速的发展,跨境电商更是成为了当下最热门的话题之一,很多商家都想通过跨境电商平台来销售产品,但随着竞争越来越激烈,想要在众多卖家中脱颖而出,就需要从营销方面入手了&#xff0c;这就意味着卖家们需要掌握一定的营销技巧。而在现…

jsp+SSM368的药品销售配送网站系统maven

管理员登录&#xff0c;管理员通过输入用户名、密码、角色等信息进行系统登录 管理员登录进入药品销售系统可以查看&#xff1b;个人中心、用户管理、医生管理、药品信息管理、药品分类管理、订单配送管理、系统管理、订单管理等内容 个人信息&#xff0c;个人信息页面可以填写…

Swig/CPP2Java

简介 实际工程可能存在如下部分&#xff1a;业务接口需要编程高效的语言&#xff08;如Python、Java等&#xff09;&#xff0c;易于部署维护&#xff1b;而核心算法部分&#xff0c;某些场景需要高效计算&#xff0c;会使用性能高效的语言&#xff08;如C/C等&#xff09;。 …

超详细Netty入门,看这篇就够了!

简介&#xff1a; 本文主要讲述Netty框架的一些特性以及重要组件&#xff0c;希望看完之后能对Netty框架有一个比较直观的感受&#xff0c;希望能帮助读者快速入门Netty&#xff0c;减少一些弯路。 前言 本文主要讲述Netty框架的一些特性以及重要组件&#xff0c;希望看完之后…

一起自学SLAM算法:10.2 VINS算法

连载文章&#xff0c;长期更新&#xff0c;欢迎关注&#xff1a; 不管是激光SLAM还是视觉SLAM&#xff0c;由于传感器采样率、传感器测量精度、主机计算力等因素的限制&#xff0c;在高速运动状态下定位追踪极易丢失。虽然轮式里程计能为激光SLAM系统提供短期运动预测以避免高速…

记录一次ubuntu进入不了界面的恢复记录

能说服一个人的从来不是道理&#xff0c;而是南墙&#xff1b;能点醒一个人的从来不是说教&#xff0c;而是磨难 一、问题描述 1、 卸载Python之后&#xff0c;ubuntu启动进入黑屏tty界面无法联网&#xff0c;无法进入桌面 2、 进入到界面之后没有网络&#xff0c;网络中或者右…

【分析向】没有三级缓存会导致什么?

通过上篇&#xff08;【实践向】当移除了三级缓存…… &#xff09;的实践&#xff0c;我们得出的结论是&#xff1a;如果不存在代理对象&#xff0c;二级缓存就可以解决循环依赖性的问题&#xff0c;但是当存在代理对象的时候&#xff0c;二级缓存则无法完全解决循环依赖&…

机器自动翻译古文拼音 - 十大宋词 - ALL

机器自动翻译古文拼音 - 十大宋词 - 雨霖铃寒蝉凄切 柳永https://mp.csdn.net/mp_blog/creation/editor/128779245机器自动翻译古文拼音 - 十大宋词 - 江城子乙卯正月二十日夜记梦 苏轼https://mp.csdn.net/mp_blog/creation/editor/128779156机器自动翻译古文拼音 - 十大宋词 …

0基础小白十分钟入门人工智能强化学习(附有实战源码)

强化学习概述 1.1 强化学习的学习任务目标 强化学习&#xff08;Reinforcement Learning, RL&#xff09;&#xff0c;用官话讲&#xff0c;是机器学习的范式和方法论之一&#xff0c;用于描述和解决智能体&#xff08;agent&#xff09;在与环境的交互过程中通过学习策略以达成…

Mybatis-Plus 乐观锁与代码生成器

目录 乐观锁 问题引入 乐观锁实现思路 实现步骤 代码生成器 代码生成器分析 代码生成器实现 乐观锁 问题引入 业务并发现象带来的问题:秒杀 假如有100个商品或者票在出售&#xff0c;为了能保证每个商品或者票只能被一个人购买&#xff0c;如何保证不会出现超买或者重复…

记一次nginx崩溃事件

一、事件描述 2023年春节复工第一天&#xff0c;项目组同事反馈说业务系统中图像处理代理Nginx服务于1月23日发生崩溃&#xff0c;完成了重启操作&#xff0c;检查nginx的日志有如下报错&#xff1a; 2023/01/23 11:07:07 [crit] 3237#3237: *2253009 pwritev() "/var/c…