Go Conference 2013 springに参加した

Go Conference、通称ゴーコンに参加してきた。

開催概要
https://github.com/GoCon/GoCon/blob/master/2013spring.rst

togetter
http://togetter.com/li/487380

参加のきっかけはPyFes 2013.03 で @ymotongpoo さんの Goを紹介するプレゼンを見たこと。

http://www.slideshare.net/ymotongpoo/20130316-go

言語仕様として並行プログラミングをサポートしたモダンな言語とのことでちょっと面白そうだと思って参加。
(並行プログラミングとかほとんどやったことないけど)

10:00-15:00 ハンズオン

初級、中級、上級のハンズオンがあったけど、ぜんぜん触ったことがなかったので初級のハンズオンに参加。
ハンズオンというか公式のチュートリアルである A Tour of Go をもくもくとこなしていく感じ。
講師の方がいるので分からないこと、知りたいことがあったら聞いてねというスタイル。

http://go-tour-jp.appspot.com/

A Tour of Go はブラウザ上でインタラクティブにコードを動かしながらGoの言語機能を学ぶことができる。
途中でいくつかエクササイズという形で、与えられた課題を満たすコードを書くような問題が出てきたけど、
これに頭を悩ませていると時間がどんどん過ぎてしまうので、一つを除いてエクササイズは飛ばした。一応一通り動かしてはみた。

静的型付けの言語はあまり使ったことがなかったけど、そこは特に困ることはなかった。
文法や言語機能も比較的理解しやすい方だと思う。
一番の目玉と思われるgoroutineとchannelについては、自分に並行、並列プログラミングの経験が乏しいからか、いまいち理解できていないけど
言語仕様に組み込まれているだけあって、思ったよりシンプルな印象ではあった。

15:00-18:00 プレゼン

個人的に一番聞けてよかったのは、Google鵜飼文敏さんのGoのどのあたりが良いかという話と、
Apcera CEOのDerek CollisonさんがプロダクトコードにGoを採用した話。

どちらもどんな理由でGoを選択したのかという点が述べられていて参考になった
スライドは公開されてないっぽい。公開されないかなー。

感想

サーバやネットワーク系のプログラムを書く必要に迫られたときの選択肢としてGoはありなのかな。
Erlangでいいんじゃないのかという話を聞いたりしたけど、学習コストではGoのほうが敷居が低そう。