选 go 还是 Java

2023-08-17 00:14:38 +08:00
 lushiwu

开学大三,学了两年的 java ,现在有点想转 go

8272 次点击
所在节点    程序员
72 条回复
yikeshuo
2023-08-17 09:11:30 +08:00
从最近面试的情况来看 建议 All in
bravobest
2023-08-17 09:20:04 +08:00
go 跑的越远越好
yaott2020
2023-08-17 09:25:04 +08:00
无脑 java
imianba2zz
2023-08-17 09:27:41 +08:00
个人建议,如果想长久发展重心放在网络基础,操作系统,数据结构。语言是次要的,培训班 3 个月就可以量产一批 1-3 年经验的人,所以相对来说语言这些东西很简单。可以在快实习的时候抽 1-2 个月,b 站找个对应的视频跟着做就可以了。
如果要学 GO 推荐个自己的教程: https://github.com/Zhouchaowen/golang-tutorial
配套视频: https://www.bilibili.com/video/BV1Qm4y1t7e2/?vd_source=491c4f0dbe89eab97b35fa958fa52a1a
最后还是建议重点学:网络基础,操作系统,数据结构
joApioVVx4M4X6Rf
2023-08-17 09:27:48 +08:00
那不如选 Python
ixiaohei
2023-08-17 09:44:43 +08:00
看楼主的学校咋样?看能否参加秋招拿 offer ,尽量拿大厂 offer 。现在还在读大学两个都可以学一下。另外校招对候选人的考察主要还是面向数据结构和算法、数据库、操作系统、计算机网络等知识。语言方面对于校招生都倾向入职后学习上手,所以对于原本会哪种语言可能不会太介意,这个容忍程序大厂可能比小厂人性化一点,建议 op 如果想不继续读研,大四就出来工作,建议多准备一下校招。

另外学哪种语言可能会对前期职业规划有些影响,主要还是偏见多一点;如果后续找工作不挑剔两种语言都可以看看; golang 和 java 做后台开发其实差不多;我个人是从 java 转到 golang ,就个人感觉而言 golang 总体机会比 java 少;另外 golang 主要在大厂和大厂关联的创业公司(大厂直接出来创业的)需求比较多; java 是老牌工业语言,大小厂工作机会都有,特别是二三线城市占主导地位。另外就语言求职难易度讲其实 java 比 golang 难,java 现在太卷了,面试一堆无意义的八股文、很多都要深入研究源代码才能很好的理解和掌握、这对于新手求职来说是个地狱模式;反而 golang 没啥花样,主要面试还是注重前面说的算法那些基础东西。

另外如果实在难以抉择选哪个,建议从自己感兴趣的项目考察:
java 在安卓和大数据几乎是专属语言,从事这些项目首先 java 。
golang 在云原生、k8s 、devops 有较强的优势。

后台 web 方面比较可能比较复杂,
高并发场景下:java 和 golang 都可以应对。但是都是同步编程情况下 java 可能比较差; java 要使用事件编程(异步编程)、比如使用 netty 框架才能跑过 golang ; golang 天生高并发、网络方面是长项,另外编程模式还是同步编程。
对于 web 开发难易程度:java 如果使用原生开发网络非常复杂,需要上 spring boot 、spirng mvc 才会简单,但是这套框架想深入理解也是非常复杂的; golang 自带 http ,开发 web 比较简单,但是工业上也是使用框架较多。

语言上:golang 就 25 个关键字、没多少特性,一周即可入门(有的人一天入门),java 语法较啰嗦,入门需要花费大量时间

对于我而言:在面试岗位上两个语言都不挑剔,甚至面试上有巧妙的回避方式:对于 java 岗位就说 java 好多年没有干了,让面试官放弃考察 java 八股文;对于 golang 而言其实 golang 本身没多少八股文、面试喜欢考察算法等基础知识和系统设计。两个语言总体感觉 golang 会比较简单,java 太多无意义八股文,而且本人也不想在这上面浪费太多时间复习,导致本人也倾向面试 golang 岗位
NoNewWorld
2023-08-17 09:46:16 +08:00
985 、211 想都不想直接选 go 。然后其余的觉得自己技术还行也直接选 go ,除非实在没办法才选 java
ThinkStu
2023-08-17 09:50:22 +08:00
刚转的 go ,各有优势
yazinnnn
2023-08-17 09:58:04 +08:00
觉得自己技术不行就选 go
yazinnnn
2023-08-17 10:03:28 +08:00
说点不切实际的话

如果你家里条件还可以, 没有那么大就业压力的话, 上学时可以学一些学术性的语言, 比如 scheme racket haskell 之类

然后在根据自己兴趣(品味)选一个工程语言, 觉得 go 好就选 go, java 好就选 java, 都不好就换别的比如 fsharp rust clojure erlang
e7
2023-08-17 10:04:32 +08:00
@voidmnwzp 是的,很多人什么分布式微服务、高并发一套一套的,稍微底层点的啥都不懂
proletarius
2023-08-17 10:04:51 +08:00
go 和 C++工资应该是最高的吧,java 替代性太强了
assiadamo
2023-08-17 10:05:09 +08:00
都不如 c++
e7
2023-08-17 10:05:34 +08:00
你选择的是生态,而不是语言
Leviathann
2023-08-17 10:06:22 +08:00
都不如 rust
sunwei0325
2023-08-17 10:25:00 +08:00
无脑 java 就对了, 去哪都有饭吃, 是最优先考虑的
yummy007
2023-08-17 10:32:20 +08:00
语言只是个工具,符合当前市场的最好,楼上很多说什么 spring 化,xxx 只有 CURD ,就觉得搞笑,一个东西没人用,不被市场认可就是一坨狗屎;要明白技术是给人服务的,无论做成什么样子都是要体现价值才行;建议学 go ,然后 python 也可以简单掌握一下,无论学那个语言计算机网络+计算机组成原理等这些基础的东西都要多看;后面你工作久了会发现语言没那么重要,意识形态形成后学那个都一样,万变不离其宗~~~
hello2090
2023-08-17 10:34:04 +08:00
@voidmnwzp 为什么要在小众领域专精?那能赚几块钱?为啥不自己创业财富自由呢?
dog82
2023-08-17 10:38:29 +08:00
java 转 go 挺容易的,但是 go 转 java 难
Navee
2023-08-17 10:42:08 +08:00
选 Java 吧,不用听那些 Java 笨重、繁琐的
看看 JavaScript ,PHP 都在增加强类型、类支持
Java 称之为笨重、繁琐的限制,在软件工程中是真管用

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

https://www.v2ex.com/t/965932

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

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

© 2021 V2EX