📌

Ruby・RailsエンジニアがGoを触って感じたこと

2023/12/22に公開

これは株式会社SUPER STUDIO Advent Calendar 2023の22日目の記事です。

https://qiita.com/advent-calendar/2023/superstudio

はじめに

株式会社SUPER STUDIOのCTO室で働いてる齋藤です。
入社以来、約3年半ほどRuby・Railsを触ってきましたが業務でGoを触る機会があったのでその時に感じたことを振り返ってみようと思います。

Ruby・RailsとGoの違い

型の制約が厳しい

当たり前ですが、Rubyは動的型付け言語でGoは静的型付け言語です。
知識としてこの違いは知っていても実際触ってみると、型と違う値が渡ってきたら今まではエラーにならなかったものがエラーになるようになるのでやはり普段から型を意識せずともある程度開発できてしまっていたんだなということを感じる機会が多かったです。

例外処理がない

Rails書いてた時ももちろんエラーハンドリング自体は行っていましたが、多くのケースを例外として処理していましたがGoはエラーハンドリングを全て網羅して行う必要があり、ハンドリングができていないエラーは通常のエラーになります。
これも結構衝撃でした。

結論

まだ少ししか触ってないですが、自分自身、業務コードは、ある程度統一性を持たせたい思想で自由度が高いコードとかは、日頃不具合対応や障害対応などのトラブルシューティングを行っている身からすると書きたくない派(自由度が高いコードは趣味とか個人開発で書けば良い派)なのでGoはある程度統一性もとれて堅牢なコードが書けるなと思ったので自分の性格や思想にマッチした言語だなと感じました。

反面Rubyと比べるとコーディング難易度は上がるなという感覚ですが、フロントエンドでもReact(Next.js)・TypeScriptがデファクトスタンダードで採用されるのが今だと結構多いので型を意識して開発できるようになるのはエンジニアとしての成長や市場価値的にも大きいかなと思うのでえ今後も頑張って書いていこうと思います。

Discussion