Goについて
プログラミング言語Goの情報サイトであるgolang.jpさんに書いています.Googleさんが発表したオープンソースのプログラミング言語になります.
自分が特に抜粋するならば,以下の二点になります.
シンプルさ
大規模なシステムにおいて,属人性(個の技術スキル)による複雑な実装は,運用やメンテナンスを難しくさせます.
Goには,継承・Generics・例外が実装されていません(参考記事).また,ループ処理を例にあげると,他の言語だとfor・ while・do/whileなど選択肢がありますが,Goでは,forしか実装されていません.このように,プログラマーによる表現の違いを抑制することができます.
このことから,初学者でも取っつきやすいと思っています.自分を例に出すと,APIサーバを作ろうとなった時に,Java, Scala->Pythonなどを学んできましたが, Goの学習コストの方が低いですし,モチベーションが上がりました.システムを開発している方達でも,多人数で精度やばらつきを維持するプログラムを生産していくのは難しいと思います(ペアプロやモブプロもありますが).
高速さ
開発において,速度は重要です.
ここでいう開発速度は,プログラミング言語のパフォーマンスではなく,チームとしての開発速度になります.
特にプログラムのビルド時間は特に重要であると考えています.実装したシステムを開発環境やステージング環境で動かしたいことを考えてみて下さい.経験した方もいると思いますが,規模の大きなシステムになる程ビルド時間はものすごい量になります.
下記は,C#とGoで同様の処理のプログラムを書き,ビルドを行なった結果です.
C#ももちろん好きです
結果
C#の2分の1ほどの速度で実現できています.
- C#: 約447秒
- Go: 約200秒
まとめ
プログラミングを初めて3年ほど経ち,チーム開発を何度か経験してみてGoはいいなと思ったので本記事を書かせていただきました.興味のある方はぜひ試してみて下さい!