プログラミング道場Top

PHPはなぜダメと言われるんでしょうか?

更新日:

PHPに関しては、何度かよくない話を聞たことがあります。
PHPを学ぶ意味はあるのでしょうか?
それとも、RubyやJava、Goといった言語を学んだ方がいいですか?

たびたび、ディスられるPHPが、最近はなんだか可哀想になってきました(笑)
「PHPはもうだめ」という話は、10年前の2007年にも聞いたことがあります。
PHPはこれからも長く使われる言語だと思いますが、それについて説明していきたいと思います。

本記事の内容

  • 10年前にもPHPはもうダメと言われていた
  • PHP言語の歴史
  • これからのPHP

10年前にもPHPはもうダメと言われていた

ディスられ続けて10年以上もたっているPHPが、最近はなんだか可哀想になってきています(笑)
2007年頃にも、「これからはRubyがくる。PHPはもう古い」と言われていました。
それから、Ruby on Rails自体は人気になってきたので、そのセリフも間違いではありません。
でもPHPの方が圧倒的に使われています。
どうしてPHPはこんなにディスられ続けているんでしょうか?
その理由は、業界で声の大きいイケているエンジニアがPHPを褒めることはないからです。
PHPはいいところもあるのですが、言語としての完成度は高くありません。
そのため、できるエンジニアが「PHPはクールだぜ!」と発言することは決してありません。
でも、エンジニアが「クールだぜ!」と発言したからと言って、それが人気になる保証はありません(笑)
一時期、関数型言語であるHaskellが人気になりましたが、一年ぐらいたったら全く話を聞かなくなりました。
つまり、声が大きい人達の意見と、業界で使われている言語には隔たりがあるということです。

PHP言語の歴史

PHPがディスられるのは、歴史的な背景もあります。
PHPの歴史について、少しお話します。

PHPがよく使われ始めたのは、PHP3ぐらいからです。
その当時は、HTMLとPHPのソースコードが混在していることが普通でした。
HTMLを使う延長線上で使っていた感じです。
オブジェクト指向は、その時にはまだ使われていませんでした。
これらの理由で、当初は、PHPのイメージは芳しくありませんでした。

次にPHP4が出てきました。
ここで、始めてオブジェクト指向を使えるようになり、キレイなソースコードを書きやすくなりました。
Smaryも出てきて、Viewとロジックの分離も進みます。
Mojaviというフレームワークが出てきたのはこの頃です。
でも、当時はまだ人気のフレームワークがなかったので、俺々フレームワークが至るところで使われていました(笑)
この時もJavaに比べると、PHPはまだまだという雰囲気でした。
俺々フレームワークは本当にカオスだった記憶があります。。。

2006年ぐらいにPHP5が一般的になり始めました。
PHP5は本格的なオブジェクト指向も備えていたので、様子が変わり始めます。
また、ZendFramework、Cake、Symfonyといった有名なフレームワークも出てきました。
これらをキッカケにして、PHPが爆発的に普及し始めた気がします。

PHP言語のこれから

フレームワークが流行り始めてからは、様々な企業がPHPを使い続けています。
アメリカで有名な会社だとFacebookがPHPを使っています。
日本では、グリー、メルカリ、DMMといった企業がPHPを使っています。
PHPを使えるエンジニアは、大量に確保しやすいというのが、大企業で使われる理由の一つに挙げられます。
Railsを使えるエンジニアを大量に雇用しようとすると、なかなか難しいのが今の転職市場ですが、PHPならば採用できます。
それはエンジニア視点から見ると、PHPエンジニアの単価は低いということに繋がることも覚えておいて下さい。

機能面では、PHPのバージョンは7にまで上がって、様々な新しい機能が追加されました。
フレームワークに目を向けると、Laravelという新しいものがリリースされており、Web業界ではよく使われています。
こうして全体的に見てみると、PHPは今後もディスられながらも長く使われ続ける気がします。

理由は以下の通りです。

  • 今までに作成されてきたプログラムが多く残っています。
  • WordPressという超人気のCMSで作られたWebサイトが多くあります。
  • PHP7とLaravelという新しい技術で、新たなサイトが作られています。

こういった状況なので、PHPを学ぶというのは決して間違った選択肢ではありません。
簡単に覚えられるし就職もしやすいので、是非、PHPを勉強してみて下さい。

Good luck for your engineer life!

 

-プログラミング初心者

Copyright© プログラミング道場 , 2018 All Rights Reserved Powered by AFFINGER4.