プログラマーの雑レポート

脳死で読めるコードを書きたい

Goって何がいいの?

Gopher(ゴーファー)くんっていうらしいよ

先日こんなツイートをしたんだけど、型を型を書く事になったとしてどんなメリットがGoにはあるの?とふと疑問に思ったので、調べてみる事に。

1. 処理速度が速い

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

なので、コンパイル方式のほうが効率がよくて、速いというわけらしい。

そう考えるとRubyってめっちゃ非効率の人みたいじゃん。。

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

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

これは良さそうだね。そこそこ人数がいるチームとかであれば、なおさら。

正直触ってみないとどこまで統一性があるかわからないけど、確かにRubyは癖が出やすいのかもしれないから、良さそうだね

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

型を書くからね。

ただ、型を書く手間を考えると個人的には、メリットとしては弱いと思っている。(動的なRubyでもそこまで困ってない)

終わり

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

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

後もう一つのメリット忘れてた。

マスコットキャラクターがいるということ

ルビーちゃんとか作って

参考

GoとRubyの言語特性を理解して構築した“いいとこどり“アーキテクチャとは? - Findy Engineer Lab 【RubyとGoの将来性・平均年収・求人数を徹底比較】学ぶべきなのはどっち?|未経験からWebエンジニアへ RUNTEQ BLOG