こんにちは、穂苅智哉と申します。
このコラムでは、Ruby on Railsについての最新情報やRails試験に関する内容を取り上げていきます。
今回は、RubyとRails の関係性についてです。プログラム言語であるRubyとフレームワークのRailsは切っても切り離せない関係のため一緒に語られることもありますが、それぞれ別物です。Qiita Conference 2023におけるRuby開発者のまつもとゆきひろ氏の講演から観ていきます。
ソフトウェアの寿命
まず、ソフトウェアの寿命についての話です。私たちは、日々ソフトウェアを使い仕事や日常生活を送り、仕事では新しいソフトウェアの開発や保守運用などを行っています。テクノロジーの変化が非常に速い現在、毎年新しいフレームワークやツールが出てきている状況です。
ユーザーが触るアプリケーションベースだと2〜3年ほどで寿命を迎えて別のアプリケーションに代わっていくことが多いようです。
そして、フレームワークはアプリケーションを作る土台になりますが、フレームワークの場合は10年以上使われているものがそれなりの数ある中で、Ruby on Railsは20年を迎えようとしています。
フレームワークを使うためのプログラム言語の寿命でいうと、使われているものは数十年は存在し続ける傾向にあり、Rubyは現在30年です。
エンジニアは、言語やフレームワークを完璧にすることが目的ではなく、これは手段でしかありません。エンジニアとしての目的は、アプリケーションなどの成果物を世の中に作り出し、価値を作り出すところにありますのでソフトウェアの寿命を理解しておくことは重要です。
ソフトウェアの寿命の要素としてはいくつかの要素があり、1つがハードウェアやOSのスタンダードが変化してしまうことです。その他、ユーザーやスポンサーが減っていくこともソフトウェアの寿命に関係しています。
ソフトウェアの進化
このような状況の中、ソフトウェアも進化・変化していく必要があります。講演の中で面白かったのが、「水道モデル」です。
「水道モデル」とは、日本における水道のしくみに見立てた例のことで、家庭でお湯が必要だとした場合にも水道の契約だけでは、お湯までの利用はできません。水道が届けるのはあくまで水でしかなく、水をお湯に変えるのはユーザー側の手元の機能を使うことがほとんどです。ただ、私たちは現在の水道の契約に異論を唱える人はほぼおらず、満足している状況と言えます。
ここから、単に機能を増やしていくのではなく、安定したサービス提供や小さな改善を積み重ねていくことが理想だということです。
もう1つ、「サメモデル」という話もありました。これは、常に変化をし続けそれを提示していかないと衰退するというものです。泳ぐのをやめると死んでしまうサメになぞらえています。小さな改善を積み重ねつつ、安定したサービス提供をしていても、ユーザーからの注目やニーズがなくなってしまっては意味がないですからね。
「水道モデル」と「サメモデル」の2つをどのようにバランスするのかは私たちがソフトウェアを見ていく際の観点にすると理解が深まります。
Ruby と Rails
まつもとゆきひろ氏によると、Ruby on Railsは、現在言語やフレームワーク、ソフトウェアとしては安定期に入っていると言います。
「とにかくRuby on Railsがいい」という昔の状況よりも、今の安定した状態のほうがより長く社会に価値を提供し続けていける状況と言えるということです。
私たちもRuby on Railsを使うことで単なる流行りではなく、安定した言語とフレームワークのもとで各自の目的を達成することができますね。
Ruby on Rails の専門知識の取得を評価できる、「Rails 技術者認定試験」
Ruby on Rails の技術知識について、
- 高めたい
- 実力を把握したい
- 会社における基準の1つとして使いたい
などの皆様は、ぜひこちらのページもご覧ください。
Ruby on Rails の試験はこちらからもご覧ください。