インタビュー

PHP開発者 Rasmus Lerdorf氏インタビュー ~PHPは「利己的」な開発者の集まり

この記事を読むのに必要な時間:およそ 7.5 分

2010年9月24日・25日に開催されたPHPカンファレンス2010にあわせて,PHP開発者のRasmus Lerdorf氏が来日されました。日本を訪れるのは2度目という氏に,PHPの現状とその根底にある思想についてお話を聞きました。

現在の仕事について

画像

大垣:昨年 Yahoo! Inc.を退職されましたね。現在はどのような仕事をされているのでしょうか?

RasmusWePayという起業したばかり小さな会社にいます。WePayはカリフォルニアにある,グループで支払いを行う処理を行うベンチャー会社です。

大垣:グループで支払いを行う,というのは,どういうことですか?

Rasmus:グループで何かを買いたいときに,グループとしてお金を管理したいですよね。例えば,大学で学生が集まってプレゼントを買いたいという場合があります。どんなものでも構わないですが,10人が集まって共同でオンラインショッピングをするとしたら,どうしたらよいでしょう? PayPalを使うこともできますが,使いやすいとは言えません。正しくお金を処理するには,個人のお金と一緒にならないように別の口座が必要です。WebPayはすべてのグループごとに口座を作ります。クリックするだけで口座が作れ,デビットカードや小切手,オンライン送金や引き出しができる仕組みを提供します。ソーシャルネットワークにも対応しており,Facebookと連携する機能をもっています。Facebookのイベントと連携してチケットを販売したりすることが簡単にできます。ホテルのイベントを企画するなどの,いくつかの会社はWePayの機能とのインテグレーションに非常に興味をもっています。例えば,ホテルでイベントに参加する場合,6人以上ならディスカウントを受けられるというサービスがあったりしますが,現在このようなケースに対応できる便利なオンラインサービスはありません。これを実現するのがWePayのサービスです。

大垣:便利そうなサービスですね。近い将来日本でもサービスが開始されることを楽しみしています。

Rasmus:リストに載せておきます。そうなればよいですね。

使用言語とその選択について

大垣:現在,どの言語を利用していますか?

Rasmus:当然,PHPとCです。

大垣:ほかのLL言語は使っていませんか?

Rasmus:あまり使っていません。でも少しはRubyを使ってますね。デプロイメントシステムに使っています。

大垣:長い経験の中でさまざまなLL言語を使ってきたと思いますが,どの言語が一番よいと思いましたか?

Rasmus:解決しようとする問題によりますよね。WePayではデプロイメントシステムにRubyを使っています。それはCapistranoというRubyで作られたよいツールがあったからです。別の言語で作り直す必要はありませんでした。もし,あなたがCMSを作らなければならないとして,ベースとするよいCMSがない言語を選びますか? 選ばないですよね。DrupalやJoomlaなどのCMSは何年も利用され,利用者が利用したいと思った機能のほとんどが実装されています。言語は開発者が考えているほど重要ではありません。重要なのはどのような製品が必要とされているのか,ではないでしょうか。必要とされている製品をいかに速く作り,かつ簡単に維持するかが重要です。多くの場合,言語は重要ではありません。DrupalやWordPressのように広く利用されている製品のエンドユーザは,どの言語で書かれているか?なんて気にしていません。WordPressのエンドユーザはWordPressで何ができて,何がすばらしいかを調べて,自分が必要としている機能をもっていることを知っています。WordPressやDrupalはある意味フレームワークのようなものです。

大垣:確かにWordPressやDrupalはフレームワークのようなものとして利用されていますね。お客様やエンドユーザにとって重要なのは言語ではなく,どのような製品が使えるのか重要ですね。

Rasmus:はい。その通りです。

PHPを作った理由

画像

大垣:1995年にPHPをリリースされましたよね。なぜPHPを作ったのでしょうか?

Rasmus:単純に必要だったからです(笑) PHPは存在してなかったし,PHPのようなツールが必要だったのです。1995年のWeb環境は今とはかなり違い,ほとんどのツールはありませんでした。

大垣:CGIだけでしたよね。

Rasmus:Perlで書かれたCGIがほとんどでしたね。負荷の高いサービスを提供しようとするとリクエストのたびにPerlプロセスをフォーク(起動)しなければならず,すぐにサーバが利用できなくなりました。この問題を解決するためにmod_perlが開発されましたが,何年も後のことでした。ですから開発者はC言語でCGIプログラムを書くようになりました。この方法でもプロセスをフォークしなければなりませんが,Perlのような大きなプロセスをロードすることなく,自分が必要とするコードだけを実行できました。この方法で少しは早く処理できるようになりました。その後,サーバーサイドインクルードが利用されるようになりました。Apache Webサーバで,特別なタグを使えば動的なWebサイトを構築できるようになりました。PHPも最初はCGIで作っていましたが,NCSAサーバをハックしたバージョンもありました。私のハックしたNCSAサーバをダウンロードすればPHPが組み込まれた形で利用できました。しかし,人々にWebサーバを替えてもらうのは難しいです。ApacheがモジュールAPIを提供してからは,そのモジュールAPIを利用してPHPを作りました。それからPHPの利用がどんどん拡大していきました。私は机に向かって「PHPという言語を作ろう」と考えて作ったのではありません。「問題を解決するためのツールを作ろう」と思って作っていました。

大垣:なるほど。ダイナミックなWebを作るために便利なツールを作りたかったのですね。

Rasmus:その通りです。そして,それは速くなければなりませんでした。

PHPの成功について

大垣:私がPHPを使い始めたのも,実用的で十分に速くて便利なツールが欲しかったからです。ラスマスさんはPHPの生みの親で,PHPが生まれて15年ほどになります。現在のPHPの状況に満足していますか?

Rasmus:満足していないとは言えないでしょう。ほぼ1/3のWebサイトがPHPで作られているのが現状です。もし私が満足していないなんて言えば本当におかしなことですよね(笑)

大垣:確かにその通りですね。現在のPHPの状況はすばらしい成功といえます。

Rasmus:はい。PHPの実装や仕様の汚い部分についていろいろな批判がありますが,PHPは動的な言語としてはかなり古いほうの言語で,話言葉のように進化してきた言語です。英語はとても汚い言語で,古い習慣や矛盾する文法があってとてもひどい言語です。もし言語学の教授が完璧な言語を作るとしたら英語のような言語にはならないでしょう。日本語のような言語ににもならないと思います。でも,言語学の教授が作ったおかしな言語は誰も使わないでしょう。

大垣:使わないですね。

Rasmus:学術的に純粋であることと実用的であることはあまり関係がありません。何がしたいのか?何ができるのか?どんな問題を解決できるのか? こういった部分と常に向き合っているのがPHPの強みといえると思います。結果,問題を簡単に解決できるPHPが人々にとって魅力的に見えるのだと思います。私もPHPに対する多くの批判には同意できます。PHPには沢山の醜い部分がありますが,これらの醜い部分は「問題を解決」することを阻みません。関数のパラメータの順序が逆になっている場合がありますが,これらは致命的な障害ではありません。順序が同じでないことに腹が立つかも知れませんが,反対にすれば問題なく動作します。確かに美しくないですが,正しく動くことが重要なのです。それに,我々が解決しようとしている問題は美しい問題ではないですよね。美しくない問題を美しくないツールで解決することに何の問題もありません。美しいツールは美しい問題を解決するためには非常に効果的かも知れませんが,多くの場合は必要がありません。さまざまなルールを作り,フレームワークを使い,モデルやビューを使って解決できない問題があるのです。

大垣:私も同感です。私のPHPに対する考え方はRasmusさんとほとんど同じですね。ですから私はRasmusさんの答えに非常に満足しています(笑)

Rasmus:それは良かったです(笑)

著者プロフィール

大垣靖男(おおがきやすお)

University of Denver卒。同校にてコンピュータサイエンスとビジネスを学ぶ。株式会社シーエーシーを経て,エレクトロニック・サービス・イニシアチブ有限会社を設立。
オープンソース製品は比較的古くから利用し,Linuxは0.9xのころから利用している。オープンソースシステム開発への参加はエレクトロニック・サービス・イニシアチブ設立後から。PHPプロジェクトでは,PostgreSQLモジュールのメンテナンスを担当している。

URLhttp://blog.ohgaki.net/

著書

コメント

コメントの記入