PHPとRubyはどっちがいい?PHPエンジニアが語る言語選定

転職

こんにちは、現役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が採用されるケースは減りつつあるようです。

この件に関しては、勝俣健太さんが分かりやすく解説してくれています。

Rubyはオワコン?「滅びゆく5つのプログラミング言語」に関する所感。

動画の内容をまとめると

  • RubyはGithubのコントリビュータ数が減少、また海外求人サイトで2018年1年間の求人数が数十パーセント減ったというデータがある
  • 日本発祥の言語ということもあり、国内では根強い人気がある
  • 便利なライブラリの数が豊富で、迅速にサービスをローンチしたい場合はいいかも
  • サービス指向エンジニアを目指すのであれば、RubyとRailsでいいと思う
  • ただし、技術指向でありたいなら微妙


つまり、日本ではまだ信者もいて根強い人気はあるものの、将来的に考えると、サービス指向エンジニアでなければ最初の選択肢としては微妙だということです。

人気が落ちている背景はよくわかりませんが、サービス指向エンジニアという枠以外でも活躍したいなら、PHPを選択したほうがいいよな〜と思っています。

PHPとRubyはどっちがいいのかまとめ

  • 求人数はPHPの方が多い
  • 案件の種類で言うと、PHPはWebシステムやWeb制作、RubyはWebサービスが多い
  • 難易度は一緒
  • 世界的に見るとRuby(Railsも併せて)は落ち目ではあるが、サービス指向エンジニアなら選択肢としてアリ


初学者の時に重要だと思っているのは、いろんな言語に浮気せず、最初に決めた言語はある程度扱えるようになった方がいいということです。

何故かと言うと、プログラミング言語はどの言語も書き方と周辺の必要技術が違うだけで、言語構造は殆ど同じだからです。(オブジェクト指向言語は特に)ですので、まずはオブジェクト指向を理解できるぐらいまで一つの言語をやり込んでから、他の言語を学びましょう。

僕はRubyを中途半端に学習してPHPに移ったので、Rubyで学んでいたことをPHPの学習にあまり活かせませんでした。ですが、Rubyをやり込んでからPHPに移れば、随分PHPの学習は楽だったろうに、と思っています。

勉強会で聞いた!評判のプログラミングスクール3選
ポテパンキャンプ

【特長】
3ヶ月のスクール代を全額キャッシュバック!
実質無料で学べるプログラミングスクールです。

【こんな人にオススメ】
・Railsチュートリアルをやり切った
・お金はないがやる気はある
・Ruby/Railsを中心に学びたい
・初心者の域を脱したい

TECH::EXPERT

【特長】
600時間の学習!
スパルタカリキュラムで高収入な転職を実現させるプログラミングスクールです。

【こんな人にオススメ】
・最短最速でエンジニア転職したい
・今の環境をいますぐ変えたい
・お金があってやる気もある
・もう挫折したくない

DMM WEBCAMP

【特長】
転職成功率98%
基礎からプロダクト制作まで徹底したカリキュラムで学べるプログラミングスクールです。

【こんな人にオススメ】
・Web系企業に就職・転職したい
・インフラ系からスキルチェンジしたい
・短期間で集中して学びたい
・チーム開発を学びたい

転職 PHP Ruby on Rails
この記事を書いた人

元専業アフィリエイター・ブロガー。
現在はWebエンジニアの26歳。
運営メディアは月間150万pvを超えたことも。

YUUKIをフォローする
シェアする
YUUKIをフォローする
YUUKIのWebエンジニア道