我是一个php程序员,然而这几年php的招聘越来越少,java内卷也越来越严重。
说说我自己的程序人生,我毕业没多久就来到我当前工作的公司,一干就是快9年了。在这边主要使用的编程语言就是php,还有少部分前端工作用js。负责了公司一个互联网营销产品研发,系统日访问量百万级别,数据量亿级别。现在,公司要准备用Java重构这个产品,我这些年偶尔也学习学习Java,所以对这门语言并不陌生,觉得Java也还不错,只不过Java的用法因人而异,难不成所有使用springboot的公司都要在springboot的基础上再封装一遍,搞出一套所谓自己的公司框架?
我觉得国内用Java绝对有跟风的潮流,当然和培训机构主推Java也有很大关系,这会导致招聘时,Java的人才资源远大于其他语言,另外就是PHP会给人一种低端编程语言的感觉,觉得有点Low,其实,php是世界上最好的(手动捂嘴)
再有就是微服务这块,跟风也很严重,微服务的拆分也是五花八门,拆分的时候分析的头头是道,到底合不合适,团队里也没人知道。总之,给我的感觉就是过度设计,或许也是因为我的功力太弱,无法领会。不过,我觉得,简单的设计无论在稳定性和可维护性通常会更好一些。
我很喜欢php这门语言,做web开发非常方便,使用多进程模型,代码写起来也不容易出现多线程中的线程安全问题。要说性能,我还没遇到过php在哪些场景下有性能问题,性能90%都出在IO和数据库,再说应用服务器做横向扩展非常方便,加一台服务器就完事了,并且成本很低。作为脚本语言,开发起来非常的方便,我使用springboot开发的时候,启动一下项目就需要几十甚至几十秒,不过这和引入的第三方jar太多有关,有用的、没用的全扔里面,只要系统能起来,就死命往里扔,哪怕就用到了某个类库的一个方法。
接下来,公司要使用Java,那我也没得选了,不过我现在手上还在维护我这个Laravel开发的项目,也没法彻底腾出手去做Java,总之我觉得现在公司这套微服务架构有些臃肿,SpringBoot让Java开发变得迅速,可是使用的人通常会把他变得复杂。甚至有时候我觉得使用Servlet+JSP的方式也挺不错,打出的war包只有几M大小(数据库驱动,和部分第三方依赖),上传到tomcat就完成了部署,做个简单的3台集群,应该也能满足很多项目了吧!至于开发效率,反正我是没觉得我当前公司用SpringBoot开发起来有多高。
最后,Java和php都有其各自的好处和优点,我觉的Java能写的,99%用php也能写。