[编程开发] 如何看待越来越多公司弃用 PHP 使用 Java?

[复制链接]
谭志刚 发表于 2023-10-4 17:57:37|来自:陕西西安 | 显示全部楼层 |阅读模式
题主工作1年,一直在沈阳工作,想去一线城市找找工作,但听朋友说很多公司弃用php,转用java,很忐忑,求大佬指引一下方向
全部回复5 显示全部楼层
似猪非猪 发表于 2023-10-4 17:58:06|来自:陕西西安 | 显示全部楼层
有家公司叫facebook,国内戏称为脸书,他的创始人用php花了两周时间就搞出了facebook,当时宣传口号是脸书的服务器不会宕机。后来,脸书也遇到了php的性能问题,当时脸书内部讨论这个问题,提出了几个方案其中一个就是用Java重构,这个呼声还是蛮高的。但是有个问题,facebook原有的代码几千万行,如果重构相应的培训,还有技术选型,都需要时间金钱,而且相应的功能还在追加,代码量还在加,完全停下来重构,估了一下时间大概要一年,在互联网时代这意味着退场。在这百般焦急之际,有个叫赵海平的华人工程师提出把php代码中间转一道转成c++代码,这样就行,他不光说还亲自开发了还成了——HipHop也就是现在著名的php虚拟机hhvm的雏形(即使现在已经完全不参与hhvm的研发,但是基础代码还是在用赵海平的)。
许多公司发展的时候,会遭遇性能瓶颈问题,这时候,要么就是达到性能要求的新语言新工具重构,要么就是像脸书阿里重新做个虚拟机。但是重新做个虚拟机,技术储备人才要求不小,也就脸书阿里这种体量的,大部分公司技术储备不到这个水平,这样考虑还是砸钱重构来的实际。那位在脸书做出php虚拟机的赵海平,现在在阿里开发taobaojvm。
help 发表于 2023-10-4 17:58:39|来自:陕西西安 | 显示全部楼层
最近这个问题又诈尸了?又有人关注了。正好最近写了点java的东西,我在说点
其实从今年的行情很容易的看出,别的地方我不知道啊,但是也听外地的朋友反馈过,其实情况大致相同。那就是php的岗位招聘数量已经大量的下降了。当然,这个不能完全归结于php不行了,我感觉这个跟整个经济环境呈正相关。虽然我是一个5年+的php程序员,但是我还是不得不承认,php确实只是很多小一点的创业起步的公司在当主力语言在用。这个无关乎性能。其实只以南京为例去看,其实所谓的互联网公司,多数还是也业务为主,大家都是在主流框架下CURD,实在谈不上什么技术含量。只就CURD撸IO密集型的业务来看,其实java也好,php也罢,甚至是吹捧高性能的GO ,在性能上差距并不是很大。真正让我感觉php落后的还是因为生态。这个真的太重要了。
公司的开发团队是以java为主导。50+的javaer,就我一个phper。我做着内部业务系统,有一些基础的业务信息需要java那边配置推送过来。由于项目比较忙,没人来搞java那块的代码,增加内容,只能我自己来。之前有了解过 spring 和 spring-boot,所以基本上代码还是看的懂的。搭建本地开放环境,下载若干个工程和jar包,总算是将修改的能容完成并上线了。虽然对java生产内容学习的比较少,但也总算是参与了一点。给我最大的感触就是:java在代码结构上的严禁性,是强于 php的一般框架的。除了是我一直吐槽的罗里吧嗦的语法问题上。另外,其实大家选择java的原因,不是因为他性能多强,我感觉是以下两点:
1、数量庞大的curd boy
2、无比完善的生态
第一点,不用说了,大学学过计算机的,谁没学过java,虽然很多都是小混混,但是总归,hello world 还是会写的。
第二点,也是我这段时间学习 spring 全家桶能感觉到的,真的是要啥有啥。伸手就来,在spring的生态下,开箱即用,真的是香。
这里只能寄希望于 php的生态会更好,以swoole为首的生态,也在慢慢的发展。原本在php7.4 可以引入的 JIT ,这下只能等到 php8了,希望结合 swoole 能带来更多的亮点吧。
以下是原答案:
-------------------------------------------------------------------
php小程序员一枚啊。
我觉得很多公司从php转java的原因,大多是因为项目大了之后,php确实没有很多成熟的方案来承载。反观java,分布式,微服务。你想要的一切,都有java的影子,甚至有的还是java的轮子最好用。这是事实,没什么好反驳的,php这方面确实不行。不过我觉得也不丢人。每个语言都有它存在的道理,不然你可能早就不知道什么叫php了。
另外, @eechen 。我知道您的技术水平也很高,你很热爱php。我跟你一样,我也喜欢php,我相信你也了解很多别的语言,像go node 甚至同为动态语言的python。说实话,我感觉你肯定也能看出来,php哪些方面没他们做的好。py几乎全领域的能力,这点确实很让人嫉妒。go的协程,这点,我相信你会说swoole也有,这个那个的。swoole首先是一个很好的项目,也是php社区一个我个人为是除了php最重要的一个分支了。可是,它真的还没好到,碾压谁谁。毕竟,它还年轻。
你的心情我可以理解,自己认为好的东西,不想让别人说一句,可是这样就能改变什么吗?只能让别人更讨厌。那些无脑黑,无脑吹一门语言的,真的很low,很初级。有那功夫多学学不好吗。
别再让更多的人因为讨厌你,而讨厌php了!谢谢
zhl5025 发表于 2023-10-4 17:58:44|来自:陕西西安 | 显示全部楼层
记住,2018年8月了,JAVA已非吴下阿蒙。
底层上面,最大的GC问题已经被G1GC无脑解决了,虽然scaling up以后还需要调试,但是已经不是无解的问题了。 react也拥抱了,springboot2开始的微服务也成型了。加上前后端分离,直升机基金会壮大,在非科学计算领域的商用领域已经足够了。淘汰了太过于笨重的框架和spring的XML地狱以后,基本上已经恢复了快速,轻量,全开源的主要优点,得以从快速部署开始,到大型商用都一应俱全,加上多年在市面上累积下来的人才,可以说是非常稳妥的选择。
java有两个版本,1.4.2和1.8是两个翻天覆地的里程碑。
loveinter2003 发表于 2023-10-4 17:59:03|来自:陕西西安 | 显示全部楼层
Java的确是稳妥的选择,很多大厂都在拥抱Java也是很有道理的。
主要两个原因吧,Java自身生态比较完善,解决各种场景下解决方案都比较成熟,小到单体应用,大到服务拆分,微服务都有成熟的,经过业界考验的方案。
语言本身虽然不是纯粹面向对象,但是面向对象的精髓都是有的,并且语言容易使用,工具链很好的支持大规模重构,这使得它在大规模合作场景下很稳,不容易自己出错,也不容易合作小伙伴用错。Java从语言形态上让她的代码是有底线的,而php、python就不是,如果程序员没底线,代码也没底线,可以让它非常难以维护和在合作场景下使用。
还有一点就是好招人,饿了么这边有Python,Java,Python招聘一个高手很难很难,大多数都是会简单用用,做做数据分析之类的水平,但是真的到高并发要求严格的生产环境,很多人写的代码根本不及格。但是招聘到Java高手就容易的多,阿里是业界最大的Java高手培训基地,业务几乎全是Java。别小瞧好招人这一点,公司业务扩大的时候,就发现优势非常大,一个朋友创业早期图快,也是自己最熟悉选了 ruby,现在公司扩大想招人根本招不到自己累的要死。
不过哪种语言成为高手都值钱,毕竟小众语言岗位少,但是会的人也少;大众语言会的人多,岗位也多
lfz3999 发表于 2023-10-4 17:59:19|来自:陕西西安 | 显示全部楼层
先亮明立场,对于公司来说,我觉得php可以弃,也可以不弃,看团队的心气儿和追求,而且要和公司的短期和长期远景挂钩。
说实话,弃用php转java的项目并不太多,我觉得必要性也不是很大。现在是微服务的时代,与其把php的项目用java全部重写,还不如把一些需要优化或者重构的核心部分抽出来,用java/scala/go甚至php做成微服务, 这样省时省事,各个微服务之间独立部署,以后调优起来也方便。
前面是对于公司或者团队而言的,那么对个人而言,我觉得新人没必要死抱着php,视野要打开一点,要对自己将来要去什么公司做什么项目有个比较明确的想法。现在好的php项目不是很多,水平高的php程序员更是凤毛麟角,入坑要谨慎。
题主工作才一年,后端工程师要学的有很多,语言只是很小一部分,多学学分布式的基础知识,数据库也要搞透。我觉得题主这个很多公司弃用PHP的担心挺没有必要的,后端的道理是相通的,换语言并不可怕。要是真不放心php,直接去学java就好了,就一个php有什么舍弃不下的?相反,遇到很多php程序员觉得php什么都能搞定,老子做法天下第一,这是很难进步的。使用任何的技术都是有得有失,软件开发是没有银弹的。死抱着一个东西不撒手,比较容易当井底之蛙(那个eechen,你也别对号入座,我这次不是在说你,你在php程序员中真还算不错的了,我记得上次有个异步IO的问题你多少还能讲出点东西)。
我前前后后在java上花了十几年的时间,但现在java我也是是想用就用,不想用就不用。我前段时间看到一个在脉脉非跟我说php7比java更有前途的,有好几年php经验的哥们都转java了(大兄弟,你要在,你就出来说个话呗,我也想听听你的心路历程)。

快速回帖

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则