エンタープライズ:インタビュー 2003/11/13 03:09:00 更新


Interview:PHP言語コア開発者スラスキー氏、新版5.0の進捗とJavaとの相乗を語る

PHPスクリプト言語優位性の1つには、ハンドリングがしやすい言語体系にある。コア部をガトマンズ氏と共に開発してきたスラスキー氏が来日された。そのインタビュー模様をお送りする。

 新版5.0のベータ2が10月30日に公開されたスクリプト言語「PHP」。サーバサイドスクリプト言語として知られ、対応するApacheモジュールを組み込むことでPerlスクリプトと比較して高速処理が可能、というのが従来からのウリだ。しかし、最近では5.0でのXML対応強化はもちろん、Sun Java System Web Server上でPHPが動作するコンポーネントを発表するなど、新たな局面を見せている(参考記事)。

 オープンソースの啓蒙活動などを行うOSCARアライアンスは、11月12日に開催されたOSCARアライアンス後援セミナへ、Zend TechnologiesのPHP Group CTO、ゼーブ・スラスキー氏を招いた。スラスキー氏は、PHPのコア開発者として知られ、PHP前身となったPHP/FI 2.0をアンディ・ガトマンズ氏と共に書き換え、爆発的な普及を見せることとなったPHP 3以降を開発する人物。講演前に時間をいただき、インタビューを行った。

IMG_2592.jpg

イスラエル Zend TechnologiesのPHP Group CTO、ゼーブ・スラスキー氏。今回で3回目の来日となったそうだ


ZDNet まず最初にPHP 5.0の開発進捗を聞かせてください。

スラスキー 10月30日にリリースしたベータ2で機能搭載をすべて終えました。今回の機能実装作業としては、主にオブジェクト指向やXML関数の強化、SQLインタフェースなどが挙げられます。今後数カ月は安定化へのテストを繰り返し、12月にはRC1を、そして遅くても2004年2〜3月までには正式リリースをしたいと考えています。

 PHP 4とのコード互換性についてはかなり論議されてきたのですが、設定ファイルphp.iniにコンパティビリティモードのパラメータを用意しました。オンにすることでPHP 4のOBモデルを改変する必要なくそのまま動作します。PHP 4で実現していた機能の制限もありません。また、オブジェクト参照がPHP 4でもすでにありましたが、PHP5ではこれを強化し、特化したOBを利用することでパフォーマンスアップも期待できます。

ZDNet 現在の進み具合はどの程度だと考えていますか。

スラスキー 85〜90%程度です。

ZDNet 処理速度についてですが、クラススタイルよりもCスタイルの方が速いと聞いたことがあります。これは実感されていることですか。

スラスキー 基本的にはクラススタイルで書くものとCスタイルでは、Cスタイルの方が若干速いと思います。しかし、私感での印象で1〜3%程度です。そして、クラススタイルのほうが開発期間が短いことが明らかなため、この値による選択が正しいかは微妙です。アプリケーションの規模によっては速さを実感するかもしれません。しかし、開発期間に数カ月の差が出るようであればクラスの方がよいはずです。

ZDNet Zend Engine 2の国際化(Unicode)が5の機能の1つになっていますが、国内では国際化パッチが常に行われてきました。この点はどう捉えていますか。

スラスキー 日本では、EUC、SJISなどを扱うよう独自にパッチを当てられているようですが、私の方ではタッチをしていないためこれまでと同じく自由に行ってほしいと思います。そして、Unicodeにすることで日本語圏でのきめ細かいハンドリングができないことは否めないことだと思います。どちらかというとそこまでは言及していません。現状はインターナショナル対応としてはUnicodeしか選択肢がないわけであり、その結果がPHP 5での実装となりました。

ZDNet Sun Web Server上でのPHPサポートが記憶に新しいわけですが、Javaに対する方向性、そして今後はエンタープライズを強く意識していくという表れなのでしょうか。

スラスキー PHPはこれまでのようにパーソナルから中小企業はもちろん、今回のようにエンタープライズでの利用も考慮していきます。特化していくというわけではありません。Javaに関しては、JSR 223(Java Specification Request 223、参考記事)規格への対応であり、サンに特化するわけでもありません。

 現状を見れば、すでにあるビジネスロジックに対しての相互関係を考えた場合、各社のAPIに触れないためにもJSPを利用するしかないわけです。しかしJSPの速度面には問題があり、フロントエンドスクリプトとしても疑問があります。もしこの部分をPHPで作り替えるとすると、既存のビジネスロジックからPHPにアクセスできなくなってしまい問題です。そのためにも、JSR 223として制定してオープン化することがよい選択だと考えたわけです。JSR 223によって、Javaの上に乗るというイメージではなく、ひとつのオブジェクトとして扱えるのが特徴といえます。

ZDNet 今回の発表に至るまでは、IBMやBEAなどほかのベンダーの選択肢もあったのでしょうか。

スラスキー サンとの決め手は、Javaそのものの温度を採っている存在だという理由もありますが、話し合いの上で円滑に進んだことです。もちろんIBMもJavaへ取り組むビックネームだと認識しています。今後はサンと同様に働きかけをしていく予定です。

 現行JavaにおけるJSP開発ソリューションは、ベストではないと思います。.NETのASPであれば比較的容易な開発ができることからも、PHPにおける開発の容易さがこれに対抗できると考えています。サンとは、話し合いの上で双方でよい方向へいくものだと歓迎し合っています。

ZDNet Javaにはアプリケーションサーバという自らで作ったキラーアプリがあるわけですが、PHPはCのような言語としての趣を今後も貫くのでしょうか。あるいはキラーの登場を望みますか。

スラスキー キラーが言語の促進をするということもありますが、まず最初に、PHPはWebに特化したスクリプト言語であることです。この点が、PCの言語として生まれたJava言語と異なっています。バーチャルマシンを作り上げてJSPなどをアドオンしてきたのがJavaの背景にあります。このため、最初からWebに特化されていなかったため、Javaには言語として何かがなければ広まらなかったわけです。一方、PHPは言語ありきでなくWebシステムが前提のため、システムを作り上げるための素材そのものがキラーアプリに当てはまると考えています。

ZDNet 95年にリリースされてからこの8年間を振り返り、コメントをください。

スラスキー 95〜97年までは前身となったPHP/FIの歴史なので、PHPの原型ができたのは98年からです。当時学生だった私は、これほどまでのメジャーを夢にも思っていませんでした。PHPを開発した発端は、就職活動のレジュメをサイトに公開するためでした。それがPHP 3を98年6月に公開したところ予想以上の反響を受けたのです。

 さらに98年後半からは次期PHP 4の構想を始め、ここではパーソナルな用途だけでなく、さまざまなWebサーバで利用できることをテーマとしました。PHP 3は、複雑なアプリケーションにおけるパフォーマンス改善と、PHPコード自体のモジュール化を行うことでした。複雑なアプリケーションを効率的に扱うことが考慮されていなかったのです。

 PHP 4はPHP 3の約2年後となる2000年5月にリリースしました。処理パフォーマンスが改善されたのを始め、多くのWebサーバサポートやHTTPセッション、 出力バッファリング、利用者からのグローバルエリアへの取り込みを制限する安全な取得方法の提供などを行いました。

ZDNet 現行ベータ2で機能がブラッシュアップされました。気の早い話ですが、次期バージョン開発のために最初に取りかかっていく事項は何ですか。

スラスキー まずは5.0リリースのことでいっぱいなので具体的には考えていません。そうとはいえ、JavaとのブリッジであるJSRは重要視しており、すでに着手しているもののいっそうの完成度へと高めていきたいです。次なるものとしては、まだ具体的なものがありませんがセキュアなWebアプリケーション開発への配慮が必要だと考えています。



関連記事
▼ゼンド、PHPをSun Java System Web Server上で実行可能にするコンポーネントを提供開始
▼ベールを脱ぐ「Project Rave」、Javaデベロッパーを1000万人へ
▼OSCARアライアンスがPHP 5とFedora Projectのセミナーを後援
▼Interview:ゼンドCEO、「日本でももっとPHPのWebアプリ開発を」

関連リンク
▼Zend Technologies
▼ゼンド・オープンソースシステムズ
▼OSCARアライアンス

[聞き手:木田佳克,ITmedia]