<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          50 萬行 Go 代碼!可汗學院拋棄 Python 轉(zhuǎn)向 Go

          共 1262字,需瀏覽 3分鐘

           ·

          2021-05-25 23:43

          技術(shù)編輯:小魔丨發(fā)自 思否編輯部
          公眾號:SegmentFault



          2019 年 12 月,著名教育性非營利組織可汗學院宣布了一項將后端重新設(shè)計為一系列 Go 服務(wù)的工程——Goliath,將后端最初使用的 Python 2 語言轉(zhuǎn)換為 Go 語言。近日可汗學院透露,目前已完成超過 50 萬行 Go 代碼。

          據(jù)介紹,在 Goliath 項目剛啟動時,除了團隊運行的驗證 Go 語言是更好選擇的實驗以外,團隊中沒有人了解 Go 語言。而現(xiàn)在,可汗學院所有的后端和全棧工程師都使用 Go 語言,目前已有超過 50 萬行 Go 代碼在生產(chǎn)環(huán)境中運行。

          為什么會從 Python 轉(zhuǎn)向 Go 呢?可汗學院首席軟件架構(gòu)師 Kevin Dangoor 進行了分析。

          Python 2 到達 EOL 階段

          2018 年,Python 團隊宣布 Python 2.7 的 EOL(停用)日期為 2020 年 1 月 1 日,接下來,將不會有任何更新,也不會再有源碼安全補丁。這意味著使用 Python 2 的項目面臨著遷移。

          對于使用 Python 2 作為后端服務(wù)器語言的可汗學院,如何遷移、選擇何種語言成為當務(wù)之急。

          他們認為從 Python 2 遷移到 Python 3 并非易事,于是在 Kotlin、Go 等語言中進行選擇,并最終選擇了 Go。原因如下:

          • Go 提供了簡潔性和一致性,Go 團隊致力于開發(fā)一種幫助團隊長期可靠地發(fā)布軟件的語言;
          • Go 的編譯速度驚人,可以幫助團隊實現(xiàn)更快速的迭代;
          • 與 Kotlin 相比,Go 得到了更廣泛的編輯器的支持;
          • Go 和 Kotlin(在 JVM 上)的性能相似,但 Go 使用的內(nèi)存少得多,這意味著它可以縮減為更小的實例。

          那么,在使用 Go 語言后,開發(fā)團隊接受度如何呢?

          工程師喜歡 Go 語言

          可汗學院的工程師認為 Go 語言具備「易于讀寫」等優(yōu)秀特性。此外,Go 語言在錯誤處理、標準庫文檔、編譯器、工具鏈、性能、處理速度等多個方面受到好評,甚至其地鼠吉祥物也贏得了一片贊譽。



          不過,可汗學院團隊也表達了對泛型的需求。他們認為在編寫內(nèi)部庫代碼或處理 slice 時尤其需要泛型。缺乏泛型是人們對 Go 語言的最大抱怨。

          目前,可汗學院已完成 50 萬余行 Go 代碼。Kevin Dangoor 表示,雖然 Go 語言整體上比 Python 冗長,但它速度快、工具好用、在生產(chǎn)環(huán)境中運行良好。

          參考鏈接:

          https://blog.khanacademy.org/half-a-million-lines-of-go/

          https://blog.khanacademy.org/go-services-one-goliath-project/



          - END -

          瀏覽 78
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  蜜桃视频网站免费观看 | 亚洲免费观看在线观看 | 九色自拍偷拍 | 99久久免费在线视频 | 久久91电影 |