克制挺难的
阅读本文大概需要 4 分钟。
大家好,我是站长 polarisxu。
昨天文章谈了 chi 这个 Go 框架,Kade 留言说,以为 chi 不会用 go mod,没想到去年就用了,但它支持的方式是从 v4.1.2 调到了 v1.5.0,也就是说之前都没有 go.mod,v1.5.0 开始加上了 go.mod。当 Go1.16 发布后,有了 ratract,他立马将其他所有版本都撤回了。面对社区的反对意见,他强硬的说:我在这个项目花了几年时间,尽管许多人不同意,但大家并没有赞助或付费,你不喜欢,完全可以自己 fork 一份,维护自己的一个版本。
说他固执也好,强势也好,能这样坚持自己的人应该不是太多。
之所以今天谈“克制”,是因为看到了两条消息:
1)考虑要离开 Go 语言,因为泛型计划正式加入该语言了?油管有一个视频[1],标题是:You'll be Back (to Go) - Go generics is coming in Go 1.18
2)Go is not an easy language[2],文章作者强调,Simple != Easy。
加之昨天的文章和这段时间学习 Rust,我发现做任何事情,想要克制挺难的。
记得 Go 刚出来时,源文件不支持 UTF-8 带 BOM,国内有一哥们给官方提了一个 patch,结果被 Rob 拒了,这哥们一气之下,离开了 Go 阵营,还发了一篇长长的文章,说 Go Team 固执、独裁。UTF-8 是 Rob 和 Ken 发明的,他们有话语权。可是,行业,特别是 Windows 阵营的,UTF-8 默认带 BOM。于是乎,现在 Go 源码也支持带 BOM 了。。。Go Team 妥协了。(不知道 Rob 是否知晓此事~)
Go 一直强调“大道至简”,“少即是多”,正因为如此,使得它很适合入门学习。然而,别有误解,入门简单,不代表精通容易。说它不容易,大概率是说想掌握好它没那么容易。毕竟是一门编程语言,涉及到的内容不少,如果很容易就掌握、精通,程序员门槛是不是也太低了。
在保持简单、保持少这方面,Go Team 还是很克制的。比如一直没有增加三元操作符。就泛型而言,社区呼声实在太高,而且这个在某些情况下确实是极大提高表现力的,即使这样,官方也很谨慎,一次次“放鸽子”,确保是一个更好的方案。但依然没法做到让所有人满意,总是有人喜欢有人不喜欢。Go Team 一直在克制,避免 Go 连 Simple 都不是。
乔布斯、马斯克就是特别能够坚持原则的人,制定高标准,并严格执行!
互联网做产品,也经常讲要克制,别什么都要。但有多少人能真正做到?!做加法容易,做减法难。
有自己的原则,并坚持自己的原则,不会轻易受外界的影响,我说这是“克制”,是坚持自己认为是对的(如果真被打脸了,能及时调整)。这,真的挺难的吧!
你是一个克制的人吗?还是来看封面图的?
参考资料
油管有一个视频: https://www.youtube.com/watch?v=rzo8u03vC7Y
[2]Go is not an easy language: https://www.arp242.net/go-easy.html
欢迎关注我