2019 年 12 月,著名教育性非营利组织可汗学院宣布了一项将后端重新设计为一系列 Go 服务的工程——Goliath,将后端最初使用的 <em>Python</em> 2 语言转换为 Go 语言。近日可汗学院透露,目前已完成超过 50 万行 Go 代码
2021-05-21 15:00:05
2019 年 12 月,著名教育性非營利組織可汗學院宣佈了一項將後端重新設計為一系列 Go 服務的工程——Goliath,將後端最初使用的 Python 2 語言轉換為 Go 語言。近日可汗學院透露,目前已完成超過 50 萬行 Go 程式碼。
據介紹,在 Goliath 項目剛啟動時,除了團隊運行的驗證 Go 語言是更好選擇的實驗以外,團隊中沒有人瞭解 Go 語言。而現在,可汗學院所有的後端和全棧工程師都使用 Go 語言,目前已有超過 50 萬行 Go 程式碼在生產環境中運行。
為什麼會從 Python 轉向 Go 呢?可汗學院首席軟體架構師 Kevin Dangoor 進行了分析。
Python 2 到達 EOL 階段
2018 年,Python 團隊宣佈 Python 2.7 的 EOL(停用)日期為 2020 年 1 月 1 日,接下來,將不會有任何更新,也不會再有源碼安全補丁。這意味著使用 Python 2 的項目面臨著遷移。
對於使用 Python 2 作為後端伺服器語言的可汗學院,如何遷移、選擇何種語言成為當務之急。
他們認為從 Python 2 遷移到 Python 3 並非易事,於是在 Kotlin、Go 等語言中進行選擇,並最終選擇了 Go。原因如下:
Go 提供了簡潔性和一致性,Go 團隊致力於開發一種幫助團隊長期可靠地釋出軟體的語言;Go 的編譯速度驚人,可以幫助團隊實現更快速的迭代;與 Kotlin 相比,Go 得到了更廣泛的編輯器的支援;Go 和 Kotlin(在 JVM 上)的效能相似,但 Go 使用的記憶體少得多,這意味著它可以縮減為更小的例項。那麼,在使用 Go 語言後,開發團隊接受度如何呢?
工程師喜歡 Go 語言
可汗學院的工程師認為 Go 語言具備「易於讀寫」等優秀特性。此外,Go 語言在錯誤處理、標準庫文件、編譯器、工具鏈、效能、處理速度等多個方面受到好評,甚至其地鼠吉祥物也贏得了一片讚譽。
不過,可汗學院團隊也表達了對泛型的需求。他們認為在編寫內部庫程式碼或處理 slice 時尤其需要泛型。缺乏泛型是人們對 Go 語言的最大抱怨。
目前,可汗學院已完成 50 萬餘行 Go 程式碼。Kevin Dangoor 表示,雖然 Go 語言整體上比 Python 冗長,但它速度快、工具好用、在生產環境中運行良好。
參考連結:
https://blog.khanacademy.org/half-a-million-lines-of-go/
https://blog.khanacademy.org/go-services-one-goliath-project/
技術編輯:小魔丨發自 思否編輯部
公眾號:SegmentFault
相關文章
2019 年 12 月,著名教育性非营利组织可汗学院宣布了一项将后端重新设计为一系列 Go 服务的工程——Goliath,将后端最初使用的 <em>Python</em> 2 语言转换为 Go 语言。近日可汗学院透露,目前已完成超过 50 万行 Go 代码
2021-05-21 15:00:05
依赖<em>java</em>的ResourceBundle机制支持校验信息多语言。 三、优雅实践基于hibernate validator,怎么可以做一些优雅实践呢? hibernate validator仅是bean校验框架, 可能还需要做一些适配才可以让我们在业务系统
2021-05-21 14:30:57
<em>iPhone</em>12持续降价 正值“520网络情人节”之际,国内各大电商平台又展开了新一轮的降价促销活动,其中最引人关注的当属苹果新款机型<em>iPhone</em>12。据了解,自进入到2021年以来,<em>iPhone</em>12持续降价,如今
2021-05-21 14:30:50
<em>iPhone</em>12发布已经有大半年了 想必大家的目光都转移到了<em>iPhone</em>13身上吧 那么<em>iPhone</em>13究竟有些什么样的改变呢 首先来看一下外观 根据外媒的爆料可以看出 新款<em>iPhone</em>依然采用的是
2021-05-21 14:30:46
Hello大家好,我是帮帮。今天跟大家分享一下<em>Excel</em>取消绿色小三角技巧,强迫症瞬间化解,小妙招解决大问题。メ大家请看范例图片,<em>Excel</em>数据表格,经常容易出现这种绿色小三角。メ メ我们点击左上角提示下拉菜
2021-05-21 14:30:30
阿白以前是<em>word</em>排版小白,对于<em>word</em>目录导航一窍不通,自从系统学习了<em>word</em>排版知识,学习了目录导航技能,只能用两个字表达:真香!目录导航其实很多人会忽略,<em>word</em>编辑写作,<em>word</em>排版
2021-05-21 14:30:02