Goが本当はすごかったので謝罪する

Goを一目見た時、糞だと思った。何もクールでなく、挑戦もしておらず、学ぶ価値のない言語だと思った。

この点でRustは違ったし魅力的に見えた。

今も、Goから学ぶことは何一つないと思ってるし、実際そうだと思うが、チュートリアルを終えてGoは私の中で、今一番この言語で仕事をしたい言語となった。Goを書きたい。あらゆるところでGoは糞だと吐き捨てていたので不愉快に思ってたGo関係者のみなさまにこの場で謝罪して手のひら返しをしたい。


Goは、CとPythonが基本的に分かっているならば簡単に理解出来る言語だ。Cの知識も要らないかも知れない。メモリをいじることもないし、ポインタという概念もあってないようなものだ。つまり、プログラマだったら誰でも書ける。それでいて、これらのむちゃくちゃ使われてる言語に対する不満を、絶妙なバランスで黙らせることが出来る。Goは、OSSの世界で成功することにもっとも力点を置いた戦略なのだと思う。天下のグーグル様が作っているという点もこの野望を手助けする。

以下私がGoについて良いと思った点:

  • ツールが素晴らしい。go getの存在がツールの発達を助けている
  • Vimサポートがやばい http://qiita.com/shiena/items/870ac0f1db8e9a8672a7
  • インストールが恐ろしく簡単(all.bashでビルドしてパスを設定するだけ。go getのおかげでvim-goもその依存ソフトウェアを自動的にダウンロードしてくれる…)
  • 言語がシンプル。whileがなくてforだけで済ますとか。Pythonのように、誰が書いても同じになることを美徳としてるのだろうか
  • Tour of Goが最高すぎる。逆にいうと、この程度のチュートリアルで理解してもらえるほどシンプルに作ったということ。Rustならこの100倍は必要だ(そして結局、応用が出来るほどには理解出来ない)
  • メソッドを実装すればinterfaceを実装したことになるというのは良い。動的言語野郎を誘いこむ蜜なのだと思う
  • goroutineは良い。こういうメッセージパッシングを言語サポートしてないものは、計算が一つのマシンで閉じることがすべてではない現代において、採用すること自体がリスクなのではと思う

Goを書きたい。Goを書くのは快適だと思う。会社でGoを使うプロジェクトを立ち上げられないものだろうか。

エクセサイズとして、Go版のcoreutilsに手を挙げておいた

Rustのように苦戦することなく、一瞬で終わると思う。気持ちがノッてきたらむちゃくちゃ貢献するかも知れない。他のプロジェクトにも暇さえあれば貢献していこうと思う。


このエントリーをはてなブックマークに追加

See also