
どうもタスです。
皆さんはプログラミングをしたことはありますか?
プログラミングをしたことがある人は、どんな言語を利用したことがありますか?
僕は、VB6、VBやC#(.net)、Javaなどを利用したことがありますが、現在は主にPHPを利用することが多いです。
利用することが多いのですが、まだまだあまり理解できていないんですよね。
そこで、PHPを勉強しようと思い、まずは歴史からということで、今回はPHPの歴史について調べました。
この記事の目次
そもそもPHPとは?
PHPとは、「Hypertext Preprocessor」を再帰的に略した言葉になります。
PHPは、「The PHP Group」によってコミュニティベースで開発されている、HTMLに埋め込んで記述可能なオープンソースのプログラミング言語のことをいいます。
PHPの歴史について
PHPは誰によって如何に生まれたのでしょうか?
背景と歴史について以下に説明したいと思います。
PHP1.0
1995年6月、Rasus Lerdorf(ラスマフ・ラードフ)によって、C言語で作成されたPHP1.0が公開されました。
当初は、PHPは「Personal Home Page Tools(PHP Tools)」と言われていました。
この頃は、ユーザが自分でバグ修正や機能改善をすることが許可されていたし、むしろ、推奨されていました。
PHPは、Rasus氏がWeb上で公開している経歴書のアクセス履歴を調べる用途で開発したのが始まりと言われています。
約25年前にPHPは誕生したんですね!
FI(Forms Interpreter)
1995年9月、PHPは現在の基本機能のいくつかが含まれたFI(Forms Interpreter)へと発展させました。
FIには以下の実装が加えられました。
- Perl風の変数
- フォーム変数の自動取得
- HTMLに埋み込める構文
Personal Home Page Construction Kit
1995年10月、Rasmus氏がFIのコードを完全に書き直した版を「Personal Home Page Construction Kit」という名前でリリースしました。
これにより、CやPerlに近い構文を有する簡易スクリプトツールへと発展しました。
PHP2.0
1996年4月、PHPとFIの名前を合わせたPHP/FIという名前で公開されました。
PHP/FIには以下の実装が加えられました。
- DBMやmSQL、Psotgres95等のDB
- クッキー
- ユーザ定義関数
1996年6月に、PHP/FIはバージョン2.0になり、これをPHP2.0というようになりました。
PHP2.0の時には、Webアプリケーションの基礎部分であるDBアクセスやユーザ定義関数が利用できたんですね!
PHP3.0
1998年6月に、イスラエルのAndi Gutmans(アンディ・ガトマンズ)とZeev Suraski(ゼーブ・スラスキー)及びRasmus氏で協力し、PHP3.0が公開されました。
この時点で、現在のPHP名称である、「Hypertext Preprocessor」という再帰的頭字語に改名されました。
本バージョンから多くの開発者が様々なモジュールを開発するようになりました。
最盛期には、インターネットのウェブサーバのほぼ10%にPHP3.0がインストールされていました。
なお、Andi Gutmans氏とZeev Suraski氏はこの時点ではまだ学生だったとのこと。
さらに、両氏はe-コマースアプリケーションを開発するためにPHP/FIを利用しようと考えていたが、PHP/FIには機能が不足していると感じ、Rasmus氏に作り直そうとコンタクトを取って、PHP3.0の開発に繋がったとのこと。
ものすごいバイタリティと実行力ですね!
Andi Gutmans氏
PHP4.0
2000年5月に公開されたPHP4.0は、Zend Engine(ZeevとAndiの名前の組み合わせ)というインタプリタとして動作するPHPのパーサ及び実行エンジンを搭載しました。
Zend Engineは、パフォーマンスの向上に加え、オブジェクト指向に関する本格的なサポートが行われました。
PHP4.0には以下の実装が加えられました。
- さらに多くのウェブサーバのサポート
- HTTPセッション
- 出力のバッファリング
- ユーザ入力のさらに安全な取得方法の提供
- 新しい言語構造の提供
- スーパーグローバル変数の導入
PHPといえばZend Engineというくらい、今でも進化し続けるコア機能ですよね。
PHP5.0
2004年7月にPHP5.0が公開されました。
PHP5.0は、Zend Engine2が搭載され、パフォーマンスの向上に加え、オブジェクト指向に関する本格的なサポートが行われました。
現在でもPHP5系が稼働しているWebサーバは多いのではないでしょうか?
PHP5.0には以下の実装が加えられました。
- PDO(PHP Data Object)データベース抽象化レイヤ
- 名前空間
- 静的遅延束縛
- クロージャ
- JSONサポートを標準化
PHP6.0
PHP6.0は、エンジンの内部処理がUTF-16に置き換えられる計画であったが、開発が断念して欠番となりました。
PHP5系と7系は今でも有名ですし、稼働しているWebサーバも多数ありますが、PHP6系って聞いたことがなかったんですよね。
開発が断念されていたとは知らなかったです(^-^;
PHP7.0
2015年12月にPHP7.0が公開されました。
PHP7.0は、Zend Engine3へアップグレードされました。
それもあって、前バージョンのPHP5.6と比べて25%~70%の性能改善が図られています。実行速度も2倍以上速くなったとの報告もあります。
PHP7.0には以下の実装が加えられました。
- Windowsでの64-bit整数サポート
- スカラー型のタイプヒンティング
他にも沢山の機能が実装されていますが、それは追々勉強しながら学習していきましょう。
まとめ
今回はPHPの歴史についてお伝えしました。
意外に歴史のある言語で、とても多くの改良の積み重ねで今があるということが分かりました。
今の時代、基盤が整っているおかげで簡単にプログラミングができるのがとてもありがたいことですね。
PHPの各バージョンは以下のサイトからダウンロード可能になっていますよ!