Java 玩腻了 其实发现 golang 也还不错 确实很简洁

2024-01-24 14:28:25 +08:00
 silentsky
20365 次点击
所在节点    程序员
179 条回复
jonsmith
2024-01-25 08:11:24 +08:00
go 玩玩可以,找工作还得是 Java
bianhui
2024-01-25 08:21:36 +08:00
1. 工作和爱好是两码事
2. 如果不是要让自己孙子继承自己的代码,动态语言随便写写得了。现在语言发展的情况,啥语言用时髦的解决方案性能都差不了太多,差的多补一台机器抵得上别人优化一个月。
layxy
2024-01-25 08:40:09 +08:00
@silentsky 你用习惯了 java,用 go 最不爽的就是 go 的 err 了,不过习惯了之后发现 err 也还好,表示这里可能会产生异常,可以细粒度把控,就是有时候代码中有比较多的 if 判断
pursuer
2024-01-25 09:08:53 +08:00
@lesismal 每个语言有其优缺点,要讲起来,Java/JVM 系有热更新,repl (虽然 jshell 用的人很少),脚本化的 groovy,beanshell 等,go 就没有,go 的类型推断能力也是相当弱。你要说性能有限,那带 GC 的语言不都是被 Rust 秒了,vm 系还可以做运行时 pgo 优化,论上限可能还能好一点。不过 Java 也有比较大的问题,发展迟缓(21 才出协程,值类型更是不知道什么时候,被 C#爆成渣了),oracle 商标问题不说,在我看来 jvm 的函数重载及其函数签名会使得运行时和编译环境关联,是个非常大的设计问题(例如 Java9 ByteBuffer API 变更问题)。总之,业务开发还是首选 typescript(...
zorui
2024-01-25 09:17:33 +08:00
@yazinnnn0 Go 就是不行,怎么的,来咬我呀。
tongqe
2024-01-25 09:43:48 +08:00
吹 go 的人,写 Java 水平也不咋地,或者说只懂 Java 一门语言
byte10
2024-01-25 09:47:35 +08:00
@lesismal 嗯,java 是有一些缺点,你评价都很中肯。至于臃肿那是生态的问题,再过 10 年,我估计 go 也差不多,越强大的框架性能 肯定会下降一些的。用轻量的框架去开发 java ,性能不会有数量级的差距的。
c2const
2024-01-25 10:03:11 +08:00
说得好,但是我选择 C 、C++ 、C# :)
Duolaimon
2024-01-25 10:09:41 +08:00
试试 rust
yh7gdiaYW
2024-01-25 10:11:25 +08:00
从上家的 Java 切换到现在的 Python ,最大的感触就是当员工水平一般的时候,Java 这语言是无敌强大的,就因为它的写法够死板+Spring 全家桶够好用。
至于 Python ,一是写法百花齐放(乱七八糟),二是虽然有类型注释但运行时又不检查,三是 web 生态实在比不了 Java
AntiFraud
2024-01-25 10:17:02 +08:00
@lesismal bb 一堆,转头说自己没了解过,你在这云 java 呢?道听途说,小马过河,真是为你量身打造。
wupher
2024-01-25 10:18:14 +08:00
- err 处理很那啥
- 并发处理一流
gongxuanzhang
2024-01-25 10:18:39 +08:00
我用 kotlin
ychost
2024-01-25 10:27:55 +08:00
@lesismal #61 如果用 JDK8 就请对比同时期的 GO ,现在 JDK 21 了
ychost
2024-01-25 10:28:37 +08:00
写过 Java/Kotlin/Groovy/C#/Go/Js/Python ,里面最喜欢的是 C#/Kotlin/Groovy
label
2024-01-25 10:29:02 +08:00
@yh7gdiaYW 你说的这个问题, 我觉得原因是 java 的 web 开发已经形成了一套行业规范, 各家的开发标准都大差不差. 至于其它语言写法的百花齐放, 也是不够成熟 (相对 java 来讲) 的原因
diagnostics
2024-01-25 10:30:04 +08:00
@lesismal #65 这么说吧,你在帖子里吐槽大部分 Java 程序员不关心底层技术确实是普遍现象,但是现象和语言本身没啥关系,导致这个现象的原因有:

- 培训班
- Java 大部分都是企业级应用,由少部分人完成大部分抽象,大部分人干业务逻辑的活

我同意技术是程序员一个非常好的提高方向,我本身也是做基础架构开发的,也受不了业务开发简单的小毛病都找来问我,但我从来都不会认为他们的业务能力是完全没用,业务的领先能让你超过同行,技术领先大部分时间只能是降低自己的成本,市场大部分时间只会会业务买单而不是技术,除非这个技术与业务息息相关(如量化交易里面的延迟)

再说了,是写 C4 垃圾收集器,LMAX 几个低延迟库的这些人底层技术懂得比写 Go 的人少,还是写 Flink 、Spark 对流批计算懂的比写 Go 的少?

语言决定的只是特性的区别,问题在人,因为你学的是 Go ,所以接触的底层技术多一点,但让你去搞基金估值的 IBOR 或量化交易算法,你也未必玩的转。
qiyilai
2024-01-25 10:30:33 +08:00
@yh7gdiaYW 确实,java 就像一个军队,python 像一个杀手
inhzus
2024-01-25 10:36:46 +08:00
1. IfErrNotEqNilLang
2. 在高吞吐小结构体业务下,性能远差于 Java (主要是 GC 压力)
3. 中间件完善的情况下,搓业务很爽
diagnostics
2024-01-25 10:37:02 +08:00
你能说出 “不像 java 基本就是 spring 全家桶,还有各种第三方包” 就知道你的水平没多高,连云原生相关的几个框架,例如 quarkus 都不去了解。

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

https://yangjunhui.monster/t/1011186

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

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

© 2021 V2EX