社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

50 万行Go代码,美国一组织从Python 2迁移到 Go

数据与算法之美 • 2 年前 • 259 次点击  

文章转载:OSC开源社区

美国教育非营利组织可汗学院(Khan Academy)方面透露,其已经用谷歌的 Go 编程语言完成了 50 万行代码,以取代此前用 Python 2 编写的后台服务器。根据介绍,可汗学院在其 Goliath 项目下实现了从 Python 2 到 Go 的大转变。Goliath 最初是使用 Python 2 实现的;从 2019 年开始,可汗学院逐步将其迁移到了 Go。
当我们开始 Goliath 项目的时候,团队中没有人知道 Go,只是通过实验验证了 Go 是相较而言更好的选择。今天,我们所有的后端和全栈工程师都在写 Go,而我们对 Goliath 的渐进式交付也使我们跨越了一个重要的里程碑。现在有超过 50 万行的 Go 代码在生产中运行。这似乎是对 Go 本身进行反思的一个好时机。
Python 2 于 2020 年初到达 EOL 阶段;鉴于此,可汗学院计划进行大规模迁移。对此,可汗学院的首席软件架构师 Kevin Dangoor 曾表示,从 Python 2 迁移到 3 并不是一件容易的事。
他的团队曾认为 Kotlin 是一个有吸引力的选择,但最终还是选择了 Go;其工程师认为,和 Python 3 相比,Go 具有很大的性能优势。“由于 Go 的编译速度快得惊人,我们可以更快地进行迭代。此外,我们的团队成员拥有多年的经验和围绕许多不同编辑器建立的肌肉记忆。Go 比 Kotlin 更受各种编辑器的支持。”
很多可汗学院的工程师反馈称,Go 很容易写和读,并表示自己越是使用 Go 就越喜欢它。同时,Go 的错误处理、工具链以及编译速度也都收到了诸多好评。另一方面,可汗学院方面也表达了对泛型的需要。“虽然大多数情况下不需要泛型。但有时候,特别是是在写内部库,尤其是涉及到 slice 时,就会明显感觉到对泛型的需求...... 我们希望少写一点代码,而泛型提供的选项将对此有所帮助。”
最后,该组织总结称,虽然一般来说 Go 比 Python 更冗长;但他们还是更喜欢 Go 一些,因为它速度快、工具好用、并且在生产中运行良好。

—  —

你点的每个“看”,我都认真当成了喜欢
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/114850
 
259 次点击