对 Go 语言的综合评价

cytzrs ·
做了7年的技术,用了几个月 Go,感觉说的有些地方太重了,但是大部分属实。 Go确实不能和.NET和 Java比,真的是不能比,除了性能,其它比不了。
#1
更多评论
狂吐槽一遍, 然后来个其实并没有那么差的说法. 这不是当前喷windows的套路吗? 语法方面其实很主观的东西, 我还十分讨厌Pascal的语法呢, 也很讨厌vb的语法呢, 其实都不是大问题, 不喜欢就不用. for语句解决一切, 其实挺好的, 你从其他语言过来看不惯不代表不好. go的语言有格式化, 这是非常之好, 无论看官方的代码还是一些个人的代码, 格式都一样, 不会看到奇奇怪怪的代码. 工具方面, 其实可以用IntelliJ来开发go的, 虽然比不上vs, 但还算方便. 内存管理方面, GO1.5的垃圾回收貌似很好了, 这边文章有点早, 是对以前版本的评价. 没有generics, 只能暴力实现, 至于以后会不会加就不知道了. 多返回值我觉得作者理解错误了, err不为空, 那么ret是不是空有什么关系? 关键是使用者控制. go三步一小check error虽然麻烦, 但我总觉得比try-catch一大段代码好啊. 作者说什么go多返回值是歪打正着是不对的, 什么语言都有最佳实践, 设计得多么好的也禁不住用户乱用啊. 接口方面说排序, 我觉得也不合理. 有些语言一行代码就实现排序, 确实是令人羡慕. 排序的三个基本方法: Len, Swap, Less, 然后再通过接口调用, 这是基本的做法. go在这方面 其实缺的是排序语法糖. 要是支持lambda就好了. goroutine我个人认为最大的贡献是代码逻辑, 其次才是并发量. 配合chanel来使用, 编写函数的时候, 有数据传过来就处理, 没有就自动阻塞这对使用者帮助很大. 最后每种语言都有它擅长的方面, 像HTML template这样的东西也不见得有什么特别好用的地方, 也就是补全一下功能. 对于作者认为go<Python< Scheme/Haskell, 我还说php是最好的语言呢.
#2