你是切身体会到了PHP使用体验差;还是因为就业前景等因素让你觉得PHP很差?

作者:中原一点点
链接:https://www.zhihu.com/question/421974087/answer/1556285110
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

以前一直是PHP,最近写了三年的Java,被微服务折磨地死去活来,队友也不行,做的东西一塌糊涂。往往我在那里气得吹胡子瞪眼晴,他在那边两手一摊,和你说我能力有限,实在是没有办法。服务器天天要宕机,查了老半天,发现丫一个数据查询,全部丢到HashMap里面去,我操几十万的数据啊,直接把内存给爆了。养了大半年团队,最后老板也没钱了,就散了。

混得不好,现在又混回去写PHP了,一个人,包括前端,苦是苦了点(但没苦到要996,目前985),不过少了猪队友,也舒服一些,当然,钱也少了,不过简单方便,轻车熟路,比之前要开心一些(少生闷气)。

说明了就是现在很多中小公司的业务量和对时间进度的要求,用用PHP完全就可以了。不过现在Java大行其道,使大家全部一窝蜂地去追捧Java去了,连培训班都放弃PHP了(笑)。所以现在PHP没市场,是真心没太大的市场,学了PHP,你和大厂就直接给绝缘了……你看脉脉天天在爆的什么年薪50万年薪100万的,也没几个是PHP的吧。

哪怕现在是去学个Go和Python,进大厂的机会都比PHP要高不少。不过如果是进个创业公司,没什么流量的,用PHP的话,速度和效率上会高出不少,这也不是为PHP站队,目前来说,PHP的开发……奇葩的人其实也不少,就像我前面说的猪队友,你以为他是Java吗?不是的……他其实也是PHP开发转的。

PHP的使用体验其实很好……查问题也快,不用编译。虽然DEBUG相对起来也麻烦一些,性能上也……差那么一点点吧(比如做长连接那种就不太好)。尤其是在做后台或是CMS,ERP之类的东西的开发上,不是一点半点的方便,大把的事情省出来,不用996岂不是更好?至于微服务什么的……其实我并没有感觉到这玩意有什么爽点,无非就是项目折开来,加人头进去罢了。如此一来,就变成了集体作战,要是碰到几个让你吃惊的队友,就怕会当场发飙。

PHP的话更适合那种个人英雄主义,什么都是自己来。微服务的话就是你是一个螺丝钉,要为集体贡献自己。一般我带人的时候,尤其是之前带PHP的时候,我给的规划就是不要把自己框死在PHP这一个语言上面,因为现在程序员已经越来越卷了,卷都不是往简单轻松的道路上去卷的,而是往复杂繁重的道路上去卷的……一复杂一繁重,就和PHP的初衷背道而驰了。

所以还是要横向去发展啊,你不能违背目前互联网的发展趋势。最简单了,你如果有追求要进大厂,比如美团阿里和京东,你只会PHP?不好意思……估计面试电话都不会打给你。因为对他们来说,标准语言就是Java,Java和PHP在面向对象的思路上面是共通的,这方面PHP其实基本上就是在学Java了,从这一个点切入到Java上面,能够及时上岸也不错,我身边就有一些认识的这么做的。腾讯百度之前有了解到,还有一些组在搞PHP的,现在什么情况不太清楚了,至少三年前面试腾讯的时候还有,面下来里面的技术栈一般般,用的东西还是很老的内容(但是人家对学历要求还是很高的)。不过对方对C方面有一些要求,因为PHP是C写的……如果你想精通PHP,C是绕不开的,这属于纵向发展,不是很推荐专门去整C,毕竟现在没什么地方弄这个。

C++是可以去搞的,需求有,不像Java那么变态到到处都是Java工程师,培训班教C++的也没有铺天盖地,我个人认为通过PHP去切入到C语言再转入到C++,也是一条不错的路子。如果觉得C++太难啃,可以切到Go语言,Go语言现在也比较火,也很轻量,多用在一些运维方面或是一些工具的编写,相对于Java来说,竞争小一点,而且这几年也有一定的需求,我也有认识的朋友都往Go上面转的,也成功进入了大公司,是一个不错的方向(还是腾讯,有PHP朝Go转的倾向,所以那时候面试也被问到过不少Go的东西。)。没办法,Java人太多了,你是没看到过,,一个岗位丢过来2000多封简历让你选。

Python的话就不太好推荐了,主要是Python的语法和PHP差太远,但Python有一个优势,就是它也是脚本语言,如果能熟悉并且上手的话,难度也较之前面的语言简单很多,算是接近于PHP的了,我之前有一个开发组,做游戏后端的,后来就转到Python做开发的。个人感觉Python就是普及型教学语言,如果你有机会能进什么少儿程序员培训班任教什么的,现在青少年编程都是教Python了,算是这个少儿教育的热门。纯的PHP确实很一般很一般了,不会让你有太大的发展,后面的形势我不知道,但是目前看下来PHP8就算出来,也难以扭转它的劣势,真没必要逆天而行。多个选择多条路,这是我写了十几年PHP的肺腑之言。这也是PHP的执行机制框死的,它一开始的初衷就是用来解决网页编程的,一个请求过来,开一个子进程,动态编译处理,然后结束。

我记得某次去一个大点的公司面试PHP,面试的时候那家伙还让我写一个单例模式出来让他看看……当时有点懵逼,因为单例不多是Java在用么。后来临走的时候他和我说,其实我们招个PHP也就是过渡一下,因为我们现在整体都在往Java转,就是有些业务一时半会转不了,所以需要有人维护维护,但是早晚都……然后问我能不能接受……我说我可以接受呀,然后那家伙就说那就好,不过现在面试的人也多,我年纪大,先进他们的人才库,有机会了再通知我……玩弄我感情啊……听了就想一脚踹上去。PHP虽然很简单,但是简单也有简单的坏处,有很多原理的东西你还是要去掌握啊,否则面试的时候也就歇了,尤其是现在多线程的问题,Socket通信的问题,反正现在的面试越来越复杂和变态了,光靠PHP有点吃力,就这么说吧,你去面PHP资深的,基本上都会问到PHP源码层面吧,或者问到PHP扩展开发,而这方面又都是C语言的内容了。

说到C语言,又可以扯到数据结构和算法了,现在数据结构和算法也是面试必问的内容了。当然了……我水平没有达到知乎程序员的平均水平,技术问题上面也勿杠了。多条选择多条路,我当年就是,虽然一直在写PHP,但是前端和Java都没放弃过,一直有在看,所以后来转到Java其实很快,曾经有个老Java和我聊天,我说我正式写Java才1年,他有点吃惊,说看不出来。同时掌握PHP,再配套一门其它语言的好处就是,重要的项目你可以用其它语言来开发,一些如后台啦,跑数据的小工具啦,这些全用PHP来写,绝对可以节约时间,而且特别有效率。像我在写Java的那段时间里面,经常有人来问我要一些临时数据,或者让我处理一些数据修复什么的,我都是用PHP来处理的。后来觉得烦了,直接做了一个后台,把这些需求整合进去,前前后后也就几天的功夫,事半功倍。

  • 0
    点赞
  • 1
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值