首页 > 业界 > 关键词 > Python最新资讯 > 正文

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

2021-05-21 08:59 · 稿源:OSC开源社区公众号

声明:本文来自于微信公众号OSC开源社区(ID:oschina2013),作者:白开水,授权站长之家转载发布。

美国教育非营利组织可汗学院(Khan Academy)方面透露,其已经用谷歌的 Go 编程语言完成了50万行代码,以取代此前用 Python2编写的后台服务器。根据介绍,可汗学院在其 Goliath 项目下实现了从 Python2到 Go 的大转变。Goliath 最初是使用 Python2实现的;从2019年开始,可汗学院逐步将其迁移到了 Go。

当我们开始 Goliath 项目的时候,团队中没有人知道 Go,只是通过实验验证了 Go 是相较而言更好的选择。今天,我们所有的后端和全栈工程师都在写 Go,而我们对 Goliath 的渐进式交付也使我们跨越了一个重要的里程碑。现在有超过50万行的 Go 代码在生产中运行。这似乎是对 Go 本身进行反思的一个好时机。

图片

Python2于 2020年初到达 EOL 阶段;鉴于此,可汗学院计划进行大规模迁移。对此,可汗学院的首席软件架构师 Kevin Dangoor 曾表示,从 Python2迁移到3并不是一件容易的事。

他的团队曾认为 Kotlin 是一个有吸引力的选择,但最终还是选择了 Go;其工程师认为,和 Python3相比,Go 具有很大的性能优势。“由于 Go 的编译速度快得惊人,我们可以更快地进行迭代。此外,我们的团队成员拥有多年的经验和围绕许多不同编辑器建立的肌肉记忆。Go 比 Kotlin 更受各种编辑器的支持。”

很多可汗学院的工程师反馈称,Go 很容易写和读,并表示自己越是使用 Go 就越喜欢它。同时,Go 的错误处理、工具链以及编译速度也都收到了诸多好评。另一方面,可汗学院方面也表达了对泛型的需要。“虽然大多数情况下不需要泛型。但有时候,特别是是在写内部库,尤其是涉及到 slice 时,就会明显感觉到对泛型的需求...... 我们希望少写一点代码,而泛型提供的选项将对此有所帮助。”

最后,该组织总结称,虽然一般来说 Go 比 Python 更冗长;但他们还是更喜欢 Go 一些,因为它速度快、工具好用、并且在生产中运行良好。

  • 相关推荐
  • 大家在看
  • Python之父爆料:明年Python至少实现1倍提速

    Python 之父 Guido van Rossum 在2021年 Python 语言峰会上透露了一些有关 Python 的发展计划表示,其短期计划是在 Python3.11版本中实现至少提速1倍。按照官方的发布周期,目前处于测试阶段的 Python3.10计划于今年10月发布,Python3.11则预计于2022年发布。

  • TIOBE 5 月编程语言榜单:Python 超越 Java 重回第二,Rust 崛起

    现实来看,曾经的铁三角 Java、C、C++ 如今已被彻底瓦解,犹记得2020年5月,Java 被 C 超越后,于11月份再次被 Python 短暂碾压,一路跌到了第三位,虽然后来 Java 再次追上 Python,可还是无法拯救其下滑的趋势。

  • 微软宣布已成为Python软件基金会的愿景赞助商

    自2006年以来,微软一直是Python软件基金会的赞助商之一。今天,微软宣布,它将进一步增加对PSF的捐款,成为远景赞助商。作为对PSF的15万美元财政赞助的一部分,微软将把资金集中到打包工作组,以帮助进一步改进PyPI和支持打包生态系统的开发费用。"在过去5年中,Python的迅速崛起是有据可查的,令人印象深刻。Python的崛起主要是由数据科学的发展推动的,并得益于其在脚本、网络开发、教育领域的长期应用,以及对语言的生产力和易

  • Pyston 2.2发布:回归开源 Python实现要比网络基准快30%

    作为 Python 的高性能实现,Pyston 2.2 稳定版于今天正式发布。在 Pyston 2.2 中,开发者声称他们的实现比用于网络服务器基准的 Python 库存快 30%。这次的提速包括他们的 JIT 和属性缓存机制的工作。此外,Facebook 引入了 Cinder 作为一个新的孵化器项目,提供快速的 Python JIT 实现。虽然这个前 Dropbox 项目在 Pyston 2.0 时是闭源的,但在 Pyston 2.2 时,代码已经回归开源。Pyston 2.2 是开源的,而在这个项目上工作的开发?

  • [多图]创始人van Rossum想让Python的速度提升一倍

    30年前创建了流行的编程语言Python的Guido van Rossum概述了他的雄心壮志,要让它的速度提高一倍--解决Python与C++等更快的语言相比的一个关键弱点。核心Python(CPython)的性能不足部分地解释了为什么Python倾向于数据科学和机器学习,其中许多工作负载被移交给GPU。它在这些领域崛起的另一个原因是丰富的特定领域库,从NumPy到谷歌支持的TensorFlow机器学习框架。在本周的美国PyCon语言峰会上,van Rossum在微软拥有的GitHub上?

  • 高途集团股票代码从“GSX”改为“GOTU”

    在线教育企业高途集团(原跟谁学)昨晚发布公告宣布将把其在纽约证券交易所的股票代码从“GSX”改为“GOTU”。新股票代码的交易将于2021年5月6日开始。

  • Intel出手暴改《GTA5》代码:照片级画质降临

    《GTA5》已经发售快8年时间,各种民间MOD层出不穷,包括但不限于画质增强等。这次,Intel ISL实验室的工程人员出手,秀了秀肌肉。他们通过机器学习技术,改造了《GTA5》的画面,让其有着照片般逼真的画面。不过,部分情景受限于素材库及研究进度生成的画面比较模糊,而且整体色调比较暗,对于部分用户来说可能不如原版那样讨好眼球。此次的代码处理主要集中在灯光、更平滑的人行道、汽车的反光纹理等,卷积网络可以处理并生成每一?

  • iOS 14.6 Beta 1代码暗示Apple Music即将支持HiFi

    根据外媒 MacRumors 从 iOS 14.6 测试版代码中发现的信息,为订阅用户以及具备兼容设备(例如 AirPods Max)用户,苹果计划在 Apple Music 中提供 HiFi 支持。在 iOS 14.6 更新的首个测试版本中,Apple Music 代码中提到了“无损音频”、“高质量立体声流”和“HiFi”。附带的代码表示,HiFi 直播可能只限于某些 AirPods,如 AirPods Pro、AirPods Max 和后续型号。据推测,没有AirPods的用户也可以获得HiFi支持,尽管目前还不知道

  • 共用代码库 iOS端Edge 91 Beta发布

    在3月初召开的 Ignite2021大会上,微软宣布将会在今年晚些时候移动端和桌面端的 Edge 浏览器将使用共同代码库。目前 Windows、macOS 和 Linux 平台的 Edge 已经使用了最新版本的 Chromium,在 Play Store 发布新版 Edge 之后,微软看起来想要同步 iOS 平台的更新进度。目前仍处于测试阶段,统一的 iOS 版微软 Edge 浏览器可能会在不久后到达所有用户。通过使用一个共同的代码库,微软旨在同时为移动和桌面用户提供新功能。这一变化

  • “行业毒瘤”低代码

    使用低代码平台写出来的代码既难以维护,又难以测试,同时它还给行业传递了非常不好的信号,“程序员的价值是不值钱的”,最终造成的结果就是一些不具备编程专业技能的人,使用极不趁手、效率低下的工具来做写代码的工作。这是非常危险的,这类低代码工具就是行业毒瘤!

  • 字节跳动投资代码乾坤

    在陆续收购了沐瞳科技、有爱互娱等游戏公司之后,近期,字节跳动将目光移向了另一家游戏公司代码乾坤。

  • EFF代表美国一大学生 因源代码版权起诉Proctorio

    电子前沿基金会(EFF)已经代表迈阿密大学学生 Erik Johnson,对远程测试公司 Proctorio 提起了诉讼。EFF 表示,该诉讼旨在平息“一场目的是破坏对该公司的远程考试监考软件的重要关注的骚扰活动”。这是该软件公司最新的一场法律斗争,该公司在过去一年中与网上批评者进行了公开争论。电子前沿基金会(EFF)已经代表迈阿密大学学生 Erik Johnson,对远程测试公司 Proctorio 提起了诉讼。EFF 表示,该诉讼旨在平息“一场目的是破坏

  • iOS 14.6代码泄密!HiFi版Apple Music真的要来了

    此前,有爆料称苹果或将会出 Apple Music HiFi服务,并且会将其与新版AirPods一同推出。而今日,据开发者确认,在Ios 14.6的第一个beta版本中确实出现了相关的选项,进一步证明苹果可能确实在为新的HiFi服务做准备中。据悉,在即将发布的第一个beta版本的代码中,开发者在Apple Music应用程序中找到了对”无损音频”、高质量音频流和”HiFi的引用。测试版中的随附代码表明,HiFi流仅适用于某些AirPods,例如AirPods Pro、AirPods M

  • [动图]iOS/tvOS 14.6代码泄露天机 苹果要推Beats品牌TWS耳机

    根据 MacRumors 撰稿人 Steve Moserats 从 iOS/tvOS 14.6 测试版中提取的图片信息,苹果正在开发新的无线入耳式 Beats 品牌耳机。有别于 Beats 现有耳机,这款耳机图片并没有像 Powerbeats Pro 那样的耳套,也没有像 Powerbeats 那样的线缆。图片中显示该耳机会有多种颜色供用户选择,包括黑色、白色和红色,并将有一个配套的椭圆形充电盒。Beats Studio Buds的这种小而简单的设计似乎与我们期望从第二代AirPods Pro中看到的相似。

  • Mediatonic意外地泄露了游戏《糖豆人:终极淘汰赛》的源代码

    今天,Fall Guys开发商Mediatonic在一次意外的Steam更新中犯了一个大错,他们泄露了《糖豆人:终极淘汰赛》游戏的源代码。在被SteamDB的创建者Pavel Djundik发现后,似乎这个有问题的更新并没有存在多久就很快被删除了,但在这期间完全有可能有人能够快速下载并抓取一份副本。在这个更新中添加的所有文件,而且是很多文件都标有一个真正应该注意的警告 "BackUpThisFolder_ButDontShipItWithYourGame"。根据Unity手册,这个文件集是

  • 代码显示Pixel 5a 5G代号巴贝犬 (Barbet) ,配骁龙765G芯片

    本月早些时候,谷歌确认他们的入门智能手机 Pixel 5a 5G 将会在今年晚些时候发布。基于最新的 Android 12 开发者预览版,Pixel 5a 5G 将会运行和 Pixel 5 相同的芯片。在有消息称 Pixel 5a 5G 已经被取消之后,谷歌出面确认这款设备依然在开发状态,只是确认了这个设备的名称,但没有提供确切的发布日期。不过从产品名称来看,该机应该会采用兼容 5G 网络的高通骁龙处理器。外媒 9to5Google 的编辑 Damien Wilde 解释道:目前让我?

  • Adobe Acrobat与Reader爆出远程代码执行漏洞漏洞 须尽快安装补丁

    Adobe在周二发布了一系列补丁,包含12个不同应用程序的安全更新。其中一个最常见应用程序,即Adobe Reader的漏洞目前正被积极利用。据Adobe称,Adobe Acrobat和Reader的其中一个漏洞CVE-2021-28550已经在外部被利用,对Windows设备上的Adobe Reader进行了有限的攻击。了解更多细节:https://helpx.adobe.com/security/products/acrobat/apsb21-29.htmlAdobe Experience Manager、Adobe InDesign、Adobe InCopy、Adobe Genuine Serv

  • GitHub添加HTTP标头来屏蔽谷歌的FLoC追踪

    微软旗下代码托管平台 GitHub 已决定加入反谷歌 FLoC 追踪阵营,确认将通过添加 HTTP 标头的方式来屏蔽 FLoC 追踪。Bleeping Computer 留意到,在访问 github.com 和 github.io 的时候,该网站都会返回“Permissions-Policy: interest-cohort=()”的 HTTP 标头。今年早些时候,谷歌宣布将停止针对个人的广告追踪,以推广被称作“联合队列学习”(Federated Learning of Cohorts)的新系统。据谷歌官方所述,联合学习队列(FLoC)允

  • 飞算 SoFlu 全自动软件工程平台让代码质量更有保障

    在开发成本越发繁重的背景下,软件自动化开发工具开始有了更高的关注,更多的支持。但诸如代码质量等等环节上的可靠性,却也依旧有不少人保持着质疑的态度。飞算 SoFlu 全自动软件工程平台诞生之后,这样的质疑则开始逐渐被打消。自动化开发工具在开发效率上的提升是显而易见的,而除了效率,在一些靠人力无法解决的问题上,同样也能显出优势。不久前,Gab 的 CTO Fosco Marotto 写了很多错误百出的代码,导致黑客利用 SQL 注入漏?

  • 美摄科技正式起诉字节跳动:抖音等多款软件涉代码抄袭

    美摄科技通过其微信公众号发布声明,称近日已向法院以侵害计算机软件著作权及侵害技术秘密为由,正式起诉北京字节跳动科技有限公司、北京微播视界科技有限公司及多个关联公司,要求上述公司立即停止侵权行为、在自有媒体平台全量推送公开道歉,并赔偿经济损失及合理支出共计人民币22.74亿元。

  • 热门标签

热文

  • 3 天
  • 7天