在虾皮做业务被 go 恶心到了。

2021 年 11 月 24 日
 javaisthebest
之前主要是在中厂用 java 做业务
目前进了虾皮用 go 做业务。
这一对比,感觉搞不懂 是脑抽了用 go 了吗?

接手的前几天就被无边无际的 json 属性文件恶心到了
和 java 一对比 加载简直就是原始人的烧火棍
写了 json 内容后 还需要自己去写对应的 config.go 文件 在里面增加对应的结构体
还得在代码里通过 io 去加载各种资源。

这个过程 ide 是感知不到的。你想通过属性文件看源码。。还得自己去手动搜索关键字
简直要人命。这都 21 世纪了 我感觉工具退回去到 20 世纪了。

包管理更是别说了
golang 设计者以 git 为包平台
我现在想找一些封装的 http 或者其他工具类
由于不像 maven 和 npm 有一个统一的平台打包

你想去搜 如果没有人在内部写对应的文档。根本找不到你想要的东西

更气的是 隔几行就出了一个 error.
也没有全局捕捉。。


准备明年溜了 人生苦短。我不适合用 go ,
现在才明白 java 真的不愧是世界第一语言
29018 次点击
所在节点    程序员
190 条回复
ClericPy
2021 年 11 月 24 日
哈哈 还是水平不够吧, 以前现学的 go 同事不知道 json 和 HTML 都有现成解析器, 结果自己动手发明了一套语法... 多用用就习惯了, 反正我现在是学 go 但不用它, 早晚用的上
HappyFox
2021 年 11 月 24 日
@javaisthebest #54 歪个楼,这个是感觉是基建+维护的问题,但更像是业务太快没时间提技术优化需求。建议和产品、研发 leader 对一下,看看是逐步优化还是大版本优化。

中心仓库这个,个人见过的解决办法:
1 、自建私有源,保留历史版本(对应 java 的自建仓,不过 go 的更简单,gitlab 顺便存一下依赖库就解决了,也不需要多部署别的服务)
2 、运维团队在 1 的基础上审核并更新版本,merge 公司内使用的魔改版到最新版(避免恶意代码+适应特异性优化)
3 、公司内的文档工程师定期处理组内对外提供服务的工具文档(有云服务的基本都有,自己部门没有,可以去别的部门借一个临时用用)

其实老哥你换个思路,公司问题越多,你的机会也就越多。如果公司啥问题没有,那找咱们来干啥。。。
EscYezi
2021 年 11 月 24 日
看了一下楼主贴子,感觉自己已经被 spring 惯坏了🤣虽然总嫌弃启动慢之类的,写起业务还是真香
SuperManNoPain
2021 年 11 月 24 日
作为 java 开发,java 启动,内存确实慢,但是开发起来确实是舒服😂
sagaxu
2021 年 11 月 24 日
less is more 的精髓:少量语法大量代码
ylsc633
2021 年 11 月 24 日
都是先入为主惹的祸

java 跟 go 本来就是两个相反的理念

假如你先写的 go, 再去写的 java,你会发现 无比繁重, 启动贼慢, 内存疯长,并发代码逻辑复杂还容易出问题

是一个道理..

就看你先熟悉哪个了

毕竟语言不同,他们的生态圈完全不一样, 所以都有个习惯的过程


就跟你现在在你这家公司待熟悉了.. 什么业务你都觉得有底

可是你入职了一家新公司, 你会发现前期很难熬,因为很多你不熟悉的,就觉得十分不习惯..


那说回原题 既然不习惯 go, 就跟你不喜欢这公司一样,不想习惯了,就换呗 太正常了
tbg
2021 年 11 月 24 日
我以为楼主被 gou 恶心到了
liuxu
2021 年 11 月 24 日
@xhinliang 盲生一下子就发现了华点
zyfsuzy
2021 年 11 月 24 日
真牛逼,电商不用 Java 闹呢
wdlth
2021 年 11 月 24 日
你可以先写 Kotlin 恶心一下,然后再写 go 。
JudyHal
2021 年 11 月 24 日
唉,没想到这种弱智言论也有这么多人赞同,V2EX 现在已经变成反智主义的中心了,Java 这种除了中国都没有地方用的语言也吹的出来
liandi1990
2021 年 11 月 24 日
@yazinnnn #17

我们公司现在就在招 F# 开发

要求非常低,甚至都不需要有 F# 工作经验,只要是科班硕士,能熟练使用任一 ML 方言,即可达到面试要求
adoal
2021 年 11 月 24 日
@EscYezi 对,所谓 Java 写 CRUD 写业务逻辑省事,大部分其实是在说 Spring……不严格地来讲(经不起咬文嚼字者抬杠),可以在某种程度上把 Spring 系列框架甚至 IDEA 的一些自动化功能看作是以 Java 为底层的 DSL……只就 Java 本身来说写业务有啥省事的,啰嗦致死。
iyaozhen
2021 年 11 月 24 日
现在在用 go 、Python ,之前 PHP JAVA Python 多一点

整体来说 go 还才起步,肯定很多问题

1. json 属性文件,不管哪个语音都需要配置文件吧?不然怎么办 不喜欢 json 可以用 yaml
2. 在里面增加对应的结构体,这个就是反序列化,这个难道 java 不用写一个 class ?
3. 还得在代码里通过 io 去加载各种资源,额 哪个语言不都这样嘛?
4. 这个过程 ide 是感知不到的 确实,只能看见定义的 struct ,但是配置中的具体内容看不见
5. 统一的平台打包 https://pkg.go.dev/ 这个 其实还有个问题,go 包管理依赖 git ,但公司内部 git 都是有权限的,导致编译依赖要申请一堆权限,非常麻烦
6. 如果没有人在内部写对应的文档 其实话又说回来,公司内部开发的话,工具链限制的非常死,orm mysql/redfis 啥的客户端都规定好了,估计你没找到文档,或者公司内部本来就没有
7. 隔几行就出了一个 error. 有一说一,确实垃圾
iyaozhen
2021 年 11 月 24 日
JAVA 主要是还是得益于 spring 一桶江湖了。

要是 go 有个框架统一了,IDE 分分钟给你支持,要咋提示就咋提示
javaisthebest
2021 年 11 月 24 日
启动慢 这个我承认

但是 go 并发代码 我是表示怀疑

Java 的并发一般通过线程池 封装好的

Web 环境下开发的 Spring bean 都是无状态的

只要照猫画虎 完全可以不用担心

golang 的协程 随意创建 也没有统一的池来管理

一旦协程出了问题。一般人也不太敢去修
cubecube
2021 年 11 月 24 日
@JKeita java 语言本身,除了啰嗦点,没啥太大的缺点了。几个所谓的语言缺陷,马上 loom ,值类型,泛型特例化都要修好了
zhuangzhuang1988
2021 年 11 月 24 日
@javaisthebest 不自己控制怎么显得自己牛逼呢
NVDA
2021 年 11 月 25 日
@JudyHal 我记得你,极端 java hater 是真的敢扯淡…别的不说,Amazon 那么大一个主用 java 的公司被你吃了?
shyangs
2021 年 11 月 25 日
Java 適合做業務. Go 適合中間件.

前人總結過經驗教訓. 你又驗證了一次.

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

https://v2ex.ih06.com/t/817707

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

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

© 2021 V2EX