2020 年 PHP 是否将会逐渐被取代? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
pizida
V2EX    程序员

2020 年 PHP 是否将会逐渐被取代?

  pizida 2020 年 5 月 25 日 15095 次点击
这是一个创建于 2091 天前的主题,其中的信息可能已经有所发展或是发生改变。

Go 语言这几年国内发展迅猛,很多大厂也都在推广,php 本来天生为 web 而生的语言,nodejs 、python 、go 是否会一一蚕食 web 应用市场,作为 phper,那么后续的职业生涯将何去何从?

33 条回复    2020-07-15 16:22:45 +08:00
shiji
    1
shiji  
   2020 年 5 月 25 日 via iPhone
pizida 2018-08-15 10:15:13 AM
大家都讨论得很激烈,我就是讨论下 PHP 的未来嘛。毕竟程序员还是要关注下技术的趋势。
但肯定的是,我们需要不停地学习。

你自己两年前已经回答过了。

另外,只会一种编程语言的人肯定首先被淘汰。
llb123
    2
llb123  
   2020 年 5 月 25 日
@shiji 只会 js 的哭了
ifconfig
    3
ifconfig  
   2020 年 5 月 25 日
不会,我觉得倒是会百花齐放。

在一家三线互联网公司同时写 PHP 和 Go,Java NO.1 就不提了,说说我的看法

1 、语言 - Go 的面向对象很弱,没有泛型,类和对象写起来比较反人类(特指语法)
2 、性能 - Swoole 的性能在 CURD 场景下我亲测使用 hyperf 跑 WRK QPS 比 Go 高 1000
3 、依赖 - Composer 的第三方碾压 go mod 的依赖,以 websocket 举例,go 的大猩猩用得头痛
4 、爽感 - 写 Go 的强类型对比 PHP 真的超爽,再也不用担心被基础不好的同事埋坑

当然,还是那句话,不是 PHP 市场份额少了,而是企业壮大后 需要更优秀的人才,但很多 PHPer 跟不上脚步,依然固步自封思想守旧,才会埋怨 PHP 环境不好那里裁员。而在我看来,不管什么语言都要每日学习保持精进,而不是把学习的功夫放在了打嘴炮上。
wangyzj
    4
wangyzj  
   2020 年 5 月 25 日 via iPhone
此贴会上热门
onfuns
    5
onfuns  
   2020 年 5 月 25 日 via iPhone
只要有外包在,php 就不会倒。
wangbenjun5
    6
wangbenjun5  
   2020 年 5 月 25 日   1
没有什么好说的,PHP 定位就是中小型企业应用,大多以创业公司居多,很多公司壮大之后都会转 Java 或者 Go 。从 2020 年大的经济形势来看,目前公司不易,创业公司更少,可想而知,很多创业公司连业务都没,更别谈什么并发量了,招几个菜鸡程序增删改查一顿搞产品就上线了,至于 Go,门槛还是有点高
gz911122
    7
gz911122  
   2020 年 5 月 25 日
主要是创业公司少了
企业服务多了.
cabing
    8
cabing  
   2020 年 5 月 25 日   3
一年取代市场前 10 的语言。搞笑吗。。
RickyC
    9
RickyC  
   2020 年 5 月 25 日
今年可能会推出 php8.0
pod
    10
pod  
   2020 年 5 月 25 日 via Android   1
不会的,起码还会出现在部分 ctf 比赛里 :doge
richangfan
    11
richangfan  
   2020 年 5 月 25 日
皮之不存,毛将焉附?现在这行情 PHP 服务的小公司凉了七七八八,PHP 又岂能独活
2kCS5c0b0ITXE5k2
    12
2kCS5c0b0ITXE5k2  
   2020 年 5 月 25 日
会被慢慢取代啊。 但不会立马完蛋, 毕竟不是每家公司都几万 QPS. 甚至一个产品到死有没有一万人用过都很是问题 这个时候 php 写起来 用起来就比较舒服。市场都会细分下来的。 现在活下来的每个语言都有他的特点。php 的特点就是不用担心内存 线程 什么的。一个 array 就可以写完很多东西。
zjsxwc
    13
zjsxwc  
   2020 年 5 月 25 日 via Android   1
结论当然是不会。


目标群体不一样,php 的用户就是快速出原型的脚本语言而已,我写 php 的时候就想着半小时内把接口或者数据处理脚本写完,web 开发大部分都是只是 crud 业务,大家都是在拼 sql 吐 json 而已。

php 在脚本语言里面容错性是最好的(比如拼接字符串时 null 、false 可以当做空字符串用,做加减法时 null 、false 、空字符串又可以当做 0 用,true 做加法时可以当 1 用,虽然这对于某些人来说来说是噩梦),比如对于 js 、python 这些语言来说类型不一致就直接报错了,但 php 照样跑,而对于 php 用户来说却是 feature 。

同时如果碰到重要点的业务就加上参数定义时类型限制好了反正 php 语法上也支持类似强类型类型校验,还有 php 把 java 那套工程化的方式也抄了过来要工程化就按照 symfony 这个 php 届的事实标准搞就行了,代码可维护性也不是火葬场,phpdoc 配合 ide 每个 symbol 具体是什么类型全知道,完全不会眼瞎抓黑,现在 php 维护性最差也就和 golang 无脑 interface{},java 无脑 object 一样。

所以说为什么要折磨自己,这些户永远不会消失还大有人在。

还有支持 jit 的 php8 年底出来,希望性能会有大提升。
sagaxu
    14
sagaxu  
   2020 年 5 月 25 日 via Android
前些年 PHP 还是鹅厂仅次于 C++的存在,如今连前 5 都排不上了
dvaknheo
    15
dvaknheo  
   2020 年 5 月 25 日
@zjsxwc symfony 还拼 sql ? symfony 不是有更高级的 doctine 么,再说了,symfony 这种框架,不是被更优雅的 laravel 淘汰了么。

现在的 php 不就是各种学习 orm 么.
czzhengkw
    16
czzhengkw  
   2020 年 5 月 25 日
PHP 会不会淘汰我不知道……

按照现在这种形势,一门语言都学不好的人大概率会被淘汰……
wh1012023498
    17
wh1012023498  
   2020 年 5 月 25 日   2
= = 觉得 lz 不是好奇 php 是否被取代,而是担心主攻 php 的自己会不会失业。。
terrywater
    18
terrywater  
   2020 年 5 月 25 日
@ifconfig swoole 比 go 块?无语了,你的 golang 怎么写的?
mitu9527
    19
mitu9527  
   2020 年 5 月 25 日   2
从市场角度来看:未来几年经济形势不好,就国内这些没有格局的管理者们而言,他们宁可失败的风险高一些,也会尽可能选择节省成本,所以从资本的角度来看,低工资、开发速度快的 PHP 反而可能会受欢迎。

从技术角度来看:除了 Java,很早就有 Ruby 和 Python 在和 PHP 竞争了,最近几年又有 Nodejs,不过结果呢? Web 服务端就是 Java 和 PHP 的天下,Ruby 、Python 、Nodejs 和 .NET 都不行,是因为语言本身的问题么?很明显不是,是因为生态。就 Web 开发而言,PHP 语言本身并没有那么不堪,只是 PHP 圈子的整体水平有待提高。
dayeye2006199
    20
dayeye2006199  
   2020 年 5 月 26 日
不会,fb 还在全员 php(hack)呢
TransAM
    21
TransAM  
   2020 年 5 月 26 日 via Android
就算 php 不会淘汰,也应该学个静态语言。
sagaxu
    22
sagaxu  
   2020 年 5 月 26 日 via Android
@dayeye2006199 全员 php? folly 也是给 php 用的?
netstu
    23
netstu  
   2020 年 5 月 26 日
@mitu9527 在理
dayeye2006199
    24
dayeye2006199  
   2020 年 5 月 26 日
@sagaxu 写 infra 的还是 cpp 为主。
GG668v26Fd55CP5W
    25
GG668v26Fd55CP5W  
   2020 年 5 月 26 日 via iPhone
不会,全世界 35%的网站是 WordPress 写的,再看看 Laraval 的影响力…只要这两个依然流行 php 就能活很久,PHP 很好,就是写起来有点乏味。
zjsxwc
    26
zjsxwc  
   2020 年 5 月 26 日
@dvaknheo

orm 本质上也是拼 sql,比如查询上不管是 builder 模式 orm,还是 mybatis xml 模式 orm,还是 dql 方言模式 orm,都是只是在花式拼写 sql 。

symfony 是基石,laravel 也是基于 symfony 的,没有淘汰一说。
pengjay
    27
pengjay  
   2020 年 5 月 26 日
招聘 PHP
kemikemian
    28
kemikemian  
   2020 年 5 月 26 日
@terrywater 估计是因为 hyperf 现成的框架, golang 纯手写
zhw2590582
    29
zhw2590582  
   2020 年 5 月 26 日
我觉得首先要有取代 WordPress 的东西
sagaxu
    30
sagaxu  
   2020 年 5 月 26 日 via Android
@dayeye2006199 那 Java 和 Python 甚至 erlang 都是拿来做 infra?
buffzty
    31
buffzty  
   2020 年 5 月 26 日
月经贴 下一个
dayeye2006199
    32
dayeye2006199  
   2020 年 5 月 26 日
@sagaxu 是啊,infra,工具和服务(非 web )
liuyibao
    33
liuyibao  
   2020 年 7 月 15 日
php 已经被取代很多次了,java 也是。

http://www.aqee.net/post/php-needs-to-die-what-will-replace-it.html
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1844 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 26ms UTC 06:44 PVG 14:44 LAX 22:44 < href="/worldclock#jfk">JFK 01:44
Do have faith in what you're doing.
ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86