Rubyの需要は高い?将来性は?

Rubyは昔から愛されているプログラミング言語です。

しかし、Rubyはそろそろ時代に合わないのではないかという意見も、ソーシャルメディアや一部のテック系掲示板などで話し合われることがあります。日本人が作り、海外でブレイクし、逆輸入の形で人気に火がついたRuby。ではそのRubyの需要はどのようなものなのでしょうか。

Rubyは、Ruby単体でプログラムを組むこともできれば、Ruby on Railsというフレームワークを使って大規模プロジェクトを組み立てることもできます。また、mrubyを使えば、なんと組み込み型Rubyも実現可能なのです。

そんなパワフルなプログラミング言語であるRubyの特徴をみていきましょう。

Rubyが世の中に登場した経緯

Rubyが世の中に登場したのは、なんと1998年頃のことです。まだ1998年といえば、世の中はWindows一色。そして、Macは高いだけで故障も多く、コンピュータを愛する人たちの第一選択にはなっていませんでした。

さらに、Rubyが登場した頃、コンピュータシステムは、クライアント-サーバ型でした。つまり、メインフレーム型のシステムを引きずっていたのです。Windows95が登場するまで、メインフレームが活躍していました。中央のコンピュータで、端末はほぼアクセスするだけでできることはごく限られていたのです。

そんな中で、Windows95とWindowsNTサーバが登場し、クライアント-サーバ型の時代になります。少しクライアントマシンにも、スペック的なゆとりができてきたのです。さらに、ムーアの法則にしたがって、どんどんコンピュータは高性能になっていき、2000年頃にはインターネットブームがやってきて、多くのコンピュータが世間にいきわたりまた常時接続もスタートします。しかし、開発は依然としてUNIXが主流で、のちにオラクル社に買収されるサン・マイクロシステムズのSolaris、そしてLinux、FreeBSDといった、UNIX系OSで開発が進められることが多かったのです。

そんなころ、Rubyは誕生しました。オブジェクト指向をよりパワフルに学ぶことを目的としたRubyは、まつもとゆきひろ(Matz)氏によって、ひっそりと生まれたのです。UNIX上で簡単にコンパイルできて実行が可能なRubyは、まず海外で人気となりました。

なぜRubyの需要が高い?

ではなぜ、Rubyの需要が高いと考えられるのでしょうか?

それはまず、シンプルで書きやすいという、実装上のメリットがあります。Rubyを少し書いてみるとわかりますが、日本語との親和性が極めて高く、まるでドキュメントを作っているかのように、違和感なく実装が可能です。

そして、オブジェクト指向が手軽に学べるという点も特徴的です。 Rubyは書きやすく、書いていて楽しい言語ですので、書けば書くほど、Rubyコードの品質が上がっていくのです。またストレスもありません。

「Rubyを書いていると楽しい」そんな気持ちがあるからこそ、これだけ多くの人に需要があるのではないでしょうか。

そして、当初からオブジェクト指向プログラミングを前提として開発されたRubyは、少し複雑な世界観を表現する手段であるオブジェクト指向において、非常に学びやすいのです。すべてがクラスとして表現されており、クラスやポリモルフィズム、カプセル化などが最初から実装されており、世界観を表現しやすくなっています。

すでにRuby on Railsで開発された案件が多い

Rubyはすでに一定の地位を築いているプログラミング言語です。まわりでも、Rubyを得意としているエンジニアが多いのではないでしょうか。Ruby on Railsで組まれたシステムもすでにたくさん存在し、その結果として、Rubyエンジニアの数が増えたのです。なぜRubyを選択するのかという背景はさまざまです。トップのCTOがRubyエンジニアだからという理由のこともあれば、比較的初心者でも付き合いやすい言語という理由であったり、経験者が多いので大規模案件に人をアサインしやすい言語であるということもあったりします。

そしてその結果として、Rubyエンジニアが市場に増え、それに従って案件の数も増えるという形です。すると、「Rubyの需要は今後、メンテナンス・運用案件だけになる?」といった不安が起きるかもしれません。

そうではなく、エンジニアが多いことで、新規の言語への切り替えコストが増大してしまうので、Rubyを使い続けるという選択肢が生まれるのです。よって、Rubyエンジニアが多い以上、Rubyの需要があるということではないでしょうか。

なにより、昨今は日本全体が人手不足です。さらに、エンジニアはなおのこと人手が足りていません。よって、Rubyエンジニアが多いのであれば、Rubyで開発しよう、という流れになるのは極めて自然だと考えられます。

プロトタイプから本格運用が早い

Web開発の現場において、まずフロントエンドエンジニアがプロトタイプを作成するというケースが非常に多くなっています。特に、大規模開発は「画面設計」からスタートしますが、同時に小規模開発もまた、「プロトタイプの作り込み」を重視するのです。

これは、画面がみえておりデザインやUIがわかったほうが、完成形へのクライアントのイメージが鮮明になり、意見も出しやすかったりします。あとはバックエンドを作り込めば、システムはいちおう動くからです。一応と表現したのは、システムを正常に動かすためには他にも必要なことは多々あるからです。

アジャイル開発とRubyはこうしたスピーディな開発に向いており、ウォーターフォール型と比べて、迅速にプロトタイプを開発することができます。

しかし、プロトタイプを作ってプレゼンテーションすることは、その後の開発工程を非常に楽にしてくれます。Rubyはそのフロントのプレゼンテーションにぴったりなのです。

プロトタイプと言っても、フロントエンドエンジニアが作成したRubyプログラムを、実際のプロジェクトGOサインがでたら、実装し、作り込むことができます。そのまま公開できてしまうのです。

さらにはRubyで作れば実装も非常に早いため、サービスをスピーディに展開できます。インタプリタ型には及ばないものの、コードを書いてからのスピードは、Pythonの次ぐらいに早く、C++などのしっかりとしたコンパイラを通す言語に比べて、開発も早くなります。

APIも随時提供

そして、各クラウド系企業からのAPI提供も、Rubyなら数多く提供されています。ユーザー数が多いすなわちエンジニア人口が多いということは、需要と供給が高いレベルでマッチしているということであり、そんな市場に対しては、各サービスプロバイダなどもAPIを投入せざるを得ないのです。

その結果、Rubyをサポートする企業が増え、選択肢として検討されるので、Rubyの需要は依然として大きいものと考えられます。さらには、「Rubyのサポートは終了した」という話もありません。

これが、たとえば昔はやったプログラミング言語であるPerlやDelphiなら、もうサポートを終了した企業は多くなっていることでしょう。しかし、Rubyはその兆しがいまのところみえませんし、よりRubyの需要が高まっていく方向性のほうが強いのです。

Rubyの需要がなくなるとしたら

しかし、楽観視もしていられません。「Ruby離れ」が起こる可能性は充分あるのです。なぜなら、すでに登場して25年が経過し、設計思想と現代のシステム設計の潮流が合わない可能性は充分あるからです。

現に、20年前はDelphi、15年前はPerlがとても可能性のある言語で、これさえ学んでおけば大丈夫かのような勢いを持っていましたが、現在ではほぼ使われていません。また、非常にニーズが高いと考えられたCOBOLやJavaも、いまでは少し時代とずれているかのように扱われることもあります。

このように、将来的に需要がなくなるケースは十分考えられますので、そのあたりはしっかりリスクヘッジしておく必要があります。

https://stackoverflow.blog/2017/10/31/disliked-programming-languages/

このSTACK OVERFLOWの調査にあるように、Rubyは「嫌われている言語」の上位にあることも考えられますので、Ruby一本で勝負、というのは避け、複数の言語を学んでおく必要があります。なぜなら、そろそろ言語として「枯れて」来ている可能性があるからです。時代に合うべく進化してきたRubyではあるものの、1990年台に登場しているため、発展には限界があります。しかし、オブジェクト指向そのものが廃れるという可能性は少ない上、一度Rubyが書けるようになったら、将来的に他のプログラミング言語に移行することはそれほど難しくありません。

開発言語の人気ランキングというものは、各社毎年発表し、Rubyはつねに高い位置にいます。しかし、Python人気に押されて、1位になることはあまりありません。それはつまりPythonのほうが、時代にあっているということでもあります。スピード、簡単さ、再現のしやすさと言った、現代の需要に合致した言語がPythonでもあるのです。

栄枯盛衰とはいっても、Rubyの需要はなくならないとは考えられます。しかし時代の移り変わりを十分チェックしていく必要があるのではないでしょうか。

おすすめ案件

フリーランスエンジニアの案件をお探しします!
上記案件のほか、非公開のRuby案件も多数あります