PHPとは?PHPはオワコンなの?PHPエンジニアの未来

しんぺい

こんにちは!しんぺいです。

Web系エンジニアのプログラミング言語の代表と言えばPHPですよね。

え、PHPがオワコン?

たしかに最近よく「PHPはオワコン」って聞きますよね。

PHPがこの先どうなるか気になりますか?

PHPとは?

そもそも、PHPとはなんでしょうか。

PHPはサーバーサイドのプログラミング言語です。

もともとPHPは「Personal Home Page」の頭文字を取っていましたが、現在では再帰的な略語として「Hypertext Preprocessor」の説明が使われることが主流です。

PHPで書かれたファイルは拡張子が「.php」となっており、サーバーにPHPがインストールされている場合のみ、実行可能です。

PHPができることは動的Webページの生成

PHPができること、それは動的にWebページを生成できるということです。

プログラミング初心者

え、動的ってなんだ?静的もあるの?

静的もあります。静的ページは、サーバーに置かれたHTMLファイルを読み込んだだけで、いつ誰が何度見ても同じ情報が表示されるのが特徴です。

たとえば…

  • 論文
  • スポーツ大会の結果表
  • 市役所の営業時間
といった情報は、誰が見ても同じ情報でないと困ります。

HTMLの静的ページ

一方動的ページは、サーバー側で何らかの処理をして、見る人によって表示される情報が変化するのが特徴です。

たとえば…

  • 会員の個人ページ
  • インターネットショッピングの買い物かご
  • 掲示板
といった情報は、見る人によって表示すべき内容が異なりますし、場合によっては同じ情報が表示されては非常に困ります(会員情報など)。

PHPの動的ページ

プログラミング初心者

だったらJavascriptが入っているWebページも動的なの?

と思った方は鋭いです。

確かに動的ではありますが、PHPがサーバー側で処理をするのに対し、Javascriptはクライアント側(ブラウザ)で処理をするという違いがあります。

動的という言葉は同じでも、若干意味が違ってきますね。

ブログ界最強のPHP製CMS「Wordpress」

動的にWebページを生成できる代表例の一つが、ブログです。

ブログ記事を書くたびにHTMLファイルを生成していては効率が悪すぎますし、量が増えてきたら管理しきれないですよね。

ブログもPHPでテンプレートを一つ作っておき、そこから動的にWebページを生成することでほぼ無限にブログページを生成することができます。

ブログなどのコンテンツを管理しやすくしたシステムをCMS(コンテンツマネジメントシステム)と言いますが、実はブログ界最強のCMSである「WordPress」はPHPで作られているのです。

Wordpressの公式サイト

何が最強かというと…

  • 全世界のWebサイトの35%がWordpressを使っている
  • CMSのマーケットでは65%がWordpressを使っている

これは驚異的な数字です。

2019年時点で、世界のウェブサイトの数はおよそ17億サイトあるとのことですが、このうちの35%がWordpressを利用しているということになります。
およそ3つに1つのWebサイトがWordpressですね。

言い換えれば、3つに1つのWebサイトがPHPで作られているということです。

WordPressのテーマは膨大に作られており、Wordpress専用のマーケットも存在するぐらいですから、その必要性は十分に証明されています。

WordPressでアフィリエイト収益を出すなら無料ではなく有料テーマを使え

PHPはオワコンなの?

これだけイケイケに見えるPHPですが、なぜか「PHPはオワコン」、「PHPは嫌い」と言い放つエンジニアが増えてきているのも事実です。

PHPが嫌われる理由

なぜそんなにPHPが嫌われているのでしょうか。

その背景には

  • PHPはインタプリター言語のため速度が遅い
  • PHPは自由すぎて実装に不安が残る

というのが挙げられます。
当たり前ですが、主に技術的な話ですね。

PHPはインタプリター言語のため速度が遅い

これは確かに事実ですが、インタープリタ言語コンパイラ言語より遅いのは当たり前ですし、昔からです。

人間が英語で書いたプログラムを、コンピューターは理解できません。コンピューターが理解できるように変換することをコンパイルと言います。

インタープリタ言語は、このコンパイル作業をプログラム実行時に行います。つまり、プログラムの実行とコンパイル作業を同時並行して行うわけですから、多少時間がかかってしまいます。

一方のコンパイラ言語は、プログラムの実行前にあらかじめコンパイルを完了させておきます。すでにコンパイル作業は完了していて、あとはプログラムを実行するだけなので、高速です。

それぞれには以下のようなプログラミング言語が該当します。

  • インタープリタ言語:PHP、Javascript、Python、Perl
  • コンパイラ言語:C、C++、Go、FORTRAN、COBOL

基本的にインタープリタ言語の方が遅いですが、バグやアルゴリズムを見直すことで劇的に早くなる可能性もあります。

例えばこちらは、Googleが発表した「Google I/O 2012 – Breaking the JavaScript Speed Limit with V8 (Daniel Clifford)」ですが、バグやアルゴリズムの見直しでJavascriptが350倍高速になったという内容です。


言語そのものの違いは確かにありますが、基本的な部分を見直すことが大事ですね。

PHPは自由すぎて実装に不安が残る

PHPは確かに自由です。

Go言語などのような強力な型付けもなければ、PythonのPEP8のようなコーディング規約もありません。本当に自由です。

自由であるがゆえ、プログラマーの裁量に委ねられる部分も多くあります

一人でコードを管理するのであれば問題は少ないですが、チームや複数にんでコードを管理するとなると話は変わってきます。テキトーなコードを書けば予想外な動きをして、思わぬバグを生む可能性もあります。

自由だからこそ、しっかりとルールを決めて書いていくべきでしょう。

PHPと他のWeb系言語との比較

Web系言語は、今ではPHPだけではありません。

日本で急速に勢いを伸ばしているRubyのRuby on Railsや、マルチにこなせるPythonなど、多種多様な言語が伸びてきています。

今世界中のエンジニアの中で注目されている言語を、Githutのデータから見てみましょう。

githubのプログラミングランキング

少々見辛いですが、濃い紫の線がPHPのグラフです。

Githubのプルリクエストベースのカウントですが、その数は年々減少しているのがわかりますね。茶色の線がRubyですが、Rubyも減少しています。

JavaScriptやPythonは安定しており、逆にGoやTypeScriptが急速に伸びてきているのがわかります。

それぞれのシェア率も見てみましょう。

Githubのプログラミング言語シェア率

JavaScriptとPython、Javaの3言語でGithubリポジトリのおよそ50%を占めています。かなり強いですね。

一方のPHPはおよそ5%で、Githubが残している2014年の記録と比較すると、5%ほどシェアを減らしていることになります。

もちろん世界中のコード全てがGithubにあるわけではないので参考程度ですが、それでもPHPの人気や需要が少しずつ減少しているのは見て取れますね。

詳しいデータが気になる方は、こちからどうぞ。

参考 Github Language Stats

【まとめ】PHPエンジニアの未来は…

PHPとは?PHPはオワコンなのか?について紹介しました。

まだまだ強い人気を誇るPHPですから、PHPエンジニアであっても当分しばらくは大丈夫ですし、世の中から無くなることはないでしょう。

しかし、PHPのみに執着して視野を狭くしてはいけないのは確かであり、他の言語についても探求すべきなのも事実です。

いつどんなことが起きてもいいように、他の言語についても習得しておくことを推奨します。

しんぺい

PHPはまだまだ需要はあるから大丈夫です。

でも、他の言語も習得しておくのを推奨します。

守備範囲を広げる意味でも、勉強の意味でもきっと役に立ちます!