YouTube版はこちら!
こんにちは、現役PHPエンジニアのYUUKIです。
以前、最初に覚えるプログラミング言語の選び方という記事を上げましたが、初心者は数ある言語の中でも、簡単だと言われているWeb系言語に目がいくと思います。
Web系言語として有名なのはPHPとRubyですが、これからWebプログラミングを始めようと思っている方は、最初に選ぶ言語はどっちがいいのか、迷っている方も多いと思います。
そこで、初心者はRubyとPHPどっちを選んだ方がいいかお話します。
求人数で考えてみる
プログラミングを学ぶ目的の一つに「転職」があると思います。
この記事を見ている皆さんの中にも転職を検討している人は多いと思いますが、転職する上で言語選定は非常に重要です。なぜなら、言語によって案件の種類や業務内容に違いがあるからです。
という訳で、転職を前提にPHPとRubyのどちらがいいか考えていきましょう。
まず、両言語の求人数を比較してみました。
調査に使ったのは、Greenという求人媒体です。


RubyよりPHPの方が1.52倍多いですね。
となると、単純に考えればPHPを選んだ方が転職は上手くいきやすい、という結論になります。
一体何故、RubyよりPHPの方が求人数が多いのでしょうか。一説にはソシャゲ業界が盛り上がった時に、PHPのデファクトスタンダードな開発環境である「LAMP」で求人を打った方が、採用が上手くいった(人が多く集まった)から、企業側がPHPを採用するケースが増えたそうです。
実際、僕もLAMP環境と言われると安心します。一方で、Rubyだと開発環境のイメージはしにくいですね。

案件の内容で考えてみる
求人数はPHPの方が多くても、案件の内容はどうでしょう。
これは求人媒体からの情報ではなく、私の転職活動での実体験によるものですが、PHPとRubyの案件内容は以下のような違いがありました。
言語 | 案件の数 |
PHP |
Webシステム > Web制作 > Webサービス |
Ruby |
Webサービス > Webシステム |
PHPの特徴としては、Webシステム案件が豊富ということです。WebCRMなど、顧客を管理するシステムにはPHPが使われていることも多いです。最近は、Laravelの台頭によりWebサービスの運営でも採用されるケースが増えてきました。
また、CMSでは圧倒的シェアを誇る「WordPress」にPHPが使われていることから、Web制作案件も多いです。Web制作でお問い合わせフォームの作成と言うと、高確率でPHP案件になります。PHPにはHTMLに埋め込むタグ<?php ?>が付いているので、Web制作ではHTMLと併用してPHPが使われることが多いですね。
一方、Rubyは中規模以下のWebサービスで使われることが多いです。その理由として、RubyはRuby on Railsというフレームワークとセットで使われることが多く、Rails自体が大規模ではなく小規模なWebサービス運営に向いていることが挙げられます。
Webシステムでは一部、Rubyが使われることもあります。スタートアップのWeb系企業では、Railsを採用しているケースが多いですね。
という訳で、Webシステム系でいきたいならPHP、Webサービス指向でいきたいならRuby、と考えるといいかもしれません。ただ、結局どちらでも同じことができるので、固定概念に縛られることなく自分の好きな方、向いている方を選びましょう。
難易度に差はある?
PHPとRuby、習得に難易度の差はあるのでしょうか。
僕はどちらも経験しましたが、結論どちらも同レベルです。
なぜなら、どちらもインタプリタ言語で、Webサーバがあれば動くからです。
言語の難易度というのは、言語構造がより複雑化どうかということも関係あるとは思いますが、それよりも、その言語で書かれたプログラムを動かすのにどれだけ周辺知識が必要か、ということが関係すると思っています。
例えば、JavaScriptはフロントエンド言語でテキストエディタとブラウザさえあれば動く言語なので、PHPやRubyよりも簡単だと言えます。
一方、PHPやRubyはサーバーサイド言語で、動かすにはApacheなどのCGI規格のWebサーバが必要です。他にも、DB連携するのにRDBMSの知識や、値を保持するセッションやクッキー、セキュリティの知識も必要です。そう考えると、両方ともかなりの周辺知識を必要としますので、ぶっちゃけ僕は簡単ではなく難しいと思っています。
ちなみに、Javaなどのコンパイル言語や、Cなどのメモリの周辺知識を必要とする言語はかなりの難易度です。僕は使ったことありません。
主な言語の難易度で比べると
JavaScript < PHP・Ruby < Java < C
という見方で大方落ち着くと思います。
最近はRubyが落ち目(らしい)
Rubyは日本生まれの言語で、日本人には信者も多いですが世界的に見るとRuby、RubyonRailsが採用されるケースは減りつつあるようです。
この件に関しては、勝俣健太さんが分かりやすく解説してくれています。
動画の内容をまとめると
|
つまり、日本ではまだ信者もいて根強い人気はあるものの、将来的に考えると、サービス指向エンジニアでなければ最初の選択肢としては微妙だということです。
人気が落ちている背景はよくわかりませんが、サービス指向エンジニアという枠以外でも活躍したいなら、PHPを選択したほうがいいよな〜と思っています。
PHPとRubyはどっちがいいのかまとめ
|
初学者の時に重要だと思っているのは、いろんな言語に浮気せず、最初に決めた言語はある程度扱えるようになった方がいいということです。
何故かと言うと、プログラミング言語はどの言語も書き方と周辺の必要技術が違うだけで、言語構造は殆ど同じだからです。(オブジェクト指向言語は特に)ですので、まずはオブジェクト指向を理解できるぐらいまで一つの言語をやり込んでから、他の言語を学びましょう。
僕はRubyを中途半端に学習してPHPに移ったので、Rubyで学んでいたことをPHPの学習にあまり活かせませんでした。ですが、Rubyをやり込んでからPHPに移れば、随分PHPの学習は楽だったろうに、と思っています。