社区所有版块导航
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

码小辫 • 4 年前 • 443 次点击  

码小辫
专注更多编程视频和电子书
天天在用钱

来源:OSC开源社区(ID:oschina2013)

文 | 白开水


美国教育非营利组织可汗学院(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 一些,因为它速度快、工具好用、并且在生产中运行良好。

-END-

关注视频号,参与留言送书活动

↓↓↓↓

一个认真分享的小编

前沿技术 /名企内推 /干货分享

商务合作:dot3721
长按左侧二维码添加

点分享

点点赞

点在看

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/114745
 
443 次点击