PHP 仍然是最流行的服务器端编程语言_咕噜咕噜88的博客-程序员秘密

技术标签: asp.net  php  资讯  程序员专区  Linux小白专题  ruby  

世界上最好的语言是什么?每个程序员都有不同的答案。但是作为历史悠久的 Web 后端开发语言,素有世界上最好编程语言之称的PHP,每年都会传来“将死”的消息,让人不得不怀疑PHP到底怎么了,为什么变得不再受人欢迎?
在这里插入图片描述

PHP尽管一直被人抱怨,但在可预见的未来 PHP 语言并不会离开我们。根据 W3Techs 的报告显示了自 2010 年 1 月以来服务器端编程语言使用的历史趋势。从 2010 年到 2021 年,PHP 的市场份额不减反而增加了。PHP 在 2010 年的份额为 72.5%,而今天增加到了 78.8%。PHP 的竞争对手基本上没有超过 10% 的:ASP.NET 曾在 2010 年占据了 24.4% 的份额,今年 1 月降至 9.3%,本月继续跌至 8.3%。Enlarge / Ruby 是唯一一种在过去十年中经历了大幅增长的服务器端 Web 语言,尽管其存在率达到 6.5%,并没有被 PHP 视为“威胁”。
在这里插入图片描述
在这里插入图片描述

PHP由Rasmus Lerdorf于1994年创建的,PHP作为一种解释执行的脚本语言,主要用于服务器端开发,尤其适用于Web开发并可嵌入HTML中。PHP语法和C语言类似,易学易用;PHP 可在不同的平台上运行(Windows、Linux、Unix、Mac OS X 等);PHP 是免费的;不仅兼容目前大部分正在被使用的服务器,而且可以高效地运行在服务器端。也凭借于此,在互联网应用爆发初期就占领了巨大市场,一些世界上最大的网站(Facebook)最初都是 PHP 写的,这也是其至今屹立不倒的核心原因。

虽然PHP拥有种种优点,但在 20 多年的历史发展中,也存在很多糟糕的地方。比如:混乱的参数顺序,导致完全记不住一个函数的用法,每次需要查手册或借助 IDE;混乱的函数命名;缺乏对多线程的支持等。还有一个主要原因就是PHP 语言设计之初就存在不规范的地方,后期版本迭代时候也缺乏语言设计专家的参与,过于追求实用主义导致 PHP 社区忽视其他因素(如编程体验)的重要性。

即便如此,PHP语言能屹立编程语言界20多年,也是有原因的。它虽然存在一些不足之处,也不能抹杀PHP在编程语言界的历史功绩,也许有一天,我们想搭建一个小网站,PHP似乎是一个不错的选择,你觉得呢?

参考链接:
https://arstechnica.com/gadgets/2021/09/php-maintains-an-enormous-lead-in-server-side-programming-languages/

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m0_59537084/article/details/120327565

智能推荐

AVUE 获取显隐列字段_流觞、的博客-程序员秘密

近期在需要做一个导出功能,业务人员希望,导出的字段和前台显示的结果一致,故而需要获取显隐列的字段信息;很遗憾在avue的官方文档中并没有直接找到对应的信息;<avue-crud ref="crud" :data="dataList" :option="option" :summary-method="getSummaries" :show-column.sync="showColumn" :table-loading="loading" :page.sync="page

Apollo安装及使用CyberRT回放数据(Ubuntu20.04+RTX3070)_qqsuiying的博客-程序员秘密

安装的时候完全参考官方就好,很稳,不过官网肯定是最新,如果需要旧版本困难还需要找一下Apollo开放平台文档 - 必备软件安装指南首先需要安装好Ubuntu和NVIDIA驱动,我这里使用的是Ubuntu20.04,RTX3070+CUDA11.3Apollo 6.0+ 依赖于 Docker 19.03+。安装 Docker 引擎,参见 Install Docker Engine on Ubuntu。Ubuntu 上的 Docker-CE 也可以通过 Docker 提供的官方脚本安装:curl https:

Android WiFi--框架分析/业务流程分析/日常调试命令_wifi模块程序步骤_AU3604的博客-程序员秘密

目录(?)[-]系统架构WifiService   WifiMonitorwpa_supplicantWifi驱动模块Wifi电源管理模块Wifi工作步骤Wifi模块代码WifiService和wpa_supplicant启动流程状态变化生产时自动打开Wifi1. 系统架构        Android WiFi系统引入了wpa_suppli

Outlook无法打开 .ost文件损坏,卸载重装也恢复不了_excited_xiang的博客-程序员秘密

updated: 2020.01.23一. 问题描述在桌面版outlook上创建新的规则,由于邮件缓存太大,应用程序卡死,强制关闭后再重启提示 “Errors have been detected in the file outlook.ost, 即ost文件损坏”。照着网上的方法尝试使用微软自带软件修复,或者删除错误文件甚至重装软件都未果,打开outlook依旧显示我的文件损坏。...

Visual Studio (VS) :引用丢失报错解决方案,NuGet使用经验!!!_vs引用报错_上海好程序员的博客-程序员秘密

vs引用报错解决方案:1、删除引用文件夹(重新下载加载)2、删除package文件夹(重新下载加载)3、安装补全.net组件3、安装补全.net core组件5、安装补全asp.net组件 尤其mvc6、开启vs2017开发人员命令工具 输入 devenv /resetuserdata7、注意各个nuget包之间的版本依赖性,不能盲目升级,尤其是asp.net core mvc,2...

随便推点

mysql conv(),雪花中的CONV()函数_张盛锋的博客-程序员秘密

I'm trying to find equivalent of the CONV() MySQL function in Snowflake, but I can't seem find it.I'm trying to do the following in Snowflake:SELECT CONV('39ix75wf3aor7',36,10)The result should be 154...

java 移动文件夹_java代码实现移动文件以及文件夹_哇塞5G的博客-程序员秘密

//文件原地址File oldFile = new File("c:/test.xls");//文件新(目标)地址String newPath = "c:/test/";//new一个新文件夹File fnewpath = new File(newPath);//判断文件夹是否存在if(!fnewpath.exists())fnewpath.mkdirs();//将文件移到新文件里File fne...

dumi之搭建博客提升影响力(良心之作)_刘夏江的博客的博客-程序员秘密

简介dumi 是啥,啥是dumi,相信react的忠实粉,都有这么几个痛点:憋了几年的技术和业务积累写了一套贴合自身业务的组件库。吭哧吭哧…终于写完了。队友:看不懂大湿的代码啊。emmm…好吧。这个函数是…这个class是…这个组件要…用。好吧看来是时候整个文档了。搜索引擎啊,请你告诉我是一名优秀的程序员吗?搜索引擎:嗯,算…是吧。我刚造了个火箭,他需要一本书起飞的说明书,帮我...

清除ul li样式_ul清除样式_Hzsilvana的博客-程序员秘密

ul li { list-style: none; padding: 0px; margin: 0px;}

tar命令中-C的作用_XiAoma123_1的博客-程序员秘密

tar zxvf test.tar.gz -C testtar -C / -xf ${tarfile}注释:上面的命令将 test.tar.gz 这个压缩包解压到当前目录下的 test 目录下。或者第二个命令是放到根目录下 -C 选项的作用是:指定需要解压到的目录。...

GD32通用定时器、高级定时器PWM输出例程_【ql君】qlexcel的博客-程序员秘密

通用定时器/*********************************************************************************************************** 函 数 名:PWMOut_LCD_BK_Init* 功能说明:TFT背光PWM初始化* 形 参:* 返 回 值:*****************************************************************************