#はじめに
今からWEBアプリ開発エンジニアを目指すのであれば、PHPの方がおすすめと感じました。今回はなぜRubyよりPHPの方がおすすめなのか理由を書きたいと思います。
#そもそもRuby/PHPとは?
Ruby
Ruby(ルビー)は、まつもとゆきひろ(通称: Matz)により開発されたオブジェクト指向スクリプト言語。開発者のまつもとゆきひろは、「Rubyの言語仕様策定において最も重視しているのはストレスなくプログラミングを楽しむことである (enjoy programming)」と述べている。
ただ個人的な話かもしれないがRubyを学ぶ場合、Ruby on Rails(実アプリケーションの開発の雛形を予め備えた仕組み=フレームワーク)を学ぶ必要があり、そのフレームワークが初心者には流れが理解しづらいと思う。あくまで楽しめるのは「プログラミング経験のある開発者/エンジニア」であり、初学者は楽しめる領域まで勉強する必要がある。
PHP
名称の PHP は再帰的頭字語として、 "PHP: Hypertext Preprocessor" を意味するとされており、「PHPはHTMLのプリプロセッサである」とPHP自身を再帰的に説明している。一般的にPHPは学習コストの低く、記述の容易とされている。
私自身、本格的にPHPを勉強したことはないものの、RubyとPHPを両方勉強したことある人にお話を聞くと、HTMLに書き方が近くPHPの方が簡単と言われる。
#理由①PHPの方が初心者向け
https://mynavi-agent.jp/it/geekroid/2017/08/php-vs-rubyweb.html
上記サイトを見てみるとRubyとPHPはこう書かれている。
■PHPはこんな方にオススメ!
・まずはスプリクト型プログラミング言語に触れてみたい方
・気軽にWebサービスを作ってみたい方
・デザイン関連は苦手なのでしっかりと分業して作業を行いたい方
■Rubyはこんな方にオススメ!
・他のプログラミング言語から乗り換えたい方
・チームワークで協力しながらサービス開発を目指したい方
・便利なフレームワークであるRuby on Railsを使用してみたい方
・デザインから開発まで一通り経験したい方
PHPは最初学びやすいが、フレームワークが色々あるのである程度勉強するとそこがネック。ただWEBプログラミングの中では、やはりPHPが比較的簡単と言われている。RubyだとWEBアプリ開発エンジニア転職したい場合、最初に色々と覚えるべきことが多かったりして(特にRuby on Railsの設計思考が初心者には難しい)、初心者には挫折しやすいと感じた。PHPの方が言語の習得のしやすさでも軍配上がる気がする。
#理由②プログラミングスクール乱立で、転職市場がレッドオーシャン
最近Ruby向けプログラミングスクールが続々とできている。「tech expert/tech camp」がその筆頭だろう。またスクールに行かずとも、未経験でも独学で学んでいる人が増えてきた。このようなプログラミングスクールや未経験エンジニアの台頭で、もはやRuby on Railsで動くポートフォリオは当たり前になりつつある。(スクールのカリキュラムでポートフォリオ作りは大体どこでもある。)そうなるとポートフォリオでUI/UXにこだわる・プログラミング以外にブログをやってサイトの運用を経験するなど、何かしらの+αがないと厳しい世界になりつつある。
#理由③未経験向けの求人数が多い
Green(特にエンジニア間でよく使われている求人サイト)でシステム開発(WEB/オープン系)で「Ruby 未経験」で検索すると「153企業 348求人」、それに対し「PHP 未経験」だと「273企業 623求人」。Greenに限らず、実務未経験でエンジニア転職されてる方の話を聞くと「RubyよりPHPの方が未経験向け求人が多い」ということをよく耳にする。
https://pg-job.net/work-pg/
また上記サイトを見てもハローワーク求人数でPHPは3位に対して、Rubyは9位。(もちろんハローワークだからというのもあるかもしれないが。)
Rubyは求人が少ない上に競争相手が多く、今後も厳しい戦いになるのが予想される。
#理由④PHPの方が潰しがきく
PHPだとWEB開発の他にもWordPress開発ができるので、初心者でも案件が取りやすい。またWEBエンジニア転職を諦めて、WEBマーケターやデザイナーに転向したとしても、WEBサイト(HPなど)がWordPressで作られているなど、PHP・HTML・CSSの知識が生かせる場合がある。
一方RubyはWEBアプリで使われるのでWEBエンジニアにならない限り、直接その知識が必要になることは少ない。(バックエンドの知識を持っておいて損はないが)
またSESで経験つけてから自社/受託を目指す場合でも、SESで未経験でRubyができる案件はほぼないため、一旦別言語で経験を積む必要が出てくる。
#まとめ
エンジニア転職を希望せず、WEBアプリを純粋に学んでみたいという方でしたら、Rubyは日本語での資料も多く勉強しやすいです。ただWEBアプリ開発エンジニアになりたいという方なら、現状競争が激化していて潰しがききにくいので、本当にRubyがいいのか考えた方がいいと思います。
参考
https://eng-entrance.com/ruby-php
https://memorandumrail.com/php-ruby/