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

2022-01-21 14:10:48 +08:00
 binbinyouliiii

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

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

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

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

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

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

19677 次点击
所在节点    Java
204 条回复
mosfet
2022-01-21 14:52:16 +08:00
搞嵌入式 C 的
现在尝试一些跑 linux 上的服务用 go 写,毫无违和感...
jelipo
2022-01-21 14:59:34 +08:00
@mosfet 楼主说的是 web
xgfan
2022-01-21 15:08:03 +08:00
Golang 写业务 /CRUD 就是不行。

1 ,没有泛型就没有好的集合类。
2 ,再加上很多函数都要 return err ,导致很难把一串操作给连起来。
wanguorui123
2022-01-21 15:13:59 +08:00
自己造个 Go 的轮子就好了
ren2881971
2022-01-21 15:21:41 +08:00
Go 的隐式实现、隐式继承真的是对初学者一点不友好。。。 写 java 出身的,想完全看懂一个 go 的开源项目真的好难。。。。
huiyifyj
2022-01-21 15:26:42 +08:00
javaer 吐槽 go 月经贴
Jooooooooo
2022-01-21 15:27:56 +08:00
我感觉 java 上 web 开发已经真正做到只用关心业务逻辑, 框架层面极少关心.


(这才是真正好用的语言啊
iyear
2022-01-21 15:53:36 +08:00
我很喜欢 go ,但是 go 写业务是真的麻烦,这点真的得承认,我自己写的很烦。
但是写中间件和各种网络工具,分发是真的爽
swim2sun
2022-01-21 16:02:05 +08:00
其实你是习惯了 Spring 帮你抽象好的那些概念,controller, service, repository...
于是当你需要自己去抽象一些东西的时候你才会这么无所适从,go 应该也有一些框架帮你抽象好了很多东西,但你需要投入时间去理解
sagaxu
2022-01-21 16:04:09 +08:00
大道至简,写的不舒服,一定是需求提的不好,不够优雅
zhangchongjie
2022-01-21 16:07:52 +08:00
@Jooooooooo java web 方面的生态基本上都是现成的了,现在的集成框架基本业务 都不怎么写了
binbinyouliiii
2022-01-21 16:13:37 +08:00
@swim2sun #29 这些分层不是 spring 的概念,是 web 的概念,只是在 java web 上大家都遵循这个分层
liuxu
2022-01-21 16:14:08 +08:00
@binbinyouliiii 现在的人发帖都这么带有偏见?喜欢带节奏?
binbinyouliiii
2022-01-21 16:17:32 +08:00
@liuxu #33 我只是作为 javer ,实际用 Go 的感觉,到你这就是带节奏?难道不是你见不得别说 Go 一丁点不好?
theodoreshuai
2022-01-21 16:18:29 +08:00
为什么我感觉评论区战火纷飞


┬┴┬┌─ ●─┬─  │─┼─┐ ●├─┤○
┴┬┴├┬ ┌─┼─ │◎ │ │ ○└┬┘●
─┼─││ │ │  ││─┴─┴ ──┼──
●│○││ ┴─┼─  │○  ● / │ \
binbinyouliiii
2022-01-21 16:25:33 +08:00
@theodoreshuai #35 大家都会对自己最熟悉的语言下意识的维护,我也写过其他语言,我能理解现在的流行语言都有自己的流行场景,而且我说的都没有跟语言特性相关的,都是 web 生态和开发体验。

目前 Go 的场景明显是跟 Java 有很大重合的,既然场景有重合那我对比也没有问题。
SenLief
2022-01-21 16:25:51 +08:00
其实你换个思想,如果 java 不让你用 spring ,而是让你自己实现,你还会不会觉得 java 更容易?
go 目前就是万花筒,没有什么是统一的,所以实现上也是千奇百怪,哎。
offswitch
2022-01-21 16:26:21 +08:00
Go 反正我不觉得开发效率高,tmd 一堆 if err := ; err != nil ,就很反人类了
binbinyouliiii
2022-01-21 16:30:23 +08:00
@SenLief #37 你说的我知道,所以我说其他小众语言也一样,我是以 Go 目前火热程度和生态丰富性做前提,来比较的。
binbinyouliiii
2022-01-21 16:31:55 +08:00
@offswitch #38 我觉得 Rust 的“?”的设计可以放在这上面,但是好像大家并不感冒?

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

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

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

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

© 2021 V2EX