作者:中原一点点
链接: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来处理的。后来觉得烦了,直接做了一个后台,把这些需求整合进去,前前后后也就几天的功夫,事半功倍。

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

  1. 用户体验设计—影响定制化设计的因素

    0 前言 最近在上信息构建这门课(名为信息构建,但感觉叫用户体验设计更好...)老师是研究信息行为.人智交互这块的,所以实验课要求我们先学习一个实际的设计案例,让我们搞懂影响定制化设计的因素.所以这篇 ...

  2. 我经历过的失败产品和项目(六):体验很差的视频会议系统

    背景 这个产品从07开始做,到13年基本停止开发,持续了6年时间.当时上这个,主要是我们公司的媒体服务器专注视频,而视频的应用,但是也就视频会议的应用比较广泛. 所以在07年的时候,招了几个兄弟,开始 ...

  3. xr性能测试软件,iPhoneXR体验三个月之后的详细评测:性能完美,iOS系统很流畅!...

    iPhoneXR这款手机是在2018年9月份发布,并且是在10月份才正式开放购买的,直到如今上市也不过是三个月左右.而今天我们就来聊一聊iPhoneXR这款手机体验了三个月之后的详细评测,虽然说来得有 ...

  4. 国产操作系统很差吗?看看中兴新支点桌面操作系统的使用体验

    小编这几天下载试用了几款国产操作系统,分别是:中兴新支点操作系统.红旗操作系统.优麒麟操作系统.普华操作系统!经过不断的测试发现:这几款操作系统流畅度都不错!不过要说适于普通人使用的国产操作系统,目前 ...

  5. 个人作业2--APP案例分析

    产品 选择产品:酷狗音乐播放器 版本:Android版 选择理由:是我高中就开始用的音乐播放软件,在平时使用频率比较高,平时喜欢在累的时候听音乐放松. 调研 第一次上手体验 第一次使用的时候,感觉整个 ...

  6. Android知识点原理总结

    Activity 4种启动模式 要讲启动模式,先讲讲任务栈Task,它是一种用来放置Activity实例的容器,他是以栈的形式进行盛放,也就是所谓的先进后出,主要有2个基本操作:压栈和出栈,其所存放的 ...

  7. 手把手教你用Python分析豆瓣电影——以《我不是药神》《邪不压正》为例

    <我不是药神>是由文牧野执导,宁浩.徐峥共同监制的剧情片,徐峥.周一围.王传君.谭卓.章宇.杨新鸣等主演 .影片讲述了神油店老板程勇从一个交不起房租的男性保健品商贩程勇,一跃成为印度仿制药 ...

  8. 天猫店铺基础知识分享

    天猫平台作为发展得已经非常成熟的电商平台,也推出了一些专属功能方便卖家运营店铺.天猫灯塔指标是一项网店运营综合辅助功能,作为卖家也需要进行相应的了解,熟悉相关知识.那么,下面我们就来跟大家分享一些相关 ...

  9. 零售行业数据分析,你必须要知道这些

    大家下午好,首先非常感谢大家能够在百忙之中抽出时间来参加这次的活动,今天要和大家分享的是该如何从观念层面,技术层面以及应用层面出发,对零售行业的数据分析. 零售行业对数据的灵活性,时效性和及时性的要求 ...

最新文章

  1. nginx缓存和flask_cache
  2. 看技术笔记,提高嵌入式基础
  3. 网站模型|可以帮助你以一种美丽、独特的方式展示你的网站设计。
  4. Linus Torvalds:未来 25 年,Linux 风采依旧!
  5. eclipse.ini
  6. 【Tensorflow】基础概念epoch,batch_size辨析
  7. 值得投入精力的APP运营:用户、活动和数据!
  8. stm32中如何避免等待_地坪漆施工中如何避免常见的小问题
  9. Borland Delphi7 企业版注册方法
  10. 云盘上传一直显示服务器出错_百度云盘一直服务器忙 百度网盘出现服务器错误...
  11. 时域进行两次傅里叶变换
  12. 数字集成电路设计流程
  13. 上传本地网页到github网址完整详细步骤
  14. 京东商品如何批量修改?
  15. Linux下常用文件系统
  16. 旷视科技(Face++)面经
  17. android 代码 lut,Android基于Shader的图像处理(7)-颜色表LUT
  18. 程序员做前端好还是做后台好?
  19. linux常见桌面系统以及安装gnome远程桌面
  20. Python导出当前环境依赖包及项目依赖包

热门文章

  1. 立创开源 BGA162芯片开发
  2. java素数对算法_Java版本 质数(也叫素数)算法
  3. 小波变换(wavelet transform,WT)
  4. web前端 - Vue常见问题汇总及解决方案
  5. 5G 和 WiFi-6,谁是智能制造的主角?
  6. pythonista是干什么_说一说,我到底是做什么的?
  7. [584]python给生僻字注拼音(pypinyin库)
  8. matlab rand randn 每次生成的随机数都一样的解决方案
  9. 如何入门现代控制理论
  10. SpringCloud服务治理Eureka(理论)