当前位置: 首页 > news >正文

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 的实现复杂&#xf…...

尚硅谷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)&#xf…...

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的车 输入购买的授权码即可。 默认…...

微信小程序昵称获取

<view class"shouquan_list"> <label>昵称</label> <input type"nickname" value"{{nichengshoudong}}" bindinput"bindKeyInputnicheng" placeholder"请输入昵称" placeholder-style"color:r…...

SQL进阶技巧:如何找出开会时间有重叠的会议室?| 时间区间重叠问题

目录 0 场景描述 1 数据准备 2 问题分析 方法1&#xff1a;利用 lateral view posexplode()函数将表展开成时间明细表 方法2&#xff1a;利用数学区间讨论思想求解 3 小结 如果觉得本文对你有帮助&#xff0c;想进一步学习SQL语言这门艺术的&#xff0c;那么不妨也可以选…...

Educational Codeforces Round 170 (Rated for Div. 2) D 题解

to sum of:前三题都是究极水题&#xff0c;补补D题吧&#xff0c;dp太钛肽弱了.. Problem - D - Codeforces--Attribute Checks 思路:首先得坚定地确定m^2,然后剩下的复杂度思考怎么优化.. key:每一个0只考虑影响到下一个0之间的数字!! 定义dp[i][j]为,在有i个能力点时.点了…...

NeRS: Neural Reflectance Surfaces for Sparse-view 3D Reconstruction in the Wild

阅读记录&#xff1a; 1. 2.优点1&#xff1a;我们的方法仅依赖于近似的相机位姿估计和粗略的类别级形状模板。 3.我们的关键见解是&#xff0c;我们可以强制执行基于表面的 3D 表示&#xff0c;而不是允许广泛用于体积表示的无约束密度。重要的是&#xff0c;这允许依赖于视…...

【Linux】su 命令的运行原理以及su切换用户默认继承环境配置

一、su 命令的运行原理 原理解释&#xff1a; su&#xff08;switch user&#xff09;命令用于在Linux和Unix系统中切换用户身份。 当你执行 su 命令时&#xff0c;系统会创建一个新的进程&#xff0c;通常是一个新的 shell 实例。这个新进程会以目标用户的身份运行&#…...

libtorch环境配置

环境配置 建议在linux上配置对应环境 可以在autoDL上租一个服务器来搭建&#xff0c;带有pytorch的环境 https://www.autodl.com/home 我自己的win电脑上安装了pytorch&#xff0c;但是配置时会报错&#xff0c;于是到ubuntu上配置 电脑上装有pytorch的就不需要再下载libtorc…...

【C语言】define宏定义与const修饰限定

两者都是将字符替换为相应的数值。 区别在于&#xff1a; #define宏定义纸进行字符串替换&#xff0c;无类型检查 const修饰符限定变量为只读变量 #include <stdio.h> #define PI 3.14159 //符号常量 /* 功能&#xff1a;宏定义与const修饰符限定 时间&#xff1a;20…...

基于深度学习的基于视觉的机器人导航

基于深度学习的视觉机器人导航是一种通过深度学习算法结合视觉感知系统&#xff08;如摄像头、LiDAR等&#xff09;实现机器人在复杂环境中的自主导航的技术。这种方法使机器人能够像人类一样使用视觉信息感知环境、规划路径&#xff0c;并避开障碍物。与传统的导航方法相比&am…...

苍穹外卖学习笔记(二十三)

拒单 OrderController /*** 拒单*/PutMapping("/rejection")ApiOperation("拒单")public Result rejection(RequestBody OrdersRejectionDTO ordersRejectionDTO) throws Exception {orderService.rejection(ordersRejectionDTO);return Result.success(…...

vLLM 推理引擎性能分析基准测试

文章目录 分析步骤案例案例描述测试数据集 原始数据〇轮测试&#xff08;enable-64&#xff09;一轮测试&#xff08;enable-128&#xff09;二轮测试&#xff08;enable-256&#xff09;三轮测试&#xff08;enable-512&#xff09;四轮测试&#xff08;enable-2048&#xff0…...