PHP20周年を祝して歴史的資料をまとめる
最近通勤時間が長くなったのを期に、HDD レコーダーに録画したテレビ番組を iPhone にダビングして帰りの電車でみるということを始めた kagata です。硬い教養番組やドキュメンタリーをみるはまだいいのですが、お子さま向けの特撮なんかになるとまわりの視線が刺さるような気がして、自分はまだまだだな、もっと精神力を鍛えないといけないなと痛感します。
さて、来たる2015年6月8日、プログラミング言語 PHP が20周年を迎えます。つい先ごろ弊社創立20周年記念コンテンツのお知らせをしたところでしたが、弊社と PHP は同い年だったんですね。祝成人。
今回はその記念に、PHP のあゆみを振り返り先人の重要な仕事に思いをいたすための資料をまとめてみました。
PHP 通史
まずはなんといっても、いつもお世話になっている PHP マニュアルを参照します。ちゃんと PHP: PHPの歴史 - Manual というページが用意されていて、初代 PHP から現在の PHP5 に至るまでの通史がここにまとまっています。
また、外部の資料としてはプログラミング言語 PHPの歴史 - pastport も参考になります。こちらは年表形式で一覧できるようになっているうえ、本家 PHP マニュアルでは触れられていない PHP5リリースよりあとの事跡も掲載されています。
歴史の説明だけでなく、PHP のソースコードも歴代のものが入手できます。PHP: Releases では PHP3.0.18と PHP4以降のソースコードが当時のリリース告知とともに探せるようになっています。もっと旧いバージョンのソースコードは
PHP: Release Archives (museum) にまとまっています。PHP1もあるよ!!
PHP 誕生
PHP の作者 Rasmus Lerdorf が1995年6月8日に出したリリース告知は今も見ることができるようになっています。ここから歴史は始まった。
Announce: Personal Home Page Tools (PHP Tools) - Google グループ
このころの PHP は、プログラミング言語というより C 言語による CGI スクリプトのライブラリのようなものだったようです。前述の PHP マニュアルによると、現在の PHP に特徴的な「HTML に埋め込みのプログラムコード」のような構文もまだなかったとのことです。
PHP/FI2
PHP はのちに FI というツールと統合され、PHP/FI となります。PHP マニュアルによると PHP/FI は HTML コメントの中にプログラムコードを書く形をとっていたようですが、現在も公開されている PHP/FI 2.0のマニュアルには現在の PHP ショートタグでコードを囲む書き方が見られます。現在の PHP に近くなってきました。
PHP: PHP/FI Version 2.0 Documentation
また、同マニュアルの日本語訳も見ることができます。すでに日本のユーザーコミュニティが動き出しつつあったんですね。
if 文や switch 文で、PHP5ではコロンのところがセミコロンになっています。これは現代の目で見るとかなりキモチワルイような。
<?
if($a==5 && $b!=0 ); // ココ
$c = 100 + $a / $b;
endif;
>
<?
$a=0;
switch($a) {
case 1; // ココも
echo "a is 1";
break;
case "hello"; // ココも!
echo "a is hello";
break;
default; // ココも!!
echo "a is unknown";
break;
}
>
ビルトイン関数のリストも目を引きます。関数名がキャメルケースだったりスネークケースだったり、ずいぶんおおらかです。
PHP3
1998年6月、PHP3.0がリリースされます。名前から FI がとれて、PHP という名前自体も Personal Home Page (Tools) の略から PHP:Hyper Text Preprocessor の再帰的頭辞語ということになりました。
PHP3のきれいな解説は Web では見つけられなかったのですが、このころには日本語の解説書が出始めます。かの有名な「マンモス本」は、1999年に PHP3の解説書として出版されました。
Amazon.co.jp: PHP徹底攻略―Webとデータベースの連係プログラミング
日本 PHP ユーザ会が設立されたのは、PHP4リリース直前の2000年4月のことでした。
PHP4
PHP4は2000年5月にリリースされました。ここまで、まだ前世紀です。ちょっと意外に感じます。
PHP4版マンモス本は PDF 形式で公開されています。ぱらぱらめくっているだけで、歴史の重みを感じるような。
PHP4当時新機能だった機能が以下にまとまっています。
論理値型、foreach 文、出力バッファリング、ヒアドキュメントなどなど。これらがオブジェクト指向の導入よりもあとだったんですね。PHP3 からクラスが作れたのは意外でした。
PHP5←イマココ
PHP5は2004年7月にリリースされました。「イマココ」なんて書きましたが、もう5.0から10年以上たっているんですね。PHP の歴史の半分は PHP5の時代というわけです。
永久欠番の PHP6
2000年代後半には PHP5の次のバージョンとして PHP6の開発が進められていましたが、2010年にいったん頓挫します。ここで作りかかった機能は同年リリースの PHP5.3 などバージョン5系のマイナーリリースにまぶされることになりました。
そして昨年、PHP5の次のメジャーバージョンは PHP7とすることが決まり、PHP6は永久欠番となったのでした。
もうすぐ PHP7
そして、その PHP6とんで PHP7のリリースがいよいよ今年10月に予定されています。
それに伴って、長かった PHP5 の時代もあと3年ちょっとで終わろうとしています。
既存のPHPユーザーとして重要な決定に、PHP 5.7はリリースしない、ことがあります。つまりPHP5のサポートが3年後には無くなることを意味します。
今週末開催の PHP カンファレンス関西2015の基調講演も PHP7が主題だそうです。気になりますね!