一年翻一倍!神奇的PHP,变老了,也更离不开了!

理解 PHP 8 的 JIT TL;DR PHP 8 的 JIT(Just In Time)编译器将作为扩展集成到 php 中Opcache 扩展用于运行时将某些操作码直接转换为从 cpu 指令。 这意味着使用 JIT 后,Zend VM 不需要解释某些操作码,并且这些指令将直接作为 CPU 级指令执行。 PHP 8 的 JIT PHP 8 Just In Time (JIT) 编译器带来的影响是毋庸置疑的。但是到目前为止,我发现关于 JIT 应该做什么却知之甚少。 经过多次研究和放弃,我决定亲自检查 PH... 阅读详情

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

不久前,国外网站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月,这一比例却几乎翻了一番。

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

“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的实战效果往往更好。

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

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

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

知乎用户回答节选

参考链接:

https://www.devjobsscanner.com/blog/top-8-most-demanded-languages-in-2022/

https://zhuanlan.zhihu.com/p/144582666

https://www.zhihu.com/question/549502049

https://baijiahao.baidu.com/s?id=1751714923061441454

php百万级数据Excel导出的解决方案【7.0以上的版本】 背景 如果你的php版本低于7.0,那下面说的都是废话!!!! php后台开发经常会遇到excel导出的需求,遇到动不动几十万的导出需求,经常束手无策,网上找了很多方案,基本都是导出成cvs格式,没错cvs格式占用内存少,导出快,很多时候用cvs可以解决问题。但是作为一个追求最优方案的程序员,是不满足于降低产品体验等级来将就的,而且产品也不允许这么做,就要excel!之前面对这种需求,我也没有办法... 阅读详情

相关推荐

如何快速获取SAMM、SMIC等主流微表情数据集?完整申请指南(附避坑技巧)

本文提供了获取SAMM、SMIC等主流微表情数据集的完整申请指南,包括申请前的准备工作、分步申请流程、协议谈判技巧以及数据使用与维护策略。特别针对高分辨率动态捕捉和多模态同步数据等热词,帮助研究者高效获取高质量数据集,避免常见陷阱。

weixin_29057163的博客 420

PHP 8.0及以上版本有哪些重要新特性?(如JIT、命名参数等)

建议开发者根据项目需求逐步升级,结合框架适配情况(如Laravel、Symfony已全面支持8.x)充分利用新特性优化代码结构。

破损的天堂鸟博客 1684

RGB接口电容触摸屏驱动(二)接口与时序说明

RGB接口电容触摸屏驱动(二)接口与时序说明

杰克拉力船长个人博客 4917

十一、 PHP8 新特性:JIT

1. 概述 JIT (Just-In-Time) 即时编译器是 PHP8.0 中最重要的新功能之一,可以极大提高性能。 JIT 编译器将作为扩展集成到 PHP 中 Opcache 扩展用于运行时将某些操作码直接转换为 cpu 指令。仅在启用 opcache 的情况下,JIT 才有效。 2. Opcache 扩展 Opcache 通过将 PHP脚本 预编译的字节码 存储到共享内存中来提升性能,存储预编译字节码的好外就是:省去了每次加载和解析 PHP 脚本的开销。 3. Opcache 开启 与 配置 文

汪学友的博客 650

从零开始理解二极管限幅:5种典型电路设计及实际应用场景解析

本文系统解析了二极管限幅电路的五大经典拓扑,包括串联与并联型上下限幅及双向限幅。通过剖析其核心原理与二极管的单向导电性、正向压降特性,结合ADC输入保护、电源管理、音频处理等实际应用场景,提供了从器件选型到设计陷阱规避的完整实战指南,帮助工程师为信号构建可靠的“安全笼”。

2y3u4i5o6p的博客 1034

【100%通过率】华为OD机试真题 C++ 实现【打印机队列】【2022.11 Q4 新题】

有5台打印机打印文件,每台打印机有自己的待打印队列。因为打印的文件内容有轻重缓急之分,所以队列中的文件有1~10不同的代先级,其中数字越大优先级越高。打印机会从自己的待打印队列中选择优先级最高的文件来打印。如果存在两个优先级一样的文件,则选择最早进入队列的那个文件。现在请你来模拟这5台打印机的打印过程。

MISAYAONE的博客 9946

PHP 8.2:它对 WordPress、插件和开发者意味着什么?

PHP 8.2.0于 2022 年 12 月 8 日首次亮相。作为一项重大更新,它带来了性能改进和更简单的语法。PHP 8.2 引入了更高的类型安全性作为一项功能,将和作为独立类型。可能挑战 WordPress 开发人员的最大变化之一是添加了类,它不允许使用动态属性。动态属性已被弃用,并将在 PHP 9 或可能的 PHP 10 中产生致命错误。虽然可能会很痛苦——尤其是对于 WordPress 核心——弃用是一个关键特性,也是 PHP 送给开发人员的礼物。

WP站长 1056

ITKMontage---ITK自动拼接模块

本文分享ITK中Remote中的ITKMontage拼接模块,希望对各位小伙伴有所帮助!1. ITKMontage介绍在医疗图像处理过程中,图像拼接有很多用处,比如DR图像的拼接。ITKMontage可以快速稳定的处理数据量较大的拼接图像。强度不均匀性校正配准全局优化融合2. ITKMontage安装ITKMontageITKMontage可脱离ITK进行单独安装,也可在ITK安装时作为模块进行安装。单独安装ITK模块安装在ITK编译时,选择ITKMontage模块。

qq_40041064的博客 450

PHP 8.2 新特性深度解读:性能优化与新功能探索

PHP 8.2 在性能优化和新功能方面的改进为开发者带来了诸多好处。性能的提升使得 Web 应用能够在更短的时间内响应用户请求,提高了用户体验,同时也减轻了服务器的负载压力。新功能的引入则增强了语言的表达能力和安全性,使开发者能够更高效、更安全地编写代码。然而,随着技术的不断发展,PHP 仍面临着诸多挑战和机遇。在未来的版本中,我们可以期待 PHP 在性能优化上继续深入,进一步提升 JIT 编译器的性能,完善内存管理机制,以适应不断增长的大数据量和高并发场景的需求。

数字魔方操控师的博客 1162

第11.4节 混合储能系统能量管理

混合储能系统(HESS)的能量管理策略采用分层架构实现多时间尺度优化:调度层(小时级)进行经济优化,协调层(秒级)基于频率分解分配功率,执行层(毫秒级)实现快速跟踪。深度强化学习(DRL)方法通过定义状态空间、动作空间和多目标奖励函数,能有效处理系统不确定性和多目标优化问题。HESS性能评估需综合技术指标(如调节性能Kp值、设备寿命指标)和经济指标(净现值NPV、平准化储能成本LCOS),并遵循"建模-仿真-实验"的闭环流程。

技术工作者 244

数据分析之AB测试基础知识

在 A/B 测试中,零假设是两组的指标是相同的,当假设检验推断出两组指标不同,但事实上两组指标相同时,就是第一类错误。

qq_45727498的博客 561

php line height,制作页面时,line-height怎么使用?

在制作页面的时候,经常会遇到文本图片需要居中的情况,这时候,只要设置下文本的line-height属性等于包裹该文本的元素的高度即可让文本居中显示了,先来看看这个现象。1 2 3 4 5 行高 6 7 .line-height-demo { 8 background-color: red; 9 hei...

weixin_39771351的博客 124

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

sdut 1309 不老的传说问题(区间DP,难,值得好好看)

1、http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=1309 2、题目大意:   不老的传说问题 Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^ 题目描述 一位先知告诉dynamic,在遥远的地方,有一处不老的泉水,在

sdjzping的专栏 1379

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

CUDA显卡运算编程菜鸟入门指南1——Hello world

第一次知道有显卡(GPU)编程这个东西,是去年比特币最热门的时候,看了几篇关于比特币的文章,说比特币挖矿要靠显卡,CPU的速度与GPU根本就没法比,于是就非常好奇,显卡是什么神奇的东西?为什么运算速度会比CPU快很多?当时也只是好奇而已,根本没想过这东西会与自己有任何关系。 去年年底的时候,我开始研究机器学习,试着用PHP编了几个遗传算法和神经网络算法的程序,发现很有趣,功能很强大,我一直想做医

yfszzx的专栏 1万+

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

sdut 1309 不老的传说 区间dp(较难)

http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=1309 题目描述 一位先知告诉dynamic,在遥远的地方,有一处不老的泉水,在那里,他可以找到他人生的意义。按照先知的指引,dynamic出发了。翻越雪山,穿过丛林,渡过汪洋,终于来到了沙漠的最深处。按照先知的说法,泉水就在这个地方。然而

ACM,再见! 978

php手机图片怎么适配,详解如何使用image-set适配移动端高清屏图片

一、注意注意注意!什么dpr、css像素、设备像素,这里是没有的,网上太多讲解了,都很好,这里不废话,建议是先查找相关资料了解再看本文章。该图片适配方案是基于vw单位适配方案的,具体如何用vw进行适配,网上也很多,出名的就是大漠那篇文章,我也不在这里抄送了。二、为什么需要适配图片现在手机机型繁杂,比如iphone的机型一般就是dpr=2的4.7寸屏幕机型与dpr=3的5.5寸plus(比如ipho...

weixin_39759881的博客 182

Python爬取上万条点评商家数据,看看各家快餐品牌背后的秘密

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 作者:早起python 中国的快餐市场竞争一直都很激烈,关于各种品牌江湖上也流传着各种神奇的故事,那么你知道 一线城市最多的快餐品牌是哪家? 沙县小吃真的是中国餐饮巨头吗? 每一家肯德基边上都有一家麦当劳是不是真的? 星巴克VS瑞幸咖啡,谁的热度更高? 本文使用Python爬取了上万条大众点评商家数据,告诉你答案! 一线城市快餐品牌店铺数量大PK 首先我们来看一下一线城市中沙县小吃、兰

weixin_49345590的博客 578

CPU GPU 扫盲帖

CPU与GPU之间有什么不同?为什么需要GPU编程,相比CPU编程,有什么优势?

Rico's Blogs 2608

ie6 css padding,css,padding_问各位IE6下面的padding问题,css,padding,internet-explorer - phpStudy...

问各位IE6下面的padding问题请看下面的代码然后是css部分#pageFooter{background-color:#6FC6F0;padding:10px;}然后在神奇的IE6下面就出现了padding底部多出一倍的现象,请问如何解决?备注:一些废话目前为止,我认为SF做的真的很不错,大家有什么问题都来问吧,实在问的弱智,admin看不过去随便删吧。但是我们有问题就来问不是麽?另外请教一...

weixin_30338049的博客 336

CPU与GPU 扫盲

摘要 CPU与GPU之间有什么不同? 为什么需要GPU编程,相比CPU编程,有什么优势? CPU和GPU之所以大不相同,是由于其设计目标的不同,它们分别针对了两种不同的应用场景。CPU需要很强的通用性来处理各种不同的数据类型,同时又要逻辑判断又会引入大量的分支跳转和中断的处理。这些都使得CPU的内部结构异常复杂。而GPU面对的则是类型高度统一的、相互无依赖的大规模数据和不需要被打断的纯净的计算...

huangdingsheng的博客 492

编程能力与编程年龄

原文链接:http://www.apkbus.com/portal.php?mod=view&aid=6071 摘要: 程序员这个职业究竟可以干多少年,在中国这片神奇的土地上,很多人都说只能干到30岁,然后就需要转型,就像《程序员技术练级攻略》这篇文章很多人回复到这种玩法会玩死人的一样。我在很多面试中,问到应聘者未来的规 ... 程序员这个职

imyfriend的专栏 1006

CUDA显卡运算编程菜鸟入门指南1——Hello world - yfszzx的专栏 - 博客频道 - 优快云.NET...

第一次知道有显卡(GPU)编程这个东西,是去年比特币最热门的时候,看了几篇关于比特币的文章,说比特币挖矿要靠显卡,CPU的速度与GPU根本就没法比,于是就非常好奇,显卡是什么神奇的东西?为什么运算速度会比CPU快很多?当时也只是好奇而已,根本没想过这东西会与自己有任何关系。 去年年底的时候,我开始研究机器学习,试着用PHP编了几个遗传算法和神经网络算法的程序,发现很有趣,功能很强大,我一直想做...

weixin_30693683的博客 155
上一篇: ChatGPT 冲击下,特斯拉曾留不住的 AI 大牛,再次回归 OpenAI !
下一篇: 再见了,华为!
IT界那些事儿
博客等级 码龄6年 2万+粉丝 22原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值