大家好,请问 PHP 转 go 好还是转 java,还是就 PHP。

1. 困惑: 本人现在是做php,很没方向感。

不知道做啥子了。请各位批评我!
我项目经验比较少,尤其是laravel,只会ORM多对多玩一玩。
消息队列,swoole还是开搞。
python与nodejs倒是性趣好,比较熟悉,做了express聊天,django开发,电子书爬虫。

2. 市场环境: 最近面试,发现golang确实很多

比如大公司吧,都是golang啊。php确实少。也有一个困惑,php的职位,20到30的是怎么做的?
本人比较渣渣,咸鱼,请批评谢谢!

3. 身边因素: 一家做CDP,DMP的,和微信程序化购买。全是java,python数据分析,前端。

我是不是心理有问题了?
这是病吗?

嗨,我是波波。曾经创业,有收获也有损失。我积累了丰富教学与编程经验,期待和你互动和进步! 公众号:上海PHP自学中心 付费知识星球:破解面试:程序员的求职导师
讨论数量: 70
aodaobi

把自己定位成web开发,而不是php开发

4年前 评论

如果把自己定位成某某语言工程师的话可能出发点就错了,我始终认为一个工程师最大的价值是解决问题的能力而不是某个语言用得有多熟练。

还是那句话:如果连 PHP 这么简单的语言都用不好,用任何再牛逼的语言也是白费,毕竟问题不是工具不好用,而是你连“如何选择适合自己的工具和如何用好工具”的技能不及格而已。

选择工具前先问自己几个问题:不用它行不行?用了它出问题自己能不能解决?用了它能不能带来各方面成本的提升?有没有其他更好的选择?

个人建议先把某一个工具,不管是语言还是框架用到精通,毕竟各种语言的实现都是原理相通的,差别无非是无法和生态丰富程度而已。否则就是猴子下山了。

另外,上面截图确实是前段时间我在群里的聊天记录,被有心人截图发隔壁群了,于是我就在微博遭受了听说是 swoole 官方开发者的人骂我是 SB 了。我觉得骂得也对,我闲得蛋疼在群里跟人参与聊这玩意儿干啥呢,引以为戒。

人生苦短,我用了Laravel。

其实是我菜而已,用不了这些高级的东西,知识和能力让我觉得 hold 不住它们。
最后,这条可以不截图发群吗?

4年前 评论
Epona 4年前
yufatang 4年前
overtrue (作者) 4年前
她来听我的演唱会 4年前
motecshine 4年前
ragonli 4年前
Dennis_Ritchie

看上面说了这么多,我想问的是,你搞懂web开发的流程没,让你写一个框架(差不多可以用就行,你可以不?),如果让你学习java web开发(或者是GO开发),你要多久(2个月可以搞定不,可以达到JAVA(或者是Go)三年的开发经验不?培训结构吹出来的三年工作经验就算了,我见过太多),你掌握zend VM了?(zend虚拟机,PHP的底层技术,Linux编程,你搞得咋样儿了?这个都没搞懂,JAVA 虚拟机你能搞懂?可能有人会说,我用就行了,那我就没啥可说的了,刚毕业的小伙子就可以干掉你),你读过几本技术书籍(主要是图灵系列)?你搞懂HTTP协议(HTTPS协议)了么(原理可以说出来不,别忽悠我 :blush:)?博主有句话说的非常好:人生苦短。@vsenver 把自己定位成 web 开发,而不是 php 开发 也说得很好。程序员不要眼高手低,就和武侠里面的师傅教徒弟练习武功,基本功要打好。搞了这么多年开发,我还不敢称呼自己为 工程师,受之有愧。程序员多掌握一门技术是好的,没啥不好,但是一定要扎实。语言只是一个工具,切换一门语言,只是因为它能更加快速的解决当前的问题。最后,PHP在开发速度无人能及,性能上也越来越好,这是前辈们花了多少的心血啊。

4年前 评论
qiuyuhome

楼主是说的问题, 也是我考虑过的问题.

我, 非计算机专业, 27 岁才培训学的 php(27 岁本科刚毕业), 现在已经 33 岁了, 所以是时候需要为以后长远的职业规划做考虑了.

我主要考虑的是: 再过 5 年, 我在 IT 行业, 可以做什么. 什么样的公司会要我这样的人. 我得到的答案是, 5 年后, 应该没有哪家公司要一个 38 岁的开发者, 那么. 那么, 公司会招 38 岁的什么职位呢? 肯定是管理层了.

所以, 我目前正在往管理层靠拢, 我不希望走的是纯管理人的路线, 所以我选择了走技术管理, 往架构师的方向发展.

下面再说说我的想法, 希望对楼主有所启发吧.

不管哪个语言, 都只是一个工具, 所以我认为开发者的能力应该是和语言无关的. 通俗来所, 楼主问的 phper 如何拿到 20k+. 那么就存在一个问题, 当你在简历上写上想要的薪资是 20+, 面试官问你的问题会是什么, 还会是问 php 关于数组的函数有哪些 这样的问题么? 我认为不会, 会问什么, 大概会问 select 和 epoll 的区别是什么, 为什么 mysql 使用 b+tree, 所以我觉得, 学习好基础理论知识, 才是重中之重.

  • 计算机网络
  • 数据结构与算法
  • 计算机操作系统

我现在也在恶补这些知识, 因为我发现, 不管使用什么工具, 如(redis, nginx, mysql), 如果没有基础, 有些东西是理解不上去的. 就导致, 面试的时候, 问你一些东西, 根本回答不出. 例如面试问你, 四次挥手为什么要 time-wait, 如果没有学过 计算机网络, 根本说不出. 再比如, LVS 的高并发负载均衡, 如果没有 计算机网络 的知识, 根本不会理解其中的奥妙.

其实, 我也是迷茫的. 33 岁的我. 以后该何去何从, 不知道以后怎么办. 但是我知道, 努力的学习下去, 肯定没错.

最后再说一句, 正确的选择, 有的时候也很重要. 加油, 共勉.

3年前 评论

可以转 go ,但是不推荐盲目的转, 最好要有实际的情况. 我觉得比较合适的情况就是

  1. 公司目前是 php 为主正在往 go 迁移, 那么你此时的优势就很明显
  2. 公司 php 作为前端进行增删改查, 核心业务,中间件 在 go 这一块, 那么你此时可以已 phper 的身份慢慢熟悉核心业务,然后慢慢转 go
  3. 自己公司有部分业务较为独立,或者有新的需求,业务线,那么你可以考虑使用 go 来实现.

这样你有了实践的 golang 工作项目经验 + php 经验. 简历上写 golang 工程师也是问题不大的吧

4年前 评论
wanghan

我也较迷茫

4年前 评论

有机会可以转啊,,但是机会难得啊,,,

4年前 评论
wangchunbo

@wanghan
@largezhou 机会根本没有!!
现在这个工作做了4年,工资吧很低。带出来的小徒弟,出去工作都近2w了。

4年前 评论
largezhou 4年前
wangchunbo (作者) (楼主) 4年前

同迷茫;php基本完了,就是下一个asp;感觉java应该是最适合的了,go的工作很多要求都很高。反正感觉头疼,选择php就是错误,浪费了青春,转行也难

4年前 评论
4年前
道法自然 4年前
shrewd_lion 3年前
小李世界 4年前
storefee 4年前
admin0 3年前
zmxyzmxy1234 3年前

都学呗

4年前 评论

好的开发 不局限于语言 微服务体系的平台的建设 都是多个异构语言结合的 比方php 服务调用java 服务

4年前 评论
wangchunbo

@Krisji 大佬,可以再讲点不

4年前 评论
wangchunbo

@Krisji 我就服你!

4年前 评论

大公司都是 Go?
那么问题来了,你目前能进大公司吗?(能进大公司估计也不会有这个问题)
如果进不了,小公司会有 Go?Go 的开发效率可是很低的。。。

4年前 评论
小李世界 4年前
tony2051 4年前
韩槑槑 (作者) 4年前
tony2051 4年前
韩槑槑 (作者) 4年前
tony2051 4年前
aodaobi

把自己定位成web开发,而不是php开发

4年前 评论

看你在哪个城市,面向找工作编程的话,还是选Java吧

4年前 评论
wangchunbo

@韩槑槑 所以才有困惑。golang很多php要转啊。比如beego。

4年前 评论
wangchunbo

@linxb 哈哈面向工作编程。。。java大数据咋样。想搞。

4年前 评论
GalaxyNo_1

你不适合干编程行业,转行吧

4年前 评论

@kuibatian Beego 你能进得去吗?你如果都进不去,你干嘛去考虑别人要做什么呢?先把自己吃饭的问题解决。

4年前 评论
wangchunbo

@GalaxyNo_1 说的轻巧。

4年前 评论
wangchunbo

@韩槑槑 我们还是讨论转岗吧。进去,你肯定能找到公司。

4年前 评论

不是应该转语言, 而是提高自己的价值 学习更多的东西

4年前 评论
ete8652 4年前
wangchunbo

@Goodbye 是的大佬!现在如果学习,学啥子合适。我打算把站长课程学一遍,然后做go合适吗

4年前 评论

多年开发经验,带的小弟工资都近20k的人,不会问这种问题吧。语言跟框架只是工具,搬砖的工具,目的是搬好砖,而不是过多考虑用什么搬,这是我的一点见解。

4年前 评论
wangchunbo

@qf-Z 真的有!因为我不是一线位置。

4年前 评论
wangchunbo

@qf-Z 我大概明白一点。
其实我心里有点意思。但是就是想说出来,看看大家。

4年前 评论
fatrbaby

从语言来说,我个人最看好的:
Java:生态太好了
Go:我个人的第二语言,个人觉得开发体验好,很适合做一些中间件
Rust:大厂开始背书

我个人其实是很想转的,但机会难得。

4年前 评论
draven

如果基础很好的话随便转都可以,如果基础不是很好的话先巩固一下基础吧,我基础就太差最近一直学基础 :joy:

4年前 评论
wangchunbo

@勺颠颠 谢谢!

4年前 评论
newbing

我在招Golang,最好是PHP 转 Golang的。两种都能写最好。

4年前 评论
wangchunbo

@fatrbaby 那就自己加班学习了

4年前 评论
wangchunbo

@newbing 对的,好多公司就是您这样。

4年前 评论
newbing

@kuibatian 语言本身不是关键,基础好,入门一个语言也就两三天的事情。

4年前 评论
wangchunbo

@newbing 涉及技术就不一样了。比如java大数据

4年前 评论
newbing

@kuibatian 你什么背景呢?我这边招聘的主要是 WEB开发

4年前 评论
wangchunbo

@newbing 谢谢大佬。我是php,本科,4年。laravel与tp。
Python,django与flask。nodejs与express框架。golang正在学。

4年前 评论
839891627 4年前

JAVA 大企业都是招JAVA多

4年前 评论
yema

PHP的市场确实被压缩了很多,形式也很严峻。
如果能转行就转行。
转屁的语言。

4年前 评论
newbing

@kuibatian 厉害,会的这么多。有兴趣可以扔一个简历。

4年前 评论
wangchunbo

@newbing 大佬,谢谢。可是你在北京。。。我在上海

4年前 评论

我觉得还是java稳,高薪岗位多,学习方向又明确

4年前 评论

我也觉得把 php.net 的 PHP 文档全部读过一遍了才算入门,毕竟 200 个常用函数都背不到的人不管用什么语言都是菜鸡

4年前 评论
wangchunbo

@生活无限好 依然记得当年背函数表,哈哈哈

4年前 评论
yourself

file

4年前 评论
overtrue 4年前
农村闲散劳动力 4年前
yourself (作者) 4年前
农村闲散劳动力 4年前
yourself (作者) 4年前
Nick 4年前
Max 4年前
wangchunbo

@yourself 你这个评论,我不敢回。

4年前 评论
yourself 4年前
wangchunbo (作者) (楼主) 4年前
yourself 4年前
wangchunbo (作者) (楼主) 4年前

这帖好:fire: :fire: :fire: 话说拿别人的聊天截图出来,不太好吧,心疼超哥

4年前 评论
wangchunbo

@Nick
卧槽这个是超哥?

4年前 评论

@kuibatian :cry:头像都看不出来?

4年前 评论
houmuxu 4年前

语言本身其实不难,难的是概念,操作系统、并发模型,调度原理、服务治理、限流、分布式等等……

4年前 评论
wangchunbo

@Jinrenjie 这些真的要做过项目才知道

4年前 评论
wangchunbo (作者) (楼主) 4年前
GeorgeKing 4年前

现在再去学java,你和刚出来的java有啥优势?还不是 curd? 再往上,你还指望写业务代码吗?

再往上,根本不是语言的问题了,因为到那个程度,你就会自然而然 “横向发展”了,不是因为你兴趣,而是你的工作使然。

不过 php 虽有 swoole,但是这个 “生态” 真的是和其他golang,java不能比拟的

4年前 评论

可以转 go ,但是不推荐盲目的转, 最好要有实际的情况. 我觉得比较合适的情况就是

  1. 公司目前是 php 为主正在往 go 迁移, 那么你此时的优势就很明显
  2. 公司 php 作为前端进行增删改查, 核心业务,中间件 在 go 这一块, 那么你此时可以已 phper 的身份慢慢熟悉核心业务,然后慢慢转 go
  3. 自己公司有部分业务较为独立,或者有新的需求,业务线,那么你可以考虑使用 go 来实现.

这样你有了实践的 golang 工作项目经验 + php 经验. 简历上写 golang 工程师也是问题不大的吧

4年前 评论
ibucoin

取决于你要去什么公司。比如大公司,那转java是合适的,前提是你其他硬条件也达到,不然的话,转成java初级程序员有什么用?瓶颈从来不是语言,而是其他。

Laravel和swoole的源码读过没?如果只是纯业务的curd开发,也就只是换种语言curd。

你们做过的php项目有多大?就我做过的一些外包项目来说,还没有遇到需要转换语言的地步。

4年前 评论
wangchunbo

@Max 谢谢指教!谢谢!

4年前 评论
wangchunbo

@ibucoin 谢谢哈!

4年前 评论

go的话,最近是很火,但是你仔细看看,火起来真的那么多人用吗,岗位真的不是很多,而且用的都是大厂

java就不多说,web霸主,想做一路做技术的可以考虑,只是人实在是太多了,岗位虽然多,但是竞争也不小

python 跟go同理,岗位实在是不多

其实学来无妨,多点技术储备,等到有好的机会就一下转过去了,现在有种玩法是php+go
个人感觉学下go是不错的,当然我自己也有用swoole,也会看下go

4年前 评论

学完php再学Java也许比直接学java或者golang更要快一些,直接学java可能会太痛苦了,体会不到编程的乐趣,就会容易放弃。php上手极快,用php做几个项目,带着点成就感和编程理念再去学习,可能会更有效率一些。

4年前 评论

我能弱弱的问一句吗?什么是php.net ,这不是两种不同的语言吗@勺颠颠 :grin:

4年前 评论
Hesunfly 4年前

如果把自己定位成某某语言工程师的话可能出发点就错了,我始终认为一个工程师最大的价值是解决问题的能力而不是某个语言用得有多熟练。

还是那句话:如果连 PHP 这么简单的语言都用不好,用任何再牛逼的语言也是白费,毕竟问题不是工具不好用,而是你连“如何选择适合自己的工具和如何用好工具”的技能不及格而已。

选择工具前先问自己几个问题:不用它行不行?用了它出问题自己能不能解决?用了它能不能带来各方面成本的提升?有没有其他更好的选择?

个人建议先把某一个工具,不管是语言还是框架用到精通,毕竟各种语言的实现都是原理相通的,差别无非是无法和生态丰富程度而已。否则就是猴子下山了。

另外,上面截图确实是前段时间我在群里的聊天记录,被有心人截图发隔壁群了,于是我就在微博遭受了听说是 swoole 官方开发者的人骂我是 SB 了。我觉得骂得也对,我闲得蛋疼在群里跟人参与聊这玩意儿干啥呢,引以为戒。

人生苦短,我用了Laravel。

其实是我菜而已,用不了这些高级的东西,知识和能力让我觉得 hold 不住它们。
最后,这条可以不截图发群吗?

4年前 评论
Epona 4年前
yufatang 4年前
overtrue (作者) 4年前
她来听我的演唱会 4年前
motecshine 4年前
ragonli 4年前
HACK_QC

@勺颠颠 同意,swoole自己的bug解决都不及时,说实话做微服务的有几家公司用swoole的,有人用还用使劲吹有多好嘛

4年前 评论
wangchunbo

@overtrue 谢谢大佬的指教,我会用好php的。起码最近做好laravel社区热心小群众。
当然,因为go的趋势,还是学一学beego,哈哈!

4年前 评论
839891627 4年前

@kuibatian 学啥都是 OK 的,只要专注就好。

4年前 评论

@overtrue 这句话深有体会啊,之前就像猴子捡芝麻西瓜似的,浪费了不少时间,走了不少弯路。 :grinning:

4年前 评论
黑将军

golang也学,java也学,php我也没打算放弃,啥工具合适用啥工具咯,另外我觉得超哥说的也没错,文档都不全的东西我是不敢在生产环境用,出了问题还得去翻源码,线下玩玩可以的

4年前 评论

问题1

建议继续 PHP(当然除 PHP 最好外加门语言,你已经有了),PHP web 份额在那里,怕什么,深造编程思想。万一 PHP 不行了,编程思想有了,不信就 GO 或 PY 还能难倒你。

问题 2、3

公司用 PHP、JAVA、GO、PY ..... 等技术多半以下几点原因:

1、公司技术团队的强项是什么语言,从高到低

2、能不能解决问题

3、语言本身成熟度如何

4、开发周期多久

最终归结于一点,以问题为中心,解决问题的方案都有那些,其次才是语言的选择,在此基础上选择最擅长最成熟的语言。

粟子:TIDB、Facebook

不要纠结于要学什么语言,重点更在于语言本身能解决什么问题以及自身的优势与弱点;

粟子:本人对“朱莉亚”挺感兴趣,但也只是感兴趣,弱点决定了我无法使用它工作

4年前 评论
wangchunbo

@overtrue 谢谢您!

4年前 评论
wangchunbo

@FreeMason 谢谢大佬指导!我会加油肝的!

4年前 评论
hookover

Golang的社区,分享精神,目前最好,没有历史包袱,前景好

4年前 评论

跟楼主一样,发现现在全是java和go的岗位,工具而已,个人php外对go感兴趣(安装了环境,还没入门),最后,面向工作编程

4年前 评论
Dennis_Ritchie

看上面说了这么多,我想问的是,你搞懂web开发的流程没,让你写一个框架(差不多可以用就行,你可以不?),如果让你学习java web开发(或者是GO开发),你要多久(2个月可以搞定不,可以达到JAVA(或者是Go)三年的开发经验不?培训结构吹出来的三年工作经验就算了,我见过太多),你掌握zend VM了?(zend虚拟机,PHP的底层技术,Linux编程,你搞得咋样儿了?这个都没搞懂,JAVA 虚拟机你能搞懂?可能有人会说,我用就行了,那我就没啥可说的了,刚毕业的小伙子就可以干掉你),你读过几本技术书籍(主要是图灵系列)?你搞懂HTTP协议(HTTPS协议)了么(原理可以说出来不,别忽悠我 :blush:)?博主有句话说的非常好:人生苦短。@vsenver 把自己定位成 web 开发,而不是 php 开发 也说得很好。程序员不要眼高手低,就和武侠里面的师傅教徒弟练习武功,基本功要打好。搞了这么多年开发,我还不敢称呼自己为 工程师,受之有愧。程序员多掌握一门技术是好的,没啥不好,但是一定要扎实。语言只是一个工具,切换一门语言,只是因为它能更加快速的解决当前的问题。最后,PHP在开发速度无人能及,性能上也越来越好,这是前辈们花了多少的心血啊。

4年前 评论
wangchunbo

@Dennis_Ritchie 讲的很核心!我也在追你的博客!

4年前 评论

@Dennis_Ritchie 大佬发话了,膜拜,还有,博客很棒,赞 :+1:

4年前 评论
qiuyuhome

楼主是说的问题, 也是我考虑过的问题.

我, 非计算机专业, 27 岁才培训学的 php(27 岁本科刚毕业), 现在已经 33 岁了, 所以是时候需要为以后长远的职业规划做考虑了.

我主要考虑的是: 再过 5 年, 我在 IT 行业, 可以做什么. 什么样的公司会要我这样的人. 我得到的答案是, 5 年后, 应该没有哪家公司要一个 38 岁的开发者, 那么. 那么, 公司会招 38 岁的什么职位呢? 肯定是管理层了.

所以, 我目前正在往管理层靠拢, 我不希望走的是纯管理人的路线, 所以我选择了走技术管理, 往架构师的方向发展.

下面再说说我的想法, 希望对楼主有所启发吧.

不管哪个语言, 都只是一个工具, 所以我认为开发者的能力应该是和语言无关的. 通俗来所, 楼主问的 phper 如何拿到 20k+. 那么就存在一个问题, 当你在简历上写上想要的薪资是 20+, 面试官问你的问题会是什么, 还会是问 php 关于数组的函数有哪些 这样的问题么? 我认为不会, 会问什么, 大概会问 select 和 epoll 的区别是什么, 为什么 mysql 使用 b+tree, 所以我觉得, 学习好基础理论知识, 才是重中之重.

  • 计算机网络
  • 数据结构与算法
  • 计算机操作系统

我现在也在恶补这些知识, 因为我发现, 不管使用什么工具, 如(redis, nginx, mysql), 如果没有基础, 有些东西是理解不上去的. 就导致, 面试的时候, 问你一些东西, 根本回答不出. 例如面试问你, 四次挥手为什么要 time-wait, 如果没有学过 计算机网络, 根本说不出. 再比如, LVS 的高并发负载均衡, 如果没有 计算机网络 的知识, 根本不会理解其中的奥妙.

其实, 我也是迷茫的. 33 岁的我. 以后该何去何从, 不知道以后怎么办. 但是我知道, 努力的学习下去, 肯定没错.

最后再说一句, 正确的选择, 有的时候也很重要. 加油, 共勉.

3年前 评论
wangchunbo

谢谢大家的指导,目前本人已经在一家企业工作,目前做赛事直播,充分利用了我的长处。 py爬虫,laravel做后台管理,golang写api,用来做app。 谢谢大家,目前,golang,php越来越熟练了。同时还在准备考研,软件设计师,刷leetcode。

听从了大家的建议,无论什么时候,都不要放弃学习。 真的很谢谢大家!

ps:学习这条路,也感谢站长,@Summer 站长的laravel课程很棒,学到了很多。还有@学院君 学院君老师更是耐心的指导我。也谢谢各位朋友在这里留言给我鼓励! ps:(考研培训班教英语,数学,逻辑,比单纯报英语培训班划算多了,而且万一考上了,拿到奖学金了,就去读呗。)

3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!