在虾皮做业务被 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 真的不愧是世界第一语言
29022 次点击
所在节点    程序员
190 条回复
jsjjdzg
2021 年 11 月 25 日
说 Go 不行有问题嘛?有 Spring SpringBoot 这样的框架嘛?唉,虽然每次碰到 XX 语言好,XX 语言不行都会战起来,不过理性来看。。。这次楼主没喷错
zmqiang
2021 年 11 月 25 日
也写了一段时间 go 了,有种 go 不是面向编写者的语言,是面向工程的语言,是面向维护者的语言。对于抱怨了那些,如果以维护者的角度来看,其实是挺好的,所有的东西都摆在明面上,没有看不到的流程,会让代码非常的好阅读和维护。
wzy44944
2021 年 11 月 25 日
听下来和语言没什么关系,是这个工程设计上的问题?好奇这个 json 属性文件是干什么用的?是类似 idl 吗?要是有个属性文件,还需要写 go ,不是应该有个代码生成器负责这个事情吗?
xz410236056
2021 年 11 月 25 日
“写了 json 内容后 还需要自己去写对应的 config.go 文件 在里面增加对应的结构体”

这不是标准规范吗?哪个语言直接操作 json ? 你这种是怎么进入 shopee 的。
fengyj
2021 年 11 月 25 日
啊? Java 还好意思嘲讽别的语言呢?
RedisMasterNode
2021 年 11 月 25 日
@sadfQED2 别别别大哥,我司没有什么特别全面的框架,要我说还是使用者自己的问题;框架一般只负责接入一些全局通用的东西,例如监控、日志等等。逻辑代码就是原汁原味的 Go ,这种 case 基本上 99%的问题都是使用者的。

另外 To 主楼,写 Java 的人也应该想清楚 go 再来写,不要无脑把你们 Java 那套破烂带过来。
fengyj
2021 年 11 月 25 日
用写 Java 的思维写 Go 本身就够离谱的,JSON 写起来方便你咋不用 Nodejs 呢?包管理方便你咋不用 rust...这些突出并没说明 Java 多好,更多还是自己思维固定了
cenbiq
2021 年 11 月 25 日
可怜我 C#,吵都没人吵呀
leeg810312
2021 年 11 月 25 日
吵了半天就是 go 生态写业务太烂,go 还不适合,是不是一个公司只能用一种技术栈?
ryan961
2021 年 11 月 25 日
毫无意义的吐槽贴,看完就想笑。json 有自动转化工具 https://mholt.github.io/json-to-go/不会去用,读取配置文件有强大的 https://github.com/spf13/viper ,自己还可以根据自己喜好封装下,go 的 error 处理方式你可以不喜欢,但在代码逻辑层面他又是必不可少的一部分,就算 java 有强大的全局捕捉,但相信每一步的错误判断也少不了吧。与其在这儿做毫无意义的吐槽、贬低,不如去深入研究下语言,go 既然能走到今天的地位,那肯定有他吸引人的地方,毕竟使用它的大厂也不再少数。当然,如果你纯粹的就是不喜欢 go ,那就别碰它
manami
2021 年 11 月 25 日
java forever
xxxxware
2021 年 11 月 25 日
.... 各有各的好, 要方便怎么不去写 py 呢。 写了 py 又会骂 py 维护火葬场
TomatoCLI
2021 年 11 月 25 日
哈哈哈,我刚开始 JAVA 转 GO 的时候也是这样的,后来想了想,面向工资编程。
redvoilin
2021 年 11 月 25 日
go 适合写写基础组件,用来写业务代码真的很不舒服
28Sv0ngQfIE7Yloe
2021 年 11 月 25 日
@BeijingBaby #117


是的 ,我三年 java 转 go 就是这样,
JoeBreeze
2021 年 11 月 25 日
等一个大佬出一个集大成的语言, 浑身上下只有优点, 一统江湖
james2013
2021 年 11 月 25 日
Java 已经是非常成熟的后端开发生态了
Spring Boot 开箱即用,1 个小时内创建项目,并编写出从 Mysql 查询,Redis 缓存的接口

这几种语言用的比较多:Java,JS,Kotlin,Python
Go 只简单用过,不发表意见
发现 Kotlin 最舒服,其次是 Java,Python 最恶心
Python 代码写错了,编译过程不报错,有时不小心多打或者少打字符,当时也发现不了
Python 没有强约束,传值,返回值,太灵活了,逻辑写复杂点,自己的代码过段时间都不知道怎么看了
PyCharm 支持明显比 Java 差,Idea 点击方法调用的地方,只会跳到唯一的地方,而 Python 不一样,会提示很多方法
nash
2021 年 11 月 25 日
java 离开了 spring 估计也会被喷成狗 作为一个程序员以语言引战就是心智不全的表现
fregie
2021 年 11 月 25 日
哈哈,被恶心到就对了,go 本身就是一门对开发者不友好,对架构师友好的语言。开发者用起来很多地方不方便,要写很多错误处理代码,强类型,不面向对象要写很多结构体。但是这些麻烦对于提升项目整体质量来说非常有效。
getcodex
2021 年 11 月 25 日
额.... ,你可以试试 github.com/tidwall/gjson 这个包,解析 json 还是比较好用的,非这个包的开发者,只是我目前用的比较多的


```
respJson := gjson.Parse(string(response))

respJson.Array()

respJson.Get("0.data.id")
```

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

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

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

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

© 2021 V2EX