作者: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語言給這些程序員帶來了很好的機會, 可以重新進入主流的后端開發市場.

總結下, 計算機語言的優劣, 在技術層面很容易分析, 但是卻不能主導一個語言的成功或者失敗. 真正決定性的力量是來自使用這個語言的社區.

作者博客