[2021年]プログラミング初学者にお勧めな言語・フレームワーク

スポンサーリンク

PHPのフレームワーク多すぎ問題

今時、フレームワークなしでWebアプリケーションを組むのはあり得ないかと思います。
RubyはRails一択なのですが、PHPはあまりにも多くのフレームワークが乱立しています。
ということで2010年ごろから現在までのトレンドを検索回数で比較してみました。

まず、最初はCakePHPが圧倒的な人気を誇っていましたが、明らかな右肩下がりの傾向があります。
MVCフレームワークのタイプでは最強でした。続いてsymfonyも健闘していましたが、この時点ですでに右肩下がりでシェアも低い状態です。

やはり注目すべきはLaravelでしょう。グラフの最初ではまだ生まれていませんが、本格的に使われだした2015年ごろから徐々に増えてきて、それからたった1年でCakePHPを上回るほどになりました。
そして2020年現在では完全にLaravelが圧勝している形です。CakePHPと比較しても数倍の開きがあり、そのほかのフレームワークに関してはほぼゼロといってもいい状態になっています。
2020年下半期はグラフの低下がみられますが、CakePHPでも同じ傾向が見られます。よって、シェアの問題ではなく、コロナの影響による新規プロジェクトの停止で作業が減ったためと思われます。

ほかにもPHPフレームワークはありますが、CakePHP以上のシェアをもったものはなく、増加傾向もみられませんでした。
実際に使われているサイトはどちらが多いかは不明ですが、案件紹介サイトなどを見るとCakePHPからLaravelにリプレイスするというような案件もちょくちょく見かけることを考えると、多くの企業がCakePHPを見限って、Laravelに移行しているものと思われます。

異言語格闘技戦

ほかの言語も比べてみました。
RubyはRuby on Rails一択なのは万人が認めるところだと思いますが、”Ruby on Rails”は長すぎるためあまり検索キーワードに使われていないらしくRubyもしくはRailsが使われているようです。(ほぼ一緒の結果でした)
Pythonからは、一番使われているDjango。JavascriptのサーバーサイドフレームワークであるNode.JSを加えてみた結果がいかになります。

Node.jsはやや増加傾向があるものの、シェアとしてはCakePHPとあまり変わらない程度のようで、ここで頭打ちのように見えます。
DjangoはNode.jsよりも高いシェアを保っているものの、ほぼ横ばいの状態で推移しています。やはり、機械学習関連のWebサービスでもやらない限り、あえてPythonをするよりも、人数がおおいPHPなどを選択しているものと思います。
特筆すべきはやはり、RubyとLaravelの関係でしょう。
10年前は圧倒的にRubyが優勢でしたが、徐々にシェアを減らしているという印象がありました。それでもまぁRubyが圧倒的だろうと予想していました。しかし、今年になってLaravelとほぼ横並びになり、現在は若干ですが上回っている傾向が見られます。
これほどまでにRubyが減少している理由が良くわかりませんが、古くから使われている(といっても実はPHPとRubyは同じ年)PHPのほうがエンジニアが多く、PHPのほかのフレームワークを吸収してLaravelが成長してきたためと思われます。

プログラミング初学者がこれからやるべきフレームワークは…

この結果をみると、これから学ぶべきフレームワークはLaravelということになりそうです。まさかRubyを超えているとは思いませんでした。
CakePHPも、複数人で作業するときはコードやルールが統一化されててリーディングや保守がしやすくていいと思うんですがねぇ。

Ruby on Railsもよい選択だとは思いますが、これだけシェアを落としているのが気になります。
また、Ruby on Railsはすくなくとも10年以上やっているベテランがたくさんいます。今からやっても追いつけません。しかし、より新しいフレームワークであるLaravelは、2020年現在だと最長でも5年、しかし、実際にはここ1,2年で始めた方が多いのではないでしょうか?
となると、ベテランでも初学者でも、フレームワークの経験という点では大差なく、それどころか、日々の業務に追われている現役エンジニアよりも、最近勉強した初学者のほうが詳しいという逆転現象も発生する可能性があります。

いかがだったでしょうか。
個人的にはCakePHPを押したいのですが、シェアの点でも、費用対効果の点でもLaravelが最強であることは間違いないと思います。
もっとも、自分でプロダクトを作りたいという方にとっては、何を使っても構わないかと思いますが、就職でもフリーランスになるにせよ、どちらにしても多くの人が使っているもののほうが有利なことは間違いなさそうです。

コメント