因为团队调整,面临换语言的问题, go -> Java

2020-12-17 20:46:58 +08:00
 Gea

先说自己的情况,16 年大学毕业,这四年多基本上前两年多写 node 后两年写 go,天赋有限,学艺不精,两种语言写的感觉都一般。。

最近因为项目组解散,并入另外一个组了,要求一定要写 java 了,而且毫无回转的可能。

换语言的问题还是那些,要从头开始,尽管有之前语言的基础,上手写的问题可能不大,但是 golang 还没学太好,换成 java 又是学一些皮毛,感觉沉淀不足。

就语言本身来讲,我挺喜欢 golang 的,主要是轻巧,现在项目用 k8s+docker (这俩学的也不是很深入),搞起来十分舒服,除了没有范型写代码挺难受的,启动快编译快部署快,还是挺爽的。handling errors 我倒是觉得还能接受,有点像特别早年 node 的 callback,都要返回一个 err 。

java 呢,我就觉得太重了,写法、启动、编译和部署这些方面,启动个 ide,小破 mac 动不动就风扇狂飙的,可能学的不多,所以觉得写起来还有些麻烦。

换语言这个问题我想过很久,现在临近年底,我感觉现在最好的选择应该是在新团队写 java,学习学习,如果觉得不好,明年立马走人,就当多了点经验,继续找个写 go 的。

但是如果觉得还行,我就不知道怎么选择了,我只是一个普通的打工仔,首要还是面向工资编程,最好能兼顾写的开心

想了不少天,不知道大家有什么好的想法,希望给我一点输入,先谢谢大家了

6738 次点击
所在节点    程序员
49 条回复
zarte
2020-12-18 11:41:21 +08:00
好跳槽,是好事。
gowk
2020-12-18 11:56:22 +08:00
Java 语言规范 1000 多页,Go 顶多 200 页。说实在的,写 Java 我不抵触,抵触的是他概念太多,心累,尤其是现在 Spring 一统天下的情况下,能写 Go 我绝不写 Java,Go 泛型发布后它几乎是新项目的唯一选择
wysnylc
2020-12-18 12:00:43 +08:00
@sagaxu #5 现在要问到 jdk14 了
xcstream
2020-12-18 13:26:35 +08:00
混就是了
Rob007
2020-12-18 14:31:49 +08:00
语言是为业务服务的
Leigg
2020-12-18 15:52:42 +08:00
Java 面试机会多,竞争也非常激烈,也就是"卷",go 在发展上还是一门年轻化的语言,前途一片光明,你要考虑好。个人建议,不要随大流,趁年轻,定个方向深耕。
securityCoding
2020-12-18 15:58:06 +08:00
@gowk 同意,go 的泛型+错误处理上了后 应该可以大规模上业务项目了
Jiers
2020-12-19 11:38:36 +08:00
python--->go
xmsz
2021-08-13 16:51:18 +08:00
我现在的看法就是

php:如果是小公司(不管规模大不大),或者是个人网站编程爱好者,那非常的合适,简单生态丰富,就是你去捡垃圾拼起来也能跑

nodejs:前端必备,因为以前很多情况下后端同学是不乐意去做一些非『重要业务』的事情。加上现在 serverless 解决了运维的问题,那对于前端来说简直不要太爽。
后端呢?性能和线程是大问题,所以大公司肯定是不会用,还是只能拿来个人自己玩玩

go:还没开始实践之前,我的想法是 go 因为是新语言没有历史包袱,而且很多特性都是非常符合未来发展的。
当我实践以后,发现这玩意根本满足不了期望
你说想要简单,你和 java 比,其实其他语言也很简单。语法简单,大家都差不多,方法简单,其他语言封装一下也差不多。所以这个真没什么特别大作用
你说想要性能,JAVA 肯定更好
最重要的是生态,Java 一套 Spring 干趴所有人,特别是大公司的需求
然后 php 有国内无敌的生态,nodejs 有无数造轮子的人,基本上生态也很好
而 go 生态真的太烂了
除了 b 站七牛在硬推,真的差强人意。

详细的说
对于单体应用
最重要就 2 个东西,web 框架和 orm 工具
web 框架就是简易
orm 工具都不能说简易,gorm 和 xorm 真的都称不上 orm 工具


对于什么微服务、云原生
rpc 通信,大家都有啊

所以 go 的场景真的很尴尬,我觉得很噱头还不如其他语言(各种非主流语言)










总之,如果你想要当一辈子的程序员,或者想去大厂混几年,那选 Java 肯定没错,毫无疑问

其他情况的,随便了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://tanronggui.xyz/t/736540

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX