PHPの人気が凋落してる話

2024/4/17作成

PHPの時代は終わった? プログラミング言語のランキングで、2001年以来の最低シェアを記録

TIOBEの調査ではPHPの人気が急落しているそうです。

このランキング自体は信憑性にツッコミがいつも入っているので、実際にPHPの人気が下がっているかって言うと、そんなこともないような気はしますけどね。なんといっても世界のウェブサイトの半数以上で使われていると言われるWordPressの開発言語ですから、そう簡単に廃れるとは思えません。

一方で、TIOBEのランキングだって全くの無根拠ってわけでもないと思うんですよね。一応、いろんなことを調べて数値化した結果として発表されている。それに多分だけど去年と今年で調査手法が変わったってわけでもないと思う。であれば、調査対象の何らかの要素においてPHP人気が下がるような変化があったこと自体は確かなのかもしれない。

ということをふまえた上で、自分なりの仮説というか感想を書くと、これはウェブ開発においてサーバサイドの凋落を意味しているんではないかなという気がします。要するにウェブ開発の主戦場がフロントエンドになりつつある。

2000年代もしくは2010年代前半頃に開発されて今でも使われているウェブアプリの場合、実装の主力はサーバサイドです。こうしたウェブアプリも今時のフロントエンド事情に合わせてきてはいますが、やっぱり小手先の対応になってしまっている。ライブラリとしてはReactやVue.jsを採用してはいるけれど、使い方としてはjQuery時代と本質的には変わらなかったりする。ビジネスロジックはあくまでもサーバサイドで行い、フロントエンドでやってることは入力補助的な処理に限られている。

一方、2010年代後半以降に開発されたウェブアプリの場合、最初からフロントエンドを中心に据えている。純粋なSPAはSEO観点などで問題があることもあるけれど、それでもフロントエンドが主体になっているのは変わらない。フロントエンドのフレームワークも純粋SPA以外の使い方にも対応してきていますしね。こうしたウェブアプリではビジネスロジックもフロントエンドで処理されるようになってきています。

そうしてフロントエンドがウェブアプリの主体になってくると、サーバサイドに残るのはDBへのアクセスを担当するAPI処理だけになってしまう。これはもう一つスマホアプリの普及というのも影響していると思います。スマホアプリもDBアクセスの為のAPIが必要になるわけなので、であればサーバサイドはスマホアプリとウェブアプリ共通のAPIに徹してしまって、ユーザと接する処理はスマホとフロントエンドでそれぞれ担当しようという棲み分けになってきてる。そういうのが、2010年代後半以降のウェブアプリの基本的な考え方になってきてる。

こうなると、サーバサイドでやることは単なるDBアクセスとAPI処理のみになってしまうわけですね。サーバサイドが不要になるわけではないけれど、実装しなければいけない処理は従来に比べると大幅に減ってしまう。また、APIがある程度安定してしまえば改修の頻度もどんどん落ちていってしまう。ウェブアプリとしての日々の磨き込みはフロントエンドでやるようになるわけですからね。何より、DBアクセスとAPI処理なんて、適切なフレームワークを使えば設定ファイルをちょこっと書くだけで、ほぼコードを書かずに実現できてしまう。要はサーバサイドの言語って、もう要らなくなってきてしまってるわけですよ。完全に不要にはならないけど、重要度としてはぐっと下がってきてしまっている。PHPの人気が下がってきてるとしたら、要因はこういうところにあるのかなぁという気がします。多分同じ理由でRubyの人気も下がってきてると思う。

では何でPythonは人気を保っているのかというと、それはAIや機械学習のおかげでしょうねぇ。多分ウェブアプリのサーバサイド言語としてのPythonはPHPと同様に人気が下がっているけど、AI人気がそれをカバーしてる。

AIは何もPythonでなければ書けないわけではないんだけども、実際のところとしてPythonで書いてる人が多いからノウハウが貯まっていて、そのノウハウを求めて新しい人が入ってきてという好循環が続いて、AI開発イコールPythonという状況になっているんだろうなぁと。

まあ、適当な感想ですが、このようなことを思ったわけです。でも私はPHPも好きですし、書いてもいますけどね。