2023编程语言趋势

简介: Python持续霸榜,PHP依旧颓势,Java雄风不再,Rust热度不减,汇编迅速崛起,C语言地位稳固

2023编程语言趋势

programming-languages_0.jpg

作为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年被票选为”最喜爱编程语言“。

60e4222e74a243bcb429b22ecaef55ba (1).png

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

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

汇编稳步上升

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

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

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

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

C语言地位稳固

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

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

企业微信截图_20230127144942.png

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

总结

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

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

目录
相关文章
|
人工智能 算法 安全
打通智能体自我进化全流程!复旦推出通用智能体平台AgentGym
【6月更文挑战第21天】复旦大学推出AgentGym平台,聚焦通用智能体的自我进化。该平台提供多样环境及任务,使用AgentEvol算法让智能体在学习中进化,提升泛化能力。实验显示智能体性能媲美先进模型,但计算效率和模型扩展性仍是挑战。平台强调伦理安全,推动智能体发展同时确保与人类价值观一致。[论文链接](https://arxiv.org/abs/2406.04151)
488 5
|
5月前
|
搜索推荐 Windows
Windows开始菜单无响应
本文记录了Windows开始菜单无响应及搜索功能异常的解决方法。通过PowerShell执行特定命令,可快速修复相关问题,适用于需多次重启或搜索无反应的情况,方便用户自行排查与处理系统故障。
|
9月前
|
JSON 算法 API
1688拍立淘图片搜索接口全攻略
1688拍立淘图片搜索接口由阿里巴巴提供,支持通过上传图片在1688平台搜索相似商品。该接口基于图像识别技术,具备高精度匹配、丰富商品信息返回、支持多图片格式及可定制化搜索等特点,适用于电商选品、商品溯源和智能购物等场景。开发者需注册获取app_key与app_secret,并通过Python示例代码调用接口,实现图片搜索功能。
501 23
|
SQL 前端开发 NoSQL
若依(ruoyi)管理系统(前后端分离版)本地运行教程(Windows)
若依(ruoyi)管理系统(前后端分离版)本地运行教程(Windows)
若依(ruoyi)管理系统(前后端分离版)本地运行教程(Windows)
WK
|
开发框架 开发工具 C++
C++跨平台框架Qt
Qt是一个功能强大的C++跨平台应用程序开发框架,支持Windows、macOS、Linux、Android和iOS等操作系统。它提供了250多个C++类,涵盖GUI设计、数据库操作、网络编程等功能。Qt的核心特点是跨平台性、丰富的类库、信号与槽机制,以及良好的文档和社区支持。Qt Creator是其官方IDE,提供了一整套开发工具,方便创建、编译、调试和运行应用程序。Qt适用于桌面、嵌入式和移动应用开发。
WK
522 5
|
数据采集 机器学习/深度学习 数据可视化
数据挖掘实战:Python在金融数据分析中的应用案例
Python在金融数据分析中扮演关键角色,用于预测市场趋势和风险管理。本文通过案例展示了使用Python库(如pandas、numpy、matplotlib等)进行数据获取、清洗、分析和建立预测模型,例如计算苹果公司(AAPL)股票的简单移动平均线,以展示基本流程。此示例为更复杂的金融建模奠定了基础。【6月更文挑战第13天】
2962 3
|
机器学习/深度学习 人工智能 自然语言处理
深度学习中的优化算法及其应用
本文旨在探讨深度学习中常用的优化算法,包括梯度下降、动量方法、AdaGrad、RMSProp和Adam等。通过分析每种算法的原理、优缺点及适用场景,揭示它们在训练深度神经网络过程中的关键作用。同时,结合具体实例展示这些优化算法在实际应用中的效果,为读者提供选择合适优化算法的参考依据。
|
自然语言处理 程序员
程序员如何在繁忙的工作中高效学英语
最最重要的是要去学!投入时间去学习,英语学习属于没有太多捷径,必须要投入大量时间去做的事。当然,虽然没有捷径,还是有一些方法和技巧可以提高一些速度的。但是最重要的是要做好心理准备,这是一场持久战。
1110 0
|
Prometheus Kubernetes Cloud Native
Kruise Rollout:灵活可插拔的渐进式发布框架
Kruise Rollout 是 OpenKruise 社区开源的渐进式交付框架。Kruise Rollout 支持配合流量和实例灰度的金丝雀发布、蓝绿发布、A/B Testing 发布,以及发布过程能够基于 Prometheus Metrics 指标自动化分批与暂停,并提供旁路的无感对接、兼容已有的多种工作负载(Deployment、CloneSet、DaemonSet)。近期也在《2022 开放原子全球开源峰会》上面做了主题分享,以下是主要内容。
Kruise Rollout:灵活可插拔的渐进式发布框架
|
前端开发 数据安全/隐私保护
vue3表单参数校验+正则表达式
vue3表单参数校验+正则表达式