作为 Go 使用者,你如何评价 go module ?

2018-09-26 15:59:21 +08:00
 GTim

这个问题是在百度后台看到的问题,觉得挺有意思的。

因为好几次看到有人使用这个关键字搜索,索性,我就代他询问下大家。


我自己虽然也写了几篇介绍文章,但对 go module 真的是无感,既没那么兴奋,也没那么失望。

相比于其它语言,go 的模块化 /( 包 )版本化之路走的太艰辛了

我现在最期待的是 go module 带来的 proxy 功能,期待在这个 proxy 之上构建的中央仓库。

10581 次点击
所在节点    Go 编程语言
56 条回复
reus
2018-09-27 08:38:03 +08:00
@neoblackcap “自从 Golang 发布依赖出现了多少依赖管理工具,为什么官方就不钦定一个?”
我怎么感觉你连标题里的“ go module ”是什么都不知道啊? 1.10 引入了 go module,那 go 命令本身就是一个依赖管理工具了,你不知道吗?
@lxml 你也是个知识没更新就瞎喷的货。
ZSeptember
2018-09-27 09:02:28 +08:00
作为依赖管理差不多了,不过 go 没有中心化的仓库,是个隐患。看 github 有个代理项目,不知道会不会发展成中心仓库。
neoblackcap
2018-09-27 09:15:23 +08:00
@reus 你说得对啊,现在都 1.11 了,也就上个版本。但是除了这个工具,官方还做了什么?语义化版本号对吧。降低 GOPATH 的影响是吧?

你说这些是重点吗?我上面说了那么多是说这个工具吗?我是喷官方长期不作为,而且没有建立一个中心化的仓库。
你倒是说说这个优势是什么,这个才是让人觉得巨难受的地方
wangxiaodong
2018-09-27 09:21:52 +08:00
@neoblackcap 官方不做,你可以去邮件提议,最终决策权在他们,多跟踪跟踪他们的社区讨论。

另外,中心化的仓库也不是必须的,因为互联网的根域服务器也都在变化,听说分配给北京的几台就因为某些因素撤销了。他们说是北京问题,北京觉得是他们不遵守北京意志。

去中心化没什么不好,docker 的 hub 似乎也变过多少回网址了!
reus
2018-09-27 09:29:36 +08:00
@neoblackcap 我说错了,go module 是 1.11 引入的,可见你根本没有了解,根本就不是使用者。中心化或者非中心化,我认为没什么影响,不知道你这个并非 go 使用者的人,究竟出于何种原因觉得“难受”?你又不用,你难受什么?
scnace
2018-09-27 09:32:00 +08:00
@neoblackcap 官方不作为?你去看看 go 的 GitHub repo 下的 Issues 的回复速度?包括现在 go mod 的解决方案不也是 rsc 搞出来的吗?我觉得 Go Team 做的某些决定长期来看不一定是最好的 但是在当时的环境下看来 也是一个听了社区建议后一个不算差的选择。。包括 Go2 要出的 error handling 和 泛型。。这不算是打脸吧,因为社区是真的需要啊。。
BarZu
2018-09-27 09:44:58 +08:00
@polythene 大概是用了百度统计,然后别人在百度搜索的结果里点进了你的网站,这样就可以看到流量来源了。
GTim
2018-09-27 10:24:38 +08:00
@BarZu
@polythene

是百度统计系统后台看到的,搜索的原词是 "如何评价 go module"
neoblackcap
2018-09-27 10:28:36 +08:00
@reus
我觉得你应该先讨论问题,不要是不是就扣一个非用户的帽子。退一万步哪怕我是一个不经常用的人,我也可以发表观点。相反你一个经常使用的人面对这样一个设计,你一句话没什么影响,大概 Rob 也是这样想的。

@scnace 现在是 2018 年,error handling 跟泛型现在才说要做要改,如果你认为这是积极我也没办法,反正我对比了同期的语言,我认为这就是在这个特性上面不积极。

@wangxiaodong 关键现在 golang 的 package 管理也不见得多去中心化,大部分依赖 github。但是这个方式无法让企业内部快速建立一个代码仓库镜像。
tairan2006
2018-09-27 10:30:02 +08:00
希望越来越好吧,golang 在 1.0 之前不接受别人建议,现在步履维艰,也算是咎由自取
circleee
2018-09-27 10:50:32 +08:00
kenkao
2018-09-27 11:05:50 +08:00
能说是因为 go get 和 github 的亲密关系才喜欢 golang 的吗?╮( ̄▽ ̄")╭
实现功能--->需要轮子--->发现好的库--->go get--->github、开源、交流、学习--->自我提升--->实现功能
myyou
2018-09-27 11:12:01 +08:00
代理现在已经有了,叫 Athens: https://docs.gomods.io/ ,而且今年 GopherCon 大会上微软还宣布要为 Athens 贡献代码以及与 GopherSource 合作。
GTim
2018-09-27 11:24:06 +08:00
@myyou
@janxin

现在有点穷,我在想要不要捐点银子出一个墙内版的中央仓库节点
wangxiaodong
2018-09-27 11:40:00 +08:00
@neoblackcap

“大部分依赖”是用户行为,并不是 golang 所强制的,golang 也是允许自定义托管包或自定义模块仓库的:

go get -u golang.org/x/oauth2
go get -u gopkg.in/yaml.v2
go get -u k8s.io/api/...

import yaml "gopkg.in/yaml.v2"


so,不要因为 github 一家独大就认定是 golang 一个求稳的语言的错误!
wangxiaodong
2018-09-27 11:44:36 +08:00
@GTim 伪需求,因为安全性要求高的都自建仓库了,不高的,github 已经够用了,再加上微软的 Athens,国内理论上并不怎么需要,go 的受众也并不多。
dodo2012
2018-09-27 11:45:44 +08:00
不要和用 go 的争,因为从 go 出现起,只要一说 go 哪不好就要被喷
xcstream
2018-09-27 12:26:38 +08:00
go 是谷歌自己用的,不需要你们提意见
wspsxing
2018-09-27 12:34:43 +08:00
作为 go 的曾经使用者,
表示,rust+cargo 不要太爽
AngelCriss
2018-09-27 12:59:31 +08:00
@wspsxing 作为 rust 的曾经使用者,表示,cpp 不要太爽 😏

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

https://yangjunhui.monster/t/492810

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

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

© 2021 V2EX