「RubyとPHP、どっちの言語を勉強すべきなんだろう?」
「難易度や将来性にどれくらい違いがあるんだろう?」
これからWebエンジニアを目指そうという時に、こういった疑問を抱くことがあると思います。
Web業界のバックエンドで使用されている言語の二大巨頭であり、どちらを選択するのかによって後々のキャリアが変わってくるため、悩んでしまうのも当然のことでしょう。
この記事では、そんな疑問を解決するため、以下について解説していきます。
- RubyとPHPのメリット・デメリット
- それぞれの言語の平均年収や将来性
- Rubyに向いている人の特徴
- PHPに向いている人の特徴
結論、Webエンジニアを目指すならRubyとそのフレームワークのRuby on Railsを学習すべきです。
一方、Webエンジニアにこだわらずプログラミングを仕事にしたいという方は、Web制作会社やSIerのようなIT業界全体で求人数が多いPHPを学習すべきです。
RubyとPHPの違いを比較
RubyとPHPは、ともにWebにおける「バックエンド」の開発に多用される言語です。
バックエンドとは、サーバー内のシステム構築や、データベース設計・構築、サービス開始後の運用や保守といった作業を指します。
では、同じバックエンドで使用される言語であるRubyとPHPには、どのような違いがあるのでしょうか?
以下にて解説していきます。
Rubyの特徴
Rubyとは、「まつもとゆきひろ」という日本人によって生み出されたオブジェクト指向型のスクリプト言語です。
日本人が開発したプログラミング言語で、ここまで広く使用されているのはRubyのみです。
Rubyの特徴をまとめると以下のようになります。
- スタートアップ系の企業で多く採用されている
- コーディングルールが明確なためチームでの開発に向いている
- フレームワークがほぼ「Ruby on Rails」に限られる
- 実行速度がやや遅い
Rubyのメリット
特に大きなRubyの特徴は、フレームワークがほぼ「Ruby on Rails」に限られるという点です。
フレームワークとは、WebアプリケーションやWebシステムの開発を効率化するため、あらかじめ必要な機能が用意された枠組みや構造のことです。
当然ながら、開発を行う際には言語だけでなくフレームワークに関する知識も必要となってきます。
言語によっては多数のフレームワークが存在し、開発現場ごとにフレームワークが異なるというケースがあります。
その場合、都度都度採用されているフレームワークについて学ばなければならなくなり、一つのフレームワークを深く学ぶことが困難になってしまいます。
ところがRubyならば、Ruby on Railsを身に付けておけばOKという場合が非常に多いため、Ruby+Ruby on Railsについて深く学ぶことができます。
また、コーディングに関するルールがきっちりと決められているため、チームで開発する場合に進行がスムーズになりやすいというメリットもあります。
Rubyのデメリット
プログラミング言語には「コンパイル方式」と「インタプリタ方式」があります。
コードをすべて機械語に変換してから一括で実行
コード実行の際にプログラムを1行ずつ機械語に変換しながら実行
Rubyはインタプリタ方式となります。
そして仕組み上、インタプリタ方式の方が実行速度は遅くなってしまいます。
他の言語と比較した場合に処理速度が遅くなってしまうというのが、唯一と言ってもいいほどのデメリットでしょう。
PHPの特徴
PHPとは、世界中の多く企業で採用されているサーバーサイドのスクリプト言語です。
PHPの特徴をまとめると以下のようになります。
- Web開発で最も使用されている言語
- 世界的にエンジニアの数が多く、ネット上の情報量が豊富で自己解決しやすい
- コーディングルールが緩く、適当に書いても動作する
- フレームワークが多数存在する
PHPのメリット
PHPは、動的なWebページを簡単かつ迅速に開発できるプログラミング言語です。
そのため、世界的にエンジニアの数が多く、その分多くの情報がネット上に公開されています。
エンジニアにとって、自己解決は大前提です。
そんなエンジニアからすれば、わからないことやトラブルなどにぶつかった時でも、ネットで検索すれば多くの情報に触れられるというのは非常に大きな安心材料になります。
また、PHPを採用している企業が多いため、求人件数も多く、エンジニアとしての選択肢が広がるというのもメリットと言えるでしょう。
PHPのデメリット
PHPには、「適当に書いても動いてしまう」という特徴があります。
こう聞くと「動いてくれやすいのならいいのでは?」と長所のように思えるかもしれませんが、必ずしもそうとは限りません。
一人で開発を進め、一人で運用も保守も担当し続けるのならば問題ありませんが、チームで開発を行なう場合は、しっかりとしたコーディングルールがあり、開発メンバーがそれを遵守しなければバグが発生しやすくなってしまうという大きなデメリットが存在します。
従って、チームで開発するのには向かない言語と言えるでしょう。
また、使用するフレームワークが多いというのもデメリットとなってしまいます。
- Laravel
- CakePHP
- Phalcon
- FuelPHP
- Symfony
- CodeIgniter
PHPのフレームワークは、メジャーなものだけでもこれだけあります。
開発現場によって都度覚えなければいけないことがあるというのは、エンジニアに負荷がかかってしまいます。
作れるものの違い
RubyとPHPには、前述したようにそれぞれ特性があるため、どういったサービスを作るのに向いているかが異なります。
Rubyによって作られたサービス例
- クックパッド
- 食べログ
- Airbnb
- クラウドワークス
Rubyは、SNSやマッチング機能を備えたサイト構築に使用される傾向にあります。
また、先鋭的な企業ほどRubyを採用する率が高いです。
PHPによって作られたサービス例
- Wikipedia
- ぐるなび
- ココナラ
- Slack
PHPは、古いシステムから新しいWebサービスまで幅広く使用されています。
また、CMSの最大手であるWordPressも、PHPによって構築されています。
難易度の違い
言語自体の難易度は、RubyもPHPもそれほど大きな違いはありません。
どちらも未経験者からでも学びやすい言語となっています。
ただ、PHPの方がやや難易度が低くマスターしやすいと言われることが多いです。
しかし、Rubyの場合はフレームワークがほぼRuby on Railsに限られるため、一度身に付ければ環境構築が容易であるというメリットが存在します。
従って、「学びやすさ」について総合的に考えるとRubyに軍配が上がるかもしれません。
PHPの場合、フレームワークが多数存在するため、案件ごとに使用するフレームワークが変わることで浅く広く学習せざるを得なくなる、というケースも考えられます。
将来性があるのはRubyとPHPのどっち?
サーバーサイド言語の二大巨頭であるRubyとPHPですが、将来性についてはどちらに分があるのでしょうか?
求人数・年収・今後の需要に切り分けて見ていきます。
求人件数
大手転職サービスサイトである「レバテック」が2020年7月に発表した、言語別の正社員求人件数割合は以下の通りです。
順位 | 言語 | 求人件数割合 |
1位 | Java | 34.98% |
2位 | PHP | 16.43% |
3位 | Python | 9.43% |
4位 | JavaScript | 9.38% |
5位 | Ruby | 7.42% |
■参考:【2020年7月発表】プログラミング言語別求人案件ランキング
上記の通り、求人件数で見るとRubyとPHPでは約2.2倍の開きがあります。
求人サイト「インディード」でも、RubyとPHPのそれぞれの求人を検索してみたところ、以下のような結果となりました。
赤枠が検索ワード、緑枠が求人検索結果の数です。
ご覧の通り、Rubyが29,345件のヒットに対して、PHPは78,872件とRubyより約2.7倍も多くヒットしています。
求人件数で見ると、PHPの圧勝と言えます。
IT業界全体でみるとPHPの求人は非常に多いですが、Web業界のバックエンドエンジニアの求人でみるとRubyのフレームワークのRuby on Railsが最も多いです。
もし、Web系エンジニアへ転職を目指される方でしたら、Web業界で最も求人が多いバックエンドエンジニアを目指すべきですし、その時学習すべき言語はRubyとそのフレームワークのRuby on Railsです。
年収
TECH Streetの調査によれば、2020年のRubyエンジニアとPHPエンジニアの平均年収データは以下のようになってます。
年代 | Ruby平均年収 | PHP平均年収 |
20代 | 397万円 | 361万円 |
30代 | 520万円 | 467万円 |
40代 | 603万円 | 586万円 |
50代以上 | 585万円 | 547万円 |
また、「レバテック」にも以下のような記載があります。
2021年1月時点でレバテックフリーランスに公開されているPHPの求人・案件の平均月額単価は71万円です。この単価を12ヶ月分に換算すると、税金や保険料を引く前のPHPエンジニアの平均年収は852万円となります。
~中略~
Rubyの求人・案件の平均月額単価は2021年1月時点で79万円となっており、12ヶ月分換算したRubyエンジニアの平均年収は948万円と高水準です。求められるスキルの傾向としてはPHPと似ており、高単価案件を狙うのであれば、インフラやフロントエンドなどの幅広い知識を持っているとチャンスが多い傾向にあります。
レバテックの数字は、フリーランスとしての案件がメインのために金額が大きくなっていますが、TECH Streetとレバテック、どちらの調査においてもRubyの方が年収が高く、高年収を狙うのならばRubyの方がよいということがわかります。
Rubyは、Ruby on Railsが登場してから盛り上がってきた言語であり、PHPと比較すると開発現場で積極的に採用されはじめてから日が浅く、エンジニアの数もまだそこまで多くはありません。
PHPは、求人件数も多いですが、その分エンジニアの数も多いので人材のだぶつきが発生し、年収としてはやや控えめになりやすいのでしょう。
今後の需要
Rubyは、Ruby on Railsという強力なフレームワークを使って短期間で開発ができるという大きな強みがあります。
インタプリタ言語のため確認や修正が簡単で、開発スピードを速められるというメリットが好まれ、多くのスタートアップ系企業がRubyを採用しています。
スタートアップは今後もどんどん出てくるでしょうから、Rubyエンジニアの需要は今後も高まっていくと予想されます。
またPHPについても、大小問わず多数の企業が採用しており、既存のシステムも多く存在します。
こういったシステムの運用や保守、改修といった案件が尽きることは考えにくい上、新規案件も出てくるでしょうから、現状のような多数の求人がある状況が続くと思われます。
つまりはこれからも、「RubyもPHPも、どちらも高い需要が期待できる」ということになります。
Rubyに向いている人の特徴
Rubyは、以下のような人に向いています。
スタートアップ系企業に就職したい人
スタートアップはスピードが命です。
よって、開発効率の良いRuby+Ruby on Railsを積極的に採用する企業が多くなっています。
最新の技術や流行に触れる機会が多いスタートアップ系企業で働くことを希望する場合は、Rubyを選択すべきでしょう。
リモートワークを希望する人
PHPを採用している企業の中には古い体質の企業もあり、リモートという概念を持たない場合もありますが、Rubyを採用している企業には、何事にも柔軟なスタートアップやベンチャーが多いため、勤務体制についても柔軟な対応をしてくれるところが多いです。
チームで仕事をしたい人
Rubyはコーディングルールがきっちりしているため、多人数でチームを組んで開発していくという形態に向いています。
一人で自由にプログラムを書いていくのではなく、チームで一つのシステムを作り上げる喜びを感じたい人にはRubyが向いています。
未経験からWeb系エンジニアへ転職したい人むけにロードマップを作成しました。以下の記事を参考にしてみてください。
PHPに向いている人の特徴
PHPは、以下のような人に向いています。
多くの案件から仕事を選びたいという人
PHPを採用している企業は非常に多いため、案件数もRubyより圧倒的に多いです。
案件数が多ければそれだけ就職機会も増えますし、案件を選ぶこともできます。
勤務地や勤務体系、企業規模、給料など、多くの案件の中から吟味して選びたい場合はPHPを選択すべきでしょう。
地方で就職したいという人
PHPでの開発案件は東京以外の地方にも多く存在します。
そのため、働く場所も東京近郊に縛られずに済み、「地元で就職したい」といった願望を叶えることができる場合もあります。
一人で自由に開発したい人
PHPは、良くも悪くも「適当に書いても動く」という特徴があります。
そのため自由な開発がしやすく、一人でどんどんプログラミングを進めていくことができます。
個人で動きやすいため、フリーランスとしても仕事を請けやすいです。
まとめ:RubyとPHPにはそれぞれの良さがある
以上、RubyとPHPについての比較でした。
これまで解説してきました通り、どちらの言語にもメリットとデメリットがあります。
これから目指す働き方に合わせて、プログラミング言語も選んでみると良いでしょう。
自分の価値観や将来のビジョンなどを鑑み、どちらを選択するのかを決めるのがよいでしょう。
未経験からWeb系エンジニアへ転職したい人むけにロードマップを作成しました。以下の記事を参考にしてみてください。