500,000行Go代码,美国某组织从Python2迁移到以前用Python2编写的GoBackend服务器。据介绍,可汗学院在其Goliath项目下实现了从Python2到Go的大转变。Goliath最初是在Python2中实现的;从2019年开始,可汗学院逐渐将其迁移到Go。当我们开始Goliath项目时,团队中没有人会Go,只是通过实验验证Go是更好的选择。今天,我们所有的后端和全栈工程师都在编写Go,我们对Goliath的增量交付为我们带来了一个重要的里程碑。现在有超过50万行的Go代码在生产环境中运行。这似乎是反思Go本身的好时机。Python2于2020年初停产;鉴于此,可汗学院正在计划大规模迁移。对此,可汗学院首席软件架构师KevinDangoor曾表示,从Python2迁移到3并不是一件容易的事。他的团队认为Kotlin是一个有吸引力的选择,但最终选择了Go;它的工程师认为Go比Python3有很大的性能优势。“因为Go的编译速度非常快,我们可以更快地迭代。此外,我们的团队成员拥有多年的经验和围绕许多不同编辑器建立的肌肉记忆。Go得到了更多的支持编辑器比Kotlin多。”不少可汗学院工程师反映Go语言易写易读,表示越用越喜欢,同时Go语言的错误处理、工具链、编译速度等也得到了很多好评。另一方面,可汗学院也表达了对泛型的需求。“虽然泛型大多不需要。有时,尤其是在编写内部库时,尤其是涉及到切片时,对泛型的需求变得很明显……我们希望少写一点代码,而泛型提供的选项将对此有所帮助。”最后,该小组得出结论,虽然Go通常比Python更冗长;他们更喜欢Go,因为它的速度和工具,并且它在生产中运行良好。本文转自OSCHINA本文标题:50万行Go代码,美国某组织从Python2迁移到Gogo
