最近在用 Golang ,感觉有很多槽点。王垠曾经对 Golang 做过一番批判,我自己用的时候也感觉到了很多问题,在此我严正批评一下 Golang 。
许多 Golang 的拥护者会称 Golang 是一门工程语言,他们有一种误解,即是工程问题是代码问题。但事实是,工程问题是一个现实的逻辑问题,而代码问题是代码的管理问题。 Golang 并没有解决很多逻辑问题,它是砍去了很多特性,比如说循环依赖,它觉得不好,砍了; try catch 机制;不好,砍了,泛型,不好,砍了,现在又偷工减料的加回来了。如果一个特性将会带来很多,一般的处理方法有两种,一种是引导人们更好的使用它,另一种是砍掉。Rust 选择了前者,而 Golang 则选择了后者。这固然是一种解决办法,但解决不了实际问题,更何况砍掉特性只会让语言的表达能力变弱,最终,语言会变得简陋而不是简单。