2024 年 04 月编程语言排行榜,PHP 排名创新低?
编程语言的流行度总是变化莫测,每个月的排行榜都揭示着新的趋势。2024年4月的编程语言排行榜揭示了一个引人关注的现象:PHP的排名再次下滑,创下了历史新低。这种变化对于PHP开发者和整个技术社区来说,意味着什么呢?
PHP一度是Web开发的王者,但如今为何地位岌岌可危?其他语言又是如何崛起并逐步替代PHP的?
TIOBE 2024 年 04 月份的编程语言排行榜已经公布,官方的标题是:PHP 是否正在失去其魔力?(Is PHP losing its mojo?)
本月,PHP 在 TIOBE 指数中跌至历史最低点,早些年 PHP 作为脚本语言,特别适用于 Web 开发,很多网站都是用 PHP 代码写的,像 dedecms、Discuz!、,PhpWind 等国内的 CMS 系统都风靡一时,还有世界上网站用的最多的系统 Wordpress 到现在还非常的流行,这些都是使用 PHP 写的。
PHP 具有易学易用、灵活性强、性能稳定等优势,在 Web 开发领域广泛应用,再结合一些开源系统的流行,在当年 PC 时代,网站开发 PHP 基本是所有企业首选的开发语言。
同时被很多人称为:PHP 是最好的编程语言!!!
从下图可以看到,PHP 在本月已经掉到了第十七名,去年同期还在第九名:

早期的 PHP 的市场份额一度超过了 10%,甚至在 TIOBE 指数中排名前三,而本月市场份额已经掉落到 1.09%,让人唏嘘。
下图也可以看出,PHP 这几年已经开始逐步下滑,特别近几年 Python、Ruby、Node.js(JavaScript) 的崛起,很多网站开发都被这些语言替代了,并且在其他方面这些语言都表现的更优异。

目前,PHP 在中小型网站领域仍然占据着强劲地位,最流行的 Web 内容管理系统 WordPress 用的就是 PHP。
因此,短期内 PHP 也不会消失,但它的辉煌时代似乎已经过去了。
PHP(Hypertext Preprocessor)是一种通用开源脚本语言,特别适用于 Web 开发并可以嵌入 HTML 中。
PHP 最初由 Rasmus Lerdorf 在 1994 年创建,被设计用于快速开发动态网页,并且可以与多种数据库进行交互,包括 MySQL、PostgreSQL、Oracle 等。
PHP 优势:
-
易学易用:PHP 的语法借鉴了 C、Java 和 Perl,使得许多程序员可以相对轻松地学习和使用它。此外,它与 HTML 高度集成,使得在 Web 页面中嵌入 PHP 代码变得简单。
-
开源和免费:PHP 是开源的,可以免费使用,这使得它成为了许多开发者和组织的首选。同时,开源社区的贡献也使得 PHP 拥有丰富的扩展库和资源。
-
跨平台性:PHP 可以在各种操作系统上运行,包括 Windows、Linux、Unix 和 macOS,因此具有很好的跨平台性,开发人员可以在不同的环境中使用相同的代码。
-
强大的数据库支持:PHP 支持与多种数据库系统进行交互,包括 MySQL、PostgreSQL、Oracle 等,使得开发者可以轻松地处理数据操作和管理。
-
灵活性和扩展性:PHP 具有丰富的内置函数和第三方扩展,同时也支持自定义函数和类,使得开发者可以根据项目需求进行灵活的定制和扩展。
-
快速开发:PHP 的语法简单直观,结合丰富的函数库和开发工具,使得开发者可以快速构建动态网页和 Web 应用程序,提高开发效率。
-
大型社区支持:PHP 拥有庞大的开发者社区,提供了丰富的文档、教程和论坛,开发者可以在社区中获得支持、分享经验和解决问题。
PHP 语言版本历史:


目前流行的各个版本支持时间:

PHP 官方网站:https://www.php.net/
PHP 入门教程:https://www.runoob.com/php/php-tutorial.html
PHP 历史排名变动图:

本月,排名前十的分别是:
Python,C,C++,Java,C#,JavaScript,Go,Visual Basic,SQL,Fortran。

Python,C,C++,Java,C#,JavaScript,Go,Visual Basic,SQL,Fortran 历史变化曲线图:

排名 11-20 的编程语言,PHP 已跌到 17:

排名 21-50 的编程语言:

51-100的编程语言:
ABC, ActionScript, Apex, APL, AutoLISP, Bash, bc, Boo, Carbon, CFML, CHILL, CIL, CL (OS/400), Clojure, Cobra, Curl, DiBOL, Eiffel, Elixir, Elm, Groovy, Hack, Icon, Idris, Inform, Io, J, LabVIEW, Lingo, LiveCode, Maple, MQL5, Nim, OCaml, OpenEdge ABL, Oz, PL/I, PostScript, PowerShell, Pure Data, Q, Racket, Ring, Smalltalk, SNOBOL, Solidity, SPARK, SPSS, Wolfram, X++
各大编程语言的历史排名(1988-2024):

编程语言“名人榜”( 2003-2023):

TIOBE 每个月都会公布一次编程语言的排行榜,这份排行榜排名基于全球技术工程师、课程和第三方供应商的数量,其中包括了流行的搜索引擎以及技术社区,如 Google、百度、维基百科等等。
数据反映目前主流编程语言的变化趋势,对我们学习和工作可作为一个参考,但各个语言都有它们各自适合的应用场景,所以也不必过于在意,毕竟语言的好坏在于如何去使用它。
以下视频是近几十几年来编程语言的变化趋势:
参考:https://www.tiobe.com/tiobe-index/
编程语言的变化趋势不仅仅关乎开发者的选择,也反映出行业需求的变化。随着全栈开发、云计算和微服务架构的普及,市场对高效、灵活的语言需求显著提升,而这些正是许多传统语言逐渐被替代的原因。
PHP在编程语言排行榜中的下滑,提醒着开发者时刻保持对新技术的关注和学习。尽管曾经是无数Web开发者的首选,但技术的发展从未停歇,拥抱变化才是与时俱进的根本。
“在技术的浪潮中,没有永恒的霸主,只有不断创新的追随者。”

相关文章:
2024 年 04 月编程语言排行榜,PHP 排名创新低?
编程语言的流行度总是变化莫测,每个月的排行榜都揭示着新的趋势。2024年4月的编程语言排行榜揭示了一个引人关注的现象:PHP的排名再次下滑,创下了历史新低。这种变化对于PHP开发者和整个技术社区来说,意味着什么呢? P…...
Element中el-table组件设置max-height右侧出现空白列的解决方法
之前就出现过这个情况,没理过,因为不影响啥除了不美观...但今天看着实在是难受,怎么都不顺眼(可能是我自己烦躁--) 试了很多网上的方法,都不得行,后面发现了这篇文章,解决了! 感谢! Element中t…...
unity学习-全局光照(GI)
在全局光照(Lighting)界面有两个选项 Realtime Light(实时光照):在项目中会提前计算好光照以及阴影的程序,当你需要调用实时全局光照的时候会将程序调用出来使用 Mixed Light(烘焙光照&#x…...
记录Centos7 漫漫配置路
记录Centos7 漫漫配置路 一、 配置源二、 clinfo三、 PCL 配置1. 依赖2. eigen3. boost4. flann5. pcl 四、YAML-CPP五、 miniconda 安装 python3.6 和 pytorch六、libbot 配置1. 容易安装的依赖2. 需要源码安装的依赖3. [libbot](https://github.com/libbot2/libbot2) 简单地说…...
论文 | OpenICL: An Open-Source Framework for In-context Learning
主要内容: 2. 提供多种 ICL 方法: 3. 完整的教程: 4. 评估和验证: 背景: 随着大型语言模型 (LLM) 的发展,上下文学习 (ICL) 作为一种新的评估范式越来越受到关注。问题: ICL 的实现复杂…...
尚硅谷rabbitmq 2024 Federation配置 第60节答疑
rabbitmq联邦队列怎么做 要在 RabbitMQ 中设置联邦队列(Federated Queues),你需要遵循以下步骤。联邦队列允许你在不同的 RabbitMQ 实例之间共享队列,从而实现消息的分布式处理和高可用性。 ### 步骤 1:安装 RabbitMQ…...
Ubuntu编译MySQL驱动连接QT
1、安装MySQL 安装MySQL软件以及驱动。 sudo apt-get install mysql-serversudo apt install mysql-clientsudo apt-get install libmysqlclient-dev 2、编译qmysql驱动 2.1、修改mysql.pro 找到Qt源码中的mysql.pro项目文件,一般位于:/opt/Qt/5.15…...
时间序列预测(七)——梯度消失(Vanishing Gradient)与梯度爆炸(Exploding Gradient)
目录 一、定义 二、产生原因 三、解决方法: 梯度消失与梯度爆炸是深度学习中常见的训练问题,它们主要发生在神经网络的反向传播过程中,使得模型难以有效学习。 一、定义 1、梯度消失(Vanishing Gradient)…...
ARM assembly 12: GCD(最大公约数)计算
首先,我们看看GCD(Greatest Common Divisor)的CPP实现 int gcd(int a, int b) {if(b 0) return a;return gcd(b, a%b); }基于下面的gcd.s文件,我们尝试实现gcd函数 //gcd.s .global main .extern fopen, fprintf, fclose, printf, atoi.section .dat…...
「实战应用」如何用图表控件LightningChart可视化天气数据?(一)
LightningChart.NET完全由GPU加速,并且性能经过优化,可用于实时显示海量数据-超过10亿个数据点。 LightningChart包括广泛的2D,高级3D,Polar,Smith,3D饼/甜甜圈,地理地图和GIS图表以及适用于科学…...
基于深度学习的细粒度图像分析综述【翻译】
🥇 版权: 本文由【墨理学AI】原创首发、各位读者大大、敬请查阅、感谢三连 🎉 声明: 作为全网 AI 领域 干货最多的博主之一,❤️ 不负光阴不负卿 ❤️ 文章目录 基础信息0 摘要1 INTRODUCTION2 识别与检索 RECOGNITION VS. RETRIEVAL3 问题和…...
yolo笔记
目录 Anaconda安装Pytorchyolov5下载部署labelimg安装 Anaconda安装 官网链接 https://www.anaconda.com/ 官网链接链接: 官网链接https://www.anaconda.com/ 直接下最新版 (网站会自动检测系统,我是在Windows环境截图的) bash Anaconda3-XXXX-Linux-x86_64.sh一…...
Android平台RTSP|RTMP播放器PK:VLC for Android还是SmartPlayer?
好多开发者,希望在Android端低延迟的播放RTMP或RTSP流,本文就目前市面上主流2个直播播放框架,做个简单的对比。 VLC for Android VLC for Android 是一款功能强大的多媒体播放器,具有以下特点和功能: 广泛的格式支持…...
IDEA下面的Services不见了(解决方案)
大家使用IDEA有时候新打开个项目这个东西不会自动出现如何解决 配置方法: 右上角打开进入Edit Configurations 进入后我们看到里面是没有SpringBoot相关内容的 点击加号选择SpringBoot 然后Apply Ok即可,现在IDEA下面就会出现Service了,打…...
【pyspark学习从入门到精通7】DataFrames_2
目录 创建 DataFrames 生成我们自己的 JSON 数据 创建 DataFrame 创建临时表 简单的 DataFrame 查询 DataFrame API 查询 SQL 查询 创建 DataFrames 通常,您会通过使用 SparkSession(或在 PySpark shell 中调用 spark)导入数据来创建 …...
Server-Sent Event(SSE) GPT场景实现
关于SSE的基本概念可以看一下阮一峰老师的这篇文章:Server-Sent Events教程。 现在比较常见的场景是gpt回答的时候类似下图这种打字机的情况,因为AI一般响应时间会比较长,使用这种方式能让人别等那么久,是一个相对比较良好的用户…...
美国Honeywell霍尼韦尔气体分析侦测器传感器MIDAS-K-HCL说明书
上海德奥达 ---Honeywell霍尼韦尔气体分析侦测器传感器MIDAS-K-HCL是一款用于检测氯化氢气体的高性能传感器。以下是该传感器的技术参数和描述:技术参数:-测量范围:0-50ppm-灵敏度:0.5ppm-响应时间:≤30秒-电源&…...
L1练习-鸢尾花数据集处理(分类/聚类)
背景 前文(《AI 自学 Lesson1 - Sklearn(开源Python机器学习包)》)以鸢尾花数据集的处理为例,本文将完善其代码,在使用 sklearn 的部分工具包基础上,增加部分数据预处理、数据分析和数据可视化…...
javaweb以html方式集成富文本编辑器TinyMce
前言: 单一的批量图片上传按钮,禁用tinymce编辑器,但是还可以操作图片编辑; 多元化格式的富文本编辑要求; 采用tinymce实现。 附: tinymce中文手册网站: http://tinymce.ax-z.cn/download-all.…...
大学生福音!用GPT-4o几分钟内轻松读懂一篇论文!
文章目录 一、读论文智能体:PDFAI操作指导阅读论文上传论文并分析进一步研究导出可用代码 二、感受 一、读论文智能体:PDFAI 操作指导 ChatGPT 4o国内直接访问地址:https://share.xuzhugpt.cloud/ 上plus的车 输入购买的授权码即可。 默认…...
CVPR 2025 MIMO: 支持视觉指代和像素grounding 的医学视觉语言模型
CVPR 2025 | MIMO:支持视觉指代和像素对齐的医学视觉语言模型 论文信息 标题:MIMO: A medical vision language model with visual referring multimodal input and pixel grounding multimodal output作者:Yanyuan Chen, Dexuan Xu, Yu Hu…...
K8S认证|CKS题库+答案| 11. AppArmor
目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作: 1)、切换集群 2)、切换节点 3)、切换到 apparmor 的目录 4)、执行 apparmor 策略模块 5)、修改 pod 文件 6)、…...
Zustand 状态管理库:极简而强大的解决方案
Zustand 是一个轻量级、快速和可扩展的状态管理库,特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...
shell脚本--常见案例
1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件: 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...
短视频矩阵系统文案创作功能开发实践,定制化开发
在短视频行业迅猛发展的当下,企业和个人创作者为了扩大影响力、提升传播效果,纷纷采用短视频矩阵运营策略,同时管理多个平台、多个账号的内容发布。然而,频繁的文案创作需求让运营者疲于应对,如何高效产出高质量文案成…...
基于 TAPD 进行项目管理
起因 自己写了个小工具,仓库用的Github。之前在用markdown进行需求管理,现在随着功能的增加,感觉有点难以管理了,所以用TAPD这个工具进行需求、Bug管理。 操作流程 注册 TAPD,需要提供一个企业名新建一个项目&#…...
从面试角度回答Android中ContentProvider启动原理
Android中ContentProvider原理的面试角度解析,分为已启动和未启动两种场景: 一、ContentProvider已启动的情况 1. 核心流程 触发条件:当其他组件(如Activity、Service)通过ContentR…...
android RelativeLayout布局
<?xml version"1.0" encoding"utf-8"?> <RelativeLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"match_parent"android:gravity&…...
Kafka主题运维全指南:从基础配置到故障处理
#作者:张桐瑞 文章目录 主题日常管理1. 修改主题分区。2. 修改主题级别参数。3. 变更副本数。4. 修改主题限速。5.主题分区迁移。6. 常见主题错误处理常见错误1:主题删除失败。常见错误2:__consumer_offsets占用太多的磁盘。 主题日常管理 …...
git: early EOF
macOS报错: Initialized empty Git repository in /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/.git/ remote: Enumerating objects: 2691797, done. remote: Counting objects: 100% (1760/1760), done. remote: Compressing objects: 100% (636/636…...
