|
我将从我集体的角度谈一谈。大约一个月前,我开始用Python编写内存中 Web 办事的原型代码。我真的很喜爱 Python 的优雅以及在其中疾速制造原型的才能。我正在实行须要的算法,当我开始对机能进行基准测试时,我很快意想到我的办事将受 CPU 限度。只管我致力尝试优化 Python 代码。
我需求切换到一种更快的言语和代替言语:C、C++、Java、Scala 和 Go。我真的很想用一种渣滓采集言语来编写全部货色,这样我就能开脱 C 和 C++ 屡次让我头疼的问题。我也想轻松的编写并发代码,所以在这一点上,C 和 C++ 简直曾经过期了。我只剩下 Java、Scala 和 Go。我厌恶 Java,我惧怕 Scala 恰是由于我能够将 Java 代码嵌入其中。Scala 似乎也有更峻峭的学习曲线。
解决计划 ?Go!Go 对我来讲是完善的言语。它是渣滓采集的,它似乎是我必需做的事件的完善人选。语法其实不像您冀望的那样奇特。固然,Go 有一些特殊性,例如不足多态(只管假如你想到它只会让你设计更明晰的代码)和泛型。但这其实不首要,由于我在 Go 中的任务效力简直与在 Python 中同样高,并且我仅经过将其移植到 Go 就能看到速度进步了 10 倍。之后,我经过使用很棒的 goroutines 编写并发代码,胜利地将其扩展到 40 倍。
我也的确感觉 Go 附带的工具没有失掉应有的关注。Go剖析器是一个了不起的工具,在优化算法的过程当中,它对我的?帮忙超越了我的想象。
总的来讲,Go 当初是编写 C++ 或 Java 办事的可行代替计划。然而,每集体的角度不同,那就彻底不同了。 |
|