単機能のSlack BOTとかコマンドラインツールとかは最近ずっとGoで書いている。なんで書いているのかまとめてみた。
静的型がある
型システムとしてはまだ弱い、とか、冗長すぎる、という意見があるかもしれないけど、ないよりはマシだと思っている。 静的解析でエディタで書いてるそばから型エラーを検出できるし補完が効いて便利。
ライブラリがある
PythonとかRubyとかを使うときとだいたい同じ感じで、欲しいライブラリを探して使うことができる。 今のところライブラリが足りなくて困るといったことに出くわしたことはない*1。
最近はgo modulesも入っていよいよGOPATHのことを忘却して好きに書けるようになった。
ワンバイナリで動く
LLだとどうしても、依存ライブラリを入れて、処理系のバージョンを揃えて、みたいなことをやる必要があるけど、Goはコンパイル済のバイナリを実行すればよいので楽。 コンパイルオプションがんばって指定しなくてもデフォルトでスタンドアロンビルドになるのは何も考えなくてよい。
*1:ライブラリの実装が雑で困ることはある