Railsって長期的な運用は不向きなのかなー
— たにー (@eng_o109) 2024年3月5日
そうなるとGoとか?(技術的負債が起きやすい?)
型書くのめんどう…笑
先日こんなツイートをしたんだけど、型を型を書く事になったとしてどんなメリットが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