🐭

Goって何がいいんだっけ?

2024/07/20に公開
2

Goって静的型付けで処理速度早いのが特徴でしょ?と、ざっくりしかイメージできていなかったので、具体的にどんなメリットがあるのか?調べて見たのでそのメモ

1. 処理速度が速い

プログラミングの実行には、「インタプリタ」と「コンパイル(ラ?)」の2種類があって、インタプリタ(Ruby, Pythonなど)は、コード1行ずつ翻訳→実行をするのに対し、コンパイル(Java, Go etc)は、全て翻訳してから実行する。という違いがあって、

なので、コンパイル方式のほうが効率がよくて、速いというわけらしい。
(そう考えるとRubyとかってめっちゃ非効率なのね。。)

2. 統一性のあるコードになりやすい

Goは、型指定やシンプルな構文であるため、開発者の癖のあるコードが生まれにくいよう。

なので、規模の大きい会社だと良さそうですね

3. エラーに気づきやすい

型を書くから、事前にエラーに気づきやすい。

ただ、個人的には型を書く手間と型によるエラー検知のしやすさを比較したときに、メリットとしては少し弱いと思っている。
(動的なRubyでもそこまで困っている訳ではないこともあり)

終わり

メリットを考えると、大規模サービス・チーム人数が多い・高速なやりとりを必要とするサービスとかだとGo(コンバイル言語)は向いてそう。

ただ、Ruby(Rails)のサービスを形にする速度は、やはりピカイチな気がするので、MVP(必要最低限の機能を備えリリース)して、ユーザの反応見て運用していけそうであれば、Goとかにリプレイス(移行)していく。という流れとかも良さそうです。

参考

https://findy-code.io/engineer-lab/go-findy-event-2
https://runteq.jp/blog/programming-school/language/12486

ちなみにGoのマスコットキャラクターは、「ゴーファー」くんといって、ホリネズミ🐭らしいです

Discussion