acomagu's diary

思ったことを書きます。技術的なことは書きません。

GopherCon2018 にスカラシップで参加してきた

GopherCon2018 に参加してきたので、そのレポートを書いていきたいと思います。

https://www.gophercon.com/

スカラシップに応募した動機

今回のGopherConへの参加は、メルカリさんが実施するスカラシップへの参加という形で実現したものになります。

Go Conference レポート & Mercari BOLD Scholarship for GopherCon 2018のご案内 - Mercari Engineering Blog

応募した理由としては、

  • Goが好きだから

という一点でした。自分は普段から趣味でGoを書いていて、Goの可能性を追求したいと思っています。今回のカンファレンスでは世界の人々がGoをどう考え、どう使っているのか幅広く聞くことでGoについてもっと知れたらなと思い参加することにしました。

セッション感想

印象的だったセッションを挙げたいと思います。

"Becoming a Go Contributor"

「どうやったらGoのコントリビューターになれる?」というテーマのプレゼンです。これが結構自分には予想外の視点で面白かったです。

まずいくつか「何をコントリビュートするか」について例が出されていました。印象的だったものを2つほど挙げてみます。

まず一つ「ドキュメントにExampleを追加する」というものでは「 fmtバッケージ には多くの機能が存在するがExampleはひとつしかない」という事例が紹介されました。

また「ドキュメントを改善する」の例では scrypt.Key() についてドキュメントの引数の推奨値が2009年の値で止まっているということを問題点として挙げ、コントリビュートしたそうです。

x/crypto/scrypt: update recommended parameters · Issue #22082 · golang/go

どちらの例も「意外とこれならできそう」と感じさせるものだったと思います。今までGoのコントリビュートの仕方は「悪いところを修正する」という形でしかありえないのだと漠然と思っていましたが、もっと普遍的に「どう改善できるか」と考えて良いんだなと思えたことが印象的でした。

更に話は続き、その後は「何をコントリビュートするか」以外の「どうやってコントリビュートするか」という方法の話がありました。

個人的にはそこで Gerrit (Googleで使用されているGitHubのようなもの。Goにコントリビュートする際も使用する必要がある)の特殊性が気になり、後々懇親会でGoogleの方に聞いてみたところ「Gerritはいいぞ〜」と言っていたことが印象的でした。スライド内では Gerrit の学習ができる空リポジトリが紹介されていたので、使ってみたいと思います。

scratch - Git at Google

"Machine Learning on Go Code"

こちらは「Goのソースコードを利用して機械学習してみる」という内容の発表。

まずcharRNNというアルゴリズムを利用してソースコード生成を試しますが、それっぼくはなるけどまだ使い物になる段階ではないという結論に。

じゃあソースコードへの機械学習は現段階で何に活かせるのか? というところでバグの発見や、プログラミング教育向けのコードレビューに利用できるのではないかとの提案がありました。

個人的に好きだったのは「関数の内容から関数名の提案ができるのでは」というアイディアで、Goではプロジェクトごとに小さくてよく似た関数を多く作る傾向がある分実用性もある程度出てくるのではないか? と思いました。

最後は「AIはプログラマの仕事を無くすのか?(いや、無くさない)」という議論で終わりましたが、機械学習の話は夢がありますね。個人的には趣味でプログラミングができればいいので仕事としてのプログラミングはなくなってしまえばいいと思います。

GopherCon2018 を終えて

他のどのセッションも興味深かったですし、世界規模のカンファレンスのレベル感を肌で感じることができました。

それから会場の誰にGoの話を振っても通じるというGopherConならではの感動も味わうことができました。あらゆる環境でGoを使っている人がいたので、カンファレンスも必然的に面白くなるんだなという印象を受けました。

海外の方は皆さん知らない方ともずっと議論しているのですごいですね。Go2の話題を振ったら完全に置いて行かれたので次は頑張りたいです。

Goやそれ以外のことについてもたくさん学べた一週間だったと思います。ここで受けた刺激をモチベーションとして来年のGopherConまで頑張っていきたいと思います。