@
feilaoda 欢迎吐槽。写的比C舒服的语言多的很,不管是Python、Ruby还是Java、C#,甚至满是坑的C++,没必要圈死在Go上。
Go的语法确实从理论上可以完美转换到C上的,interface是一种编译期的检查,func (thisO *Object) funcName(Arguments *Object) Object{}这种完全可以替换为Object funcName(*Object thisO, *Object Arguments){}这种C格式。至于for语句就更不说了。map和slice也都在C中有第三方库可以支持,Go只是内置了这种支持。select语句是对select、epoll、kqueue的上层封装,chan是socket queue的上层封装。range也只是一个utility。所以Go的核心语言设计是可以和C完全对应起来的。语言设计本身,Go离C并不远,距离远小于C++、Java、Python、Ruby这类真正的高级语言。
唯一值得陈赞的就是GC的设计了,不过GC设计本身就很有争议。
我个人觉得Go的定位以及命名都充满了迷茫。