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开发者的首选,但技术的发展从未停歇,拥抱变化才是与时俱进的根本。

“在技术的浪潮中,没有永恒的霸主,只有不断创新的追随者。”

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

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

相关文章

现代数字信号处理I-P3 MVUE学习笔记

目录 1. 参数估计问题的提出与本质 2. 估计的性质 2.1 Ancillary(多余估计) 例1,Ancillary估计量 2. Uniformly Optimal 3. Sufficiency充分性 3.1 统计量充分性定义 例2:利用充分统计量定义获取伯努利分布的充分统计量 …

Anaroute - 理论学习(一)

一、贡献: 框架能够在考虑特定约束的同时,高效地完成复杂AMS设计的布线,并实现签署质量的性能。 提出了一种对称性约束的分配算法,根据引脚位置分配合适的网络匹配要求新的引脚聚类策略,以实现规律性的布线模式&…

微知-Bluefield DPU使用flint烧录固件报错MFE_NO_FLASH_DETECTED是什么?MFE是什么?

文章目录 背景一些报错场景MFE是什么?有哪些MFE 背景 在DPU的fw操作flint的时候,很多命令都会报这个错误:MFE_NO_FLASH_DETECTED,早期很疑惑并且猜测MFE是Mellanox Firmware Engine。实际并不是,具体还得走到mellanox…

2014年国赛高教杯数学建模B题创意平板折叠桌解题全过程文档及程序

2014年国赛高教杯数学建模 B题 创意平板折叠桌 某公司生产一种可折叠的桌子,桌面呈圆形,桌腿随着铰链的活动可以平摊成一张平板(如图1-2所示)。桌腿由若干根木条组成,分成两组,每组各用一根钢筋将木条连接…

2024 第一次周赛

A: 题目大意 骑士每连续 i 天每天会得到 i 个金币,(i 1, 2, 3 , …),那么展开看每一天可以得到的金币数:1 2 2 3 3 3 4 4 4 5 5 5 5 5 … 可以发现就是1个1 ,2个2, 3个3…,那么我…

php 生成随机数

记录:随机数抽奖 要求:每次生成3个 1 - 10 之间可重复(或不可重复)的随机数,10次为一轮,每轮要求数字5出现6次、数字4出现3次、…。 提炼需求: 1,可设置最小数、最大数、每次抽奖生成随机数的个数、是否允许重复 2,可设置每轮指定数字的出现次数 3,可设置每轮的抽奖…

一维数组的引用

#define SIZE 5 int main(void) { int i 0; int arr[SIZE] { 86,85,85,896,45 };//同理五个数据只是偶然&#xff0c;可能会更多 //输入 for (i 0;i < SIZE;i) { printf("请输入你的第%d个值&#xff1a;",i1); scanf_s(&…

Spark常用RDD算子:transformation转换算子以及action触发算子

文章目录 1. 算子&#xff08;方法&#xff09;介绍2. 常用transformation算子2.1 map 2.2 flatMap2.3 filter2.4 distinct2.6 groupBy2.7 sortBy()2.8 k-v数据[(k,v),(k1,v1)] 3. 常用action算子 1. 算子&#xff08;方法&#xff09;介绍 rdd中封装了各种算子方便进行计算&a…

【Linux网络编程】网络基础 | Socket 编程基础

&#x1f308;个人主页&#xff1a; 南桥几晴秋 &#x1f308;C专栏&#xff1a; 南桥谈C &#x1f308;C语言专栏&#xff1a; C语言学习系列 &#x1f308;Linux学习专栏&#xff1a; 南桥谈Linux &#x1f308;数据结构学习专栏&#xff1a; 数据结构杂谈 &#x1f308;数据…

【动手学深度学习】6.3 填充与步幅(个人向笔记)

卷积的输出形状取决于输入形状和卷积核的形状在应用连续的卷积后&#xff0c;我们最终得到的输出大小远小于输入大小&#xff0c;这是由于卷积核的宽度和高度通常大于1导致的比如&#xff0c;一个 240 240 240240 240240像素的图像&#xff0c;经过10层 5 5 55 55的卷积后&am…

自然语言处理问答系统:技术进展、应用与挑战

自然语言处理&#xff08;NLP&#xff09;问答系统是人工智能领域的一个重要分支&#xff0c;它通过理解和分析用户的提问&#xff0c;从大量的文本数据中提取相关信息&#xff0c;并以自然语言的形式回答用户的问题。随着深度学习技术的发展&#xff0c;尤其是预训练语言模型&…

MATLAB智能优化算法-学习笔记(4)——灰狼优化算法求解旅行商问题【过程+代码】

灰狼优化算法(Grey Wolf Optimizer, GWO)是一种基于灰狼社会行为的元启发式算法,主要模拟灰狼群体的捕猎行为(包括围攻、追捕、搜寻猎物等过程)。多旅行商问题(Multi-Traveling Salesman Problem, mTSP)是旅行商问题(TSP)的扩展,它涉及多个旅行商(车辆)从一个起点城…

深度学习:循环神经网络—RNN的原理

传统神经网络存在的问题&#xff1f; 无法训练出具有顺序的数据。模型搭建时没有考虑数据上下之间的关系。 RNN神经网络 RNN&#xff08;Recurrent Neural Network&#xff0c;循环神经网络&#xff09;是一种专门用于处理序列数据的神经网络。在处理序列输入时具有记忆性…

动态规划的优化与高级应用

姊妹篇&#xff1a; 动态规划基础与经典问题-CSDN博客 贪心算法&#xff1a;原理、应用与优化_最优解-CSDN博客​​​​​​贪心算法&#xff1a;原理、应用与优化_最优解-CSDN博客 一、动态规划的优化策 动态规划在提高时间效率的同时&#xff0c;往往会占用较多的空间。因…

【汇编语言】寄存器(CPU工作原理)(七)—— 查看CPU和内存,用机器指令和汇编指令编程

文章目录 前言1. 预备知识&#xff1a;Debug的使用1.1 什么是Debug&#xff1f;1.2 我们用到的Debug功能1.3 进入Debug1.3.1 对于16位或者32位机器的进入方式1.3.2 对于64位机器的进入方式 1.4 R命令1.5 D命令1.6 E命令1.7 U命令1.8 T命令1.9 A命令 2. 总结3. 实操练习结语 前言…

grpc的python使用

RPC 什么是 RPC &#xff1f; RPC&#xff08;Remote Procedure Call&#xff09;远程过程调用&#xff0c;是一种计算机通信协议&#xff0c;允许一个程序&#xff08;客户端&#xff09;通过网络向另一个程序&#xff08;服务器&#xff09;请求服务&#xff0c;而无需了解…

笔试算法总结

文章目录 题目1题目2题目3题目4 题目1 使用 StringBuilder 模拟栈的行为&#xff0c;通过判断相邻2个字符是否相同&#xff0c;如果相同就进行删除 public class Main {public static String fun(String s) {if (s null || s.length() < 1) return s;StringBuilder builde…

前端开发基础NodeJS+NPM基本使用(零基础入门)

文章目录 1、Nodejs基础1.1、NodeJs简介1.2、下载安装文件1.3、安装NodeJS1.4、验证安装2、Node.js 创建第一个应用2.1、说明2.2、创建服务脚本2.3、执行运行代码2.4、测试访问3、npm 基本使用3.1、测试安装3.2、配置淘宝npm镜像3.3.1、本地安装3.3.2、全局安装3.4、查看安装信…

【网络】详解TCP协议的流量控制和拥塞控制

【网络】详解TCP协议的流量控制和拥塞控制 一. 流量控制模型窗口探测 二. 拥塞控制模型 总结 一. 流量控制 流量控制主要考虑的是接收方的处理速度。 接收端处理数据的速度是有限的.。如果发送端发的太快, 导致接收端的缓冲区被打满, 这个时候如果发送端继续发送, 就会造成丢包…