php是什么(php的优缺点)

天龙生活圈 57036次浏览

最佳答案






作者 | 千山




审校 | 云昭




一年一度的跳槽季又要到了。如今疫情管控放开,就业形势或会有所回暖,不少开发者正在为“金三银四

作者 | 千山

审校 | 云昭

一年一度的跳槽季又要到了。如今疫情管控放开,就业形势或会有所回暖,不少开发者正在为“金三银四”做着准备,那么你知道市场需求量较大的编程语言是哪些吗?

不久前,国外网站DevJobsScanner针对过去14个月(2021.10-2022.11)的数据进行了分析,从1200万个开发人员职位需求中,筛选出了对编程语言有明确要求的工作机会,从中总结提炼了2022年度需求量最大的8种编程语言。

其中,Javascript/Typescript毫无悬念地占据了主导地位,有近三分之一的工作机会需要掌握Javascript/Typescript知识,而Python和Java则分别是2022年第二和第三大需求的编程语言,C#紧随其后。

2022 年编程语言及其各自需求的完整图表

比较令人意外的是,PHP位列第五。这门有着近三十年历史的编程语言曾几度被唱衰,但在这次调查中,研究人员发现,依然有22.6万份工作是面向PHP的,占比约为10%。而且值得注意的是,2021年10月,PHP在所有开发就业机会中所占的比例约为5%,但到2022年11月,这一比例却几乎翻了一番。

1、老而弥坚的语言:曾列入厌弃前五名

“PHP是世界上最好的语言。”在编程语言界,这是一个颇有年头的梗,甚至发展到后来,多少带了点黑色幽默。这些年,关于“PHP将亡”、“PHP已死”的言论并不鲜见,不过时至今日,这门语言依然坚挺。

但客观来说,依然有不少开发人员并不待见PHP,在Stack OverFlow的调查中,PHP甚至入选过最讨厌的语言前五名。但一门语言能在历史长河中存活下来,肯定是有点门道在的。

回顾一下PHP的发展历程,不可谓不精彩,其兴衰起伏可以说折射着整个互联网的发展脉络。

PHP的创始人是出生于格陵兰岛的程序员Rasmus Lerdorf。1994年,Rasmus出于自己的工作需要开发了PHP,但他在后来的采访中透露,他从来没有想过把它变成一种编程语言。最初,这个工具套件中并没有任何东西是为了成为工具而设计的。

“我真的不喜欢编程。我开发这个工具的目的,就是为了减少编程的工作,这样,我就可以简单地重用那些我不知道如何停止的代码,我从来也没有打算过要编写一种编程语言 [……]。实际上我根本就不知道要如何编写一种编程语言,我只是不断地添加下一个逻辑步骤。”

但就是这种“无心插柳”的行为成为了PHP的起点。而在PC互联网时代,PHP很快迎来了自己的荣耀之巅。

彼时,线上80%的网站都是用PHP语言开发的,淘宝、雅虎和搜狐都有PHP的身影。当时用PHP做网站前后端不分离,而HTML+CSS+JS+jQuery成为了开发者的标配技能。举个例子,当时如日中天的社交软件Facebook有专门的团队对PHP做了二次性能优化。

非常适用于快速建站的PHP在当时的确称得上“世界上最好的Web语言”。直到移动互联网兴起,一批以腾讯为代表的互联网巨头开始以智能手机为依托,开发各种各样火爆的移动APP,前后端逐渐分离,PHP也开始没落,在随后的几年中,迅速被Java、Python等其它语言攻城略地。

有人感慨,在一个人人都热衷于追逐新事物的时代,PHP就像一个不爱炒作、也不想出售故土的老人。这一论调与很多开发者心中的刻板印象十分契合,在他们心中,PHP已经停滞不前好久了。但事实上,如果你愿意花一点时间去了解一下,就可以发现,PHP的官方团队一直在持续维护迭代新版本。

如今的PHP除了在性能上有所提升外,在Laravel、ThinkPHP等框架方面也做得很优秀。

在2022年12月发布的PHP 8.2版本中,新增支持在traits中定义常量、引入了“Random”扩展和“read-only”类、Disjunctive Normal Form (DNF) 类型,更新了内置web服务器的MIME类型表,减少了各种函数返回的字符串的内存占用,初步支持macOS Instrument的JIT性能分析生成,为Linux启用arc4random_buf,为随机字节引入Glibc 2.36以上版本。

PHP的更新节奏不疾不徐。可以看到,在新语言层出不穷的编程世界中,PHP呈现了一种“老而弥坚”、“壮心未已”的姿态。

二、重回前十,归因还是赚“快”钱

当前,虽然PHP的市场占有率有所下滑,但依旧是Web开发的主要开发语言。不久前,Tiobe公布的2023年1月编程语言排行榜中,PHP爬到了第十位,堪称“稳稳的幸福”。

Tiobe公布2023年1月编程语言排行榜

但PHP还是经常为人所诟病。典型的一点是,PHP主要适用在中并发以下的Web项目快速开发和轻量级脚本任务开发,对个人或创业公司建站来说或许是优选,但对于真正的大型项目来说并不适用。

简单来说,PHP这门语言的优缺点都非常鲜明,这也造成了“恨者自恨、爱者自爱”的常态。

PHP的长处在于:

第一,新手友好,入门门槛低,利于变现:很多人自学几个月就能做出不错的东西,能求职、能接单。有开发者曾有感而发:“作为一个半路出家自学转行互联网的草根来说,我能够成功转行,摆脱自己不喜欢的工作到自己喜欢的工作与生活状态,可以说完全仰仗基于PHP的几个开源软件。”

第二,开发速度快,开发成本低:一个小中型Web项目,一至三个月就可以出来。而且PHP的经典组合“LAMP(Linux + Apache + Mysql + PHP)”均是开源免费的,在控制成本方面立竿见影。

第三,跨平台性强:由于PHP是运行在服务器端的脚本,可以运行在UNIX、LINUX、WINDOWS、Mac OS下。新发布的PHP 8.2版本 初步支持Windows for ARM64平台上的跨平台创建,分配JIT缓冲区Opcache靠近PHP.text字段,以允许使用直接的IP相关调用和跳转。

PHP的短板同样一目了然:

第一,工作机会虽多,但整体待遇偏低:无论在一线城市还是二三线城市,PHP岗位需求量都不少,但薪资待遇只能说中规中矩,甚至普遍靠后。比较直观的原因是,当技术处于上升期,在流行前沿,背靠巨头好乘凉时,收入自然水涨船高,但当技术过了巅峰期,正在下坡,从业者里的“大神”比重自然下滑,收入水平也很难提升。

第二,语言缺乏深度属性,成长空间小。由于入门PHP不需要用到底层特性,这让单一的PHPer很难获得接触底层代码的机会。如果不想在一棵树上吊死,就必须在学完PHP后再去学习其他语言,比如Java、Go之类的,才能真正打开技能拓展空间。

第三,适用范围有限,很少用于大型项目开发。就像有的开发者认为的,PHP能开发的Java同样能开发,比如PHP虽然也可以实现多线程高并发功能,但主要针对中小型网站,如果是像大型商城在线购物系统,选择Java的实战效果往往更好。

3、最好的语言:被唱衰的“命硬”玩家

总体来说,关于编程语言的鄙视链一直都有,没有什么语言会获得所有人的好评。有人讨厌PHP,就像有人讨厌JavaScript、C++或Python一样稀松平常。但不可否认的是,PHP的确非常适合Web开发,快速建站,而且入门快、成本低、开源框架多,也正如前文所提到的,它也确实提供了大量的就业岗位。

在知乎论坛,“坚持使用PHP的你,如今有什么感悟?”这一问题下,常见的感慨是:虽然很多人以为PHP已经是明日黄花,但对于个人创业者和中小企业来说,PHP仍然是快速开发项目的首选。即使被唱衰那么多年,PHP如今还是很活跃,就像下图中这位朋友所描述的——真是“命硬”。

知乎用户回答节选