Javaer 用了一下 Go web 开发,感觉开发体验倒退了

2022 年 1 月 21 日
 binbinyouliiii

之前一直用的 java 写 crud ,最近有项目要用 Go 写,然后我就用了 Go 尝试写了一个 web 程序

但是体验下来,其实开发体验并不怎么高,比如脚手架,虽然有很多现成的,但是我更希望有一种规范或者 interface ,就算是 java 多年前的纯 spring+servlet ,也会提供各种 interface 去规范。这样起码可以保证接手或者同时维护的人能够更快的理解和上手。

开发体验类似写命令行程序,从 main 函数一点点往上加功能,写了一天,看了一天文档,我才把 gin+gorm+zap+viper 配置好,花时间去组合。

crud 方面就不说了,还是比较原始,或者有什么奇淫巧计我不知道的。

上面说的几点只是我简单用了几天,感知比较大的几点。

其实上面说的同样可以放在其他语言上,我也不是对 Go 有什么偏见,而是觉得 GO 这么火,越来越多的互联网公司用来支撑业务,照理来说生态和体验跟其他小众语言不是一个量级的了,但是用起来还是有些失望。

23363 次点击
所在节点    Java
204 条回复
liuxu
2022 年 1 月 21 日
@liuxu 据说隔壁 ruby on rails 也对 spring 嗤之以鼻,但是我没用过
herozzm
2022 年 1 月 21 日
@liuxu php 根本不在一个量级,就算有框架
liuxu
2022 年 1 月 21 日
@herozzm php 不在一个量级,谁给你的自信
dcsuibian
2022 年 1 月 21 日
没有用过 go ,稍微尝试过 nodejs 和 python 的 web 框架。
真的不能和 java 的打,感觉楼主被喷是因为指向性太强了,干脆说“在场的各位都是垃圾”算了。
pigspy
2022 年 1 月 21 日
其实我觉得 typescript 的 nestjs 这种框架就不错
当然也可能是我 spring 写多了
javaisthebest
2022 年 1 月 21 日
go 所谓的杀手级应用也就 k8s 了

谷歌都不怎么用的语言了

也就国内再捧臭脚
xsen
2022 年 1 月 21 日
@monkeyWie #19 说的好像我没用过 java sprnigboot 一样。按照我们这边的实践,go 写业务除了要造轮子之外,没有多难受。恰恰是毕业 1-2 年的同事,前后维护过 java 与 go 的项目,都说 java 用起来难受
james122333
2022 年 1 月 21 日
楼主只是没有一个大一统框架觉得不舒服
觉得没有规范也不想建立规范 接手的人也就几个
自己建立是可行的 当然可能在这公司写的爽的一逼
在其它的公司就不能 但这状况即便你 java spring 也是一样
有规范不代表不能在业务代码或者小功能上用神奇技巧或者埋雷
一样有机会觉得不舒服
开源本来就没有一定要有一堆人觉得好的生态 生态好码农多 内卷也多 未必就好
leeg810312
2022 年 1 月 21 日
go 写中间件是很不错,但写其他就很不适用,可是 go 社区的某种宗教式狂热已经影响到很多不是很懂行的技术决策者,让开发团队用 go 写其他的!!!就差说 go 是世界上最好的编程语言。
写 web 还是得用 web 开发生态比较好得,我们公司用 .net Core/Java 2 个平台,可以随意切换到其中之一。
x940727
2022 年 1 月 21 日
@xsen [除了要造轮子之外,没有多难受。] 这句话真是骚到没话说,你一个 19 寸的轮子(有文档,质量不低),我一个 18 寸的轮子(有文档,质量一般),还有一个同事是个备胎(无文档,代码各种奇淫技巧),还有个 15 寸的轮子是前同事造的(无文档,代码质量一般),目前正常,不确定未来是否正常,你觉得这不难受吗?当然,我见过很多 Gopher 都不觉得难受,毕竟有成就感,自己造轮子多好啊。
chenxytw
2022 年 1 月 21 日
确实语言无关,你这是离开了框架定势就不会写代码了....
x940727
2022 年 1 月 21 日
@xsen IT 界或者说程序员界,最伟大的东西就是开源,就是无数优质的轮子积累,可以让开发人员专心的去做自己想做的事情,但是目前来看 Gopher 大多数都没有这种思想,反而是你一个轮子,我一个轮子,这样不单单造成了人力资源的损失,更大的是造成了社区的极端分裂。
james122333
2022 年 1 月 21 日
@leeg810312

这种称作方案型程序员 然而研究方案花的时间未必比自己弄出来要少
又不是要人做一个作业系统
adoal
2022 年 1 月 21 日
你领导让你们用 go 写进销存,那就怼你领导或者换工作呗。
monkeyWie
2022 年 1 月 21 日
@xsen #107 牛啊,写个业务还要造轮子,应该是大厂程序员吧,我们小公司用 springboot 都是开箱即用太没牌面了
james122333
2022 年 1 月 21 日
@x940727

随便一个需求都可以导致你不专心 甚至追到所谓优秀轮子的底层 怎么不觉得这是成本呢?
littlewing
2022 年 1 月 21 日
web 本来就不是 go 的优势
tqccc
2022 年 1 月 21 日
丢那马,顶硬上
xsen
2022 年 1 月 21 日
@x940727 #110 不知道是我说的有问题,还是你理解有偏差;我说除了要造轮子——那是因为相对 Java 来说,确实是缺不少成熟的企业应用的中间件;某些情况下没有合适的就要自己造轮子

要造轮子的意思,不是所有都要造轮子
liuxu
2022 年 1 月 21 日
@x940727 #78 ,你要的 c++都有,所以 c++的 web 框架是最好用的,可读性最强么

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

https://study.congcong.us/t/829692

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

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

© 2021 V2EX