作者:Linker.Lin

先说结论, 语言的优劣重在社区. 社区里面的人厉害, 语言就厉害. 例如Python, 早年是运维社群多;后来增加了Web开发者; 后来, Python的社区增加了AI工程师; AI团体进入Python社区后, Python发展得到了很大的助力了! 不是那些运维变牛逼, 也是不是Python发展了什么新功能, 而是AI工程师给Python社区带来的新血液导致的. 下面是,一段只关注局部最优解的评论,来自 王垠的blog:

优雅和简单性都是相对而言的。虽然 Go 语言在很多方面超过了 C 和 C++,也在某些方面好于 Java,然而它其实是没法和 Python 的优雅性相比的,而 Python 在很多方面却又不如 Scheme 和 Haskell。所以总而言之,Go 的简单性和优雅程度属于中等偏下。

由于没有明显的优势,却又有各种其它语言里没有的问题,所以在实际工程中,我目前更倾向于使用 Java 这样的语言。我不觉得 Go 语言和它的工具链能够帮助我迅速的写出 PySonar 那样精密的代码。另外我还听说有人使用 Java 来实现大并发,并没发现比起 Go 有什么明显的不足。

Alan Perlis 说,语言设计不应该是把功能堆积起来,而应该努力地减少弱点。从这种角度来看,Go 语言引入了一两个新的功能,同时又引入了相当多的弱点。

Go 也许暂时在某些个别的情况有特殊的强项,可以单独用于优化系统的某些部分,但我不推荐使用 Go 来实现复杂的算法和整个的系统。

可见上面的评论, 在技术细节上是正确的, 但是在全局看是错误的. 我国有大量的PHP程序员, 收入微薄, Go语言给这些程序员带来了很好的机会, 可以重新进入主流的后端开发市场.

总结下, 计算机语言的优劣, 在技术层面很容易分析, 但是却不能主导一个语言的成功或者失败. 真正决定性的力量是来自使用这个语言的社区.

作者博客