🐭
Goって何がいいんだっけ?
Goって静的型付けで処理速度早いのが特徴でしょ?と、ざっくりしかイメージできていなかったので、具体的にどんなメリットがあるのか?調べて見たのでそのメモ
1. 処理速度が速い
プログラミングの実行には、「インタプリタ」と「コンパイル(ラ?)」の2種類があって、インタプリタ(Ruby, Pythonなど)は、コード1行ずつ翻訳→実行をするのに対し、コンパイル(Java, Go etc)は、全て翻訳してから実行する。という違いがあって、
なので、コンパイル方式のほうが効率がよくて、速いというわけらしい。
(そう考えるとRubyとかってめっちゃ非効率なのね。。)
2. 統一性のあるコードになりやすい
Goは、型指定やシンプルな構文であるため、開発者の癖のあるコードが生まれにくいよう。
なので、規模の大きい会社だと良さそうですね
3. エラーに気づきやすい
型を書くから、事前にエラーに気づきやすい。
ただ、個人的には型を書く手間と型によるエラー検知のしやすさを比較したときに、メリットとしては少し弱いと思っている。
(動的なRubyでもそこまで困っている訳ではないこともあり)
終わり
メリットを考えると、大規模サービス・チーム人数が多い・高速なやりとりを必要とするサービスとかだとGo(コンバイル言語)は向いてそう。
ただ、Ruby(Rails)のサービスを形にする速度は、やはりピカイチな気がするので、MVP(必要最低限の機能を備えリリース)して、ユーザの反応見て運用していけそうであれば、Goとかにリプレイス(移行)していく。という流れとかも良さそうです。
参考
ちなみにGoのマスコットキャラクターは、「ゴーファー」くんといって、ホリネズミ🐭らしいです
Discussion
ハリネズミじゃなくてホリネズミです!
ありがとうございます!!