カーン・アカデミー - Go言語50万行で稼働中
(blog.khanacademy.org)-
2019年にPython2からGoへ移行するGoliathプロジェクトを開始
-
開始当初は誰もGoを知らなかったが、今では多くのエンジニアが「読み書きしやすい」「使えば使うほどGoが好きになる」と話している
-
Genericsがないことには不満があったが、Goチームが開発中
-
Goは言語機能が不足しているため、Pythonコードの移植時にはより多くの努力が必要だが、コードはより一貫性があり、速く読める
-
Pythonと比べて圧倒的な速度向上
→ Google Cloud Datastoreのcontention warningが1時間に100件以上出ていたバルク更新のPythonコードをGoに変えたところ、warningはほぼ出なくなって動作
- 一般的にPythonに比べてより多くのコードを書く必要はあるが(Verbose)、より高速で、ツールも優れており、本番環境でもうまく動作する
5件のコメント
5年目のGoプログラマーとしては、ジェネリクスは入れてほしくなかったんだけど……はぁ。
Go の長所であるシンプルさが少し失われる感じはしますが,,
ジェネリクスで解決できる問題を今は interface パターンで作るのは、あまりすっきりして見えないので
私はジェネリクス追加には肯定的です.. 笑
Go開発者がいないのに言語変更を始めたというのは、なかなか驚きでもありますね。
最初に変更を始めるという記事ではそういう内容がなかったので、Go開発者もかなりいるのだろうと思っていたんです。
一般的な組織なら、ああいう試みをやろうと言い出したら、おそらくものすごい反発があったはずですが、非営利組織だったからこそ可能だったのではないかとも思います。
Go に移行する組織はどこも満足度が高いように思います。
確かに学びやすく、愛着の湧く言語です。
Go言語はPythonよりも小さな言語だからこそ可能なのではないかと思います。多くの開発者は半日ほどでも開発が可能でした。