ディープロ

2019年9月21日

Rubyはどのくらい使われているのか、今後廃れゆく言語なのか?

Rubyは今後廃れゆく言語なのか?という疑問を統計データの観点などから解説していきます。Rubyは本当に廃れていくのか?プログラミング言語を学ぶときには、どういった基準で判断すべきか?不安な気持ちを持っている方たちの疑問にお答えします。

今回は「Rubyは今後廃れゆく言語なのか?」という疑問について、統計データの観点などから解説していきます。「Rubyは本当に廃れていくのか?」「プログラミング言語を学ぶときには、どういった基準で判断すべきか?」などの不安な気持ちを持っている方は、ぜひご一読ください。

【こんな方におすすめ】
・Rubyに興味があるけど学び始めの一歩に躊躇している方
・Rubyを学んでいることに不安な気持ちを持っている方
・どのプログラミング言語を学べばよいのか迷っている方

【目次】
1.Rubyは廃れていくのかを考える
2.どんなエンジニアになりたいかで学ぶべき言語は決まる
3.Ruby以外の言語の使われ方
 ・新人エンジニアの登竜門:JavaScriptでのフロントエンド開発
 ・PHP、Ruby、JavaScriptでのバックエンド開発
4.仕事の母数が多いPHPか、直観的で分かりやすいRubyか?
5.まとめ

■話し手
ディープロ 代表 野呂 浩良
■聞き手
StartGate 永田 拓也

Rubyは廃れていくのかを考える

今回は、「Rubyは今後廃れゆく言語なのか?」というテーマでお話を伺います。プログラミング言語には「流行り廃り」があり、Rubyはどうなのかが気になる人も多いようです。これから勉強するなら広く使われている言語の方が良いという考え方もありますが、いかがでしょうか?

「Rubyは廃れゆくのか?」ということを判断するには、事実から見ていかなければいけません。そこでまずは、Rubyに関する統計的なデータからお話していきましょう。まず「TIOBE Programming Community Index」というランキングサイトがあるのですが、ここで「Rubyがどのくらい使われていくのか?」をさまざまな側面から見ることができます。例えば、Rubyが全世界中のプログラミング言語の中でどの程度「検索」されているのか、というデータを見ると、2019年8月時点で11位にランクインしています。去年は15位ぐらいだったので、このデータでは上がっている傾向にあるのです。

上がっているんですね。

もうひとつご紹介したいのが「Stack Overflow」という、コンピュータやIT技術、プログラミング技術に関するQ&Aを見られるWebサイトです。ここではRubyに関する内容がどのくらい調べられているのかを見られます。Rubyについては2015年では全体の8%だったのが、2016年が8.9%、2017年は9.1%、2018年は10.1%と上がってきているんです。2019年は8.4%で少し下がっていましたが。少なくとも、こういった統計的なデータから見てみると、Rubyが廃れている、という様子は見えてきませんね。

どんなエンジニアになりたいかで学ぶべき言語は決まる

廃れている様子は見えないとなると、Rubyを今から学ぶことは全然「有り」ですか?

そうです。ただし「何を目的に学ぶのか」を忘れてはいけません。検索の割合が8%というお話をしましたが、Rubyよりもシェアが高い言語は他にいくつもあります。ではどの言語のシェアが高いのかというと、先程の統計データからはJavaScriptSQLCPythonなどが挙げられます。

多くの人が取り組んでいる言語の方が情報がありそうですしね。

そもそも、「どんなシステムを開発するのか」という観点からも、扱うべき言語はほぼ決まってきます。例えば公共のシステムを作る場合は、規模が大きくかつ間違いが許されないので厳密な定義ができたり、開発者が動作などをきちんと保証してくれる必要があります。となると、オープンソースの言語ではなくライセンス保証ができるものを使わなければなりません。となると、この場合はRubyは使われませんね。

なるほど。

ではRubyはどのような場面で使うのかというと、例えば初めて取り組む分野であるとか、早く開発をしたいというような場合などの、「0から1を生み出したい時」に好まれる傾向にあります。これはRubyは書き方が直感的で、厳密に細かくコードを書かなくてもある程度短い文字で表現できて、スピード感を持って開発できるからです。オープンソースであることもメリットですね。

使う場面や用途によって扱うべきプログラミング言語が変わる、ということですね。

Ruby以外の言語の使われ方

新人エンジニアの登竜門:JavaScriptでのフロントエンド開発

Ruby以外の言語の使われ方についても話をしましょう。まず、JavaScriptはどのWebアプリケーションでも必ず使われます。例えばWebサイトにアクセスしたときに、画面をスクロールすると「上に戻る」というボタンが出てきたりとか、あとはボタンをポチッと押すと画像が変わったりとか。そういった「フロントエンド」と呼ばれるような見た目の動きがJavaScriptで表現されているんです。そう考えると、少なくともWebアプリケーションの世界では、JavaScriptはちゃんと学んでおいた方がいい、という話になります。

これはプログラミング言語の流行り廃り、といった話ではないんですね。

この世界の新人になると「ちょっとここ直しといてくれる?」といった具合に任されることも多いんです。なぜなら、もし間違っても致命的な故障にはなりにくいから、新人に任せやすいんですね。

PHP、Ruby、JavaScriptでのバックエンド開発

一方で「バックエンド」という、ボタンをプツッと押したらコンピュータの裏側で処理が行われてそこから戻ってまた画面に表示される、という部分(サーバ内の計算処理)で使われる言語については、PHP、Ruby、Java、Python、JavaScriptなどが使われます。

なるほど。PHPはよく聞くのですが、どんな違いがあるのですか?JavaScriptはフロントエンドで使うと聞きましたので、それも気になりますね…。

あくまで私の意見でいうと、まずPHPはWebサイトの開発製作をする際に多くの人たちに好まれて使われてきた、という歴史があります。例えばWordPressでもPHPが使われているので、CMSをちょっと加工したいといった人にも使いやすい。すると、そこからスキルアップしてPHPで書く、というルートを辿る人が多くなる。そのような連鎖があるから、ユーザーの母数も多いんだと思います。

Rubyは「Ruby on Rails」が登場してから、Webアプリケーション開発で使われるようになったという歴史があります。そのため、Ruby on Railsが好きな人がよく使う、というイメージです。一方で、PHPをやってた人がRubyをあえて使う、ということはそんなに多くないでしょう。ですから、PHPと比べればRubyの方がまだ少ないのかな、と思います。

JavaScriptは、「Node.js」という、バックエンドの環境でもJavaScriptを動かせる技術が登場してから、バックエンドでもフロントエンドでもJavaScriptを使うという開発の仕方ができるようになりました。JavaScriptをバックエンドで使うのは、これから事例が増えていくかもしれませんね。

「この言語が主流!」とか「これから流行る!」といったことは、一概には言えないんですね。

仕事の母数が多いPHPか、直観的で分かりやすいRubyか?

もし仕事をもらうことだけを考えると、PHPをやっていた方が仕事の母数が多いのは事実です。一方でRubyにはRuby on Railsの使いやすさとか、日本人が開発した言語だから資料が揃っているとか、書いてて楽しいといった良さがあるんですよね。特に書き方の面では、PHPよりもRubyの方が、書いていて楽しいと思います。

初心者がプログラミング言語の世界にダイブするのであれば、Rubyが直感的で分かりやすいということですか?

そうですね。プログラミング言語は、どれかひとつを知ってさえいれば、他の言語に転向することがそんなに大変ではないんです。なので使われ方とか統計データなどはあまり気にせずに、まず1年目、2年目はひとつの言語をしっかりと学んで、その上で他のプログラミング言語に転向してみたければ、やってみればいい。

「何が流行るんだろう?」ということを考えるよりも、早く取り掛かってしまった方がいい、ということですね。

まとめ

・統計的なデータから見れば、Rubyが廃れているという様子は見えてこない
・Rubyを今から学ぶことは「有り」だが「何を目的に学ぶのか」ということを忘れてはいけない
・使う場面や用途によって扱うべきプログラミング言語は変わる
・プログラミング言語は、どれかひとつを知ってさえいれば、他の言語に転向することができる

今回は「Rubyは今後廃れゆく言語なのか?」という疑問を統計データの観点などから解説していきました。もちろん上がったり下がったりの変化こそあるものの、現時点ではRubyが今後廃れていく言語であるという確証はありません。そういったことを心配するよりも、「そもそも自分がどういった領域でプログラミングを扱いたいのか」といった観点からプログラミング学習などに望むのが得策といえるでしょう。

ディープロの公式HPこちら

ディープロのオンライン個別説明会 & 相談会予約こちら

オンラインプログラミング学習サービス DIVER Learningsこちら

ダイビックのことをもっと知ってみませんか?