【新・言語進化論】言語選択の分かれ道
第5回:WebアプリケーションといえばPHPだが?
著者:Jurabi 西山 星児、岡 俊行
公開日:2007/11/29(木)
WebアプリケーションといえばPHPが人気だが?
最終回の今回は3年前、筆者が経験したあるポータルサイトの機械翻訳サービスの開発を元に解説していく。今から振り返れば当時のPHPは欠点だらけだったが、それでもPHP初級だった筆者は開発を乗り切ることができた。今回はそのワケを述べるとともに、進展著しいPHPの今を他の言語と対比させていこう。
筆者が携わったのは、機械翻訳サービスのフロントエンドの開発である。さすがに機械翻訳エンジンを含んだバックエンドの開発には別の言語が使われていたが、利用者との接点となるフロントエンドの開発には、すでにプログラミング言語としてPHPを使うことが決まっていた。正直なところ、多くの開発者には言語選択の権利はなく、筆者と同じようにプログラミング言語に対して配属されるという状況にあるのではないだろうか。
顧客であるポータルサイトは老舗の部類に属しているものだ。前回「第4回:Webアプリケーション開発にPerlを選んだワケ」でも触れられているが、ご多分にもれずこのWebサイトの構築にもPerlが多用されていた。当プロジェクトで、Perlの弟分ともいえるPHPが開発言語に選ばれたのには、そういう理由も少なからずあったといえよう。
さて、このプロジェクトが置かれた状況は開発期間が1ヶ月で、中間動作確認までの期間は2週間であった。さらにお客様(ポータルサイト運営会社)自身のメンテナンスを考慮し、お客様側のテスト、環境構築などの期間は4ヶ月弱というものだ。
まあ、よくある状況といえるだろう。さらに、筆者はプロジェクトの途中から参加したため、すでに開発済みのプログラムを解析し、かつ残りの部分の実装とテストを行う必要があった。この時点でのWebアプリケーションの構成は、
となっていた。
実はPHPには、これらのライブラリを使わずとも多くの標準関数が用意されている。PHPをインストールするだけで多くの標準関数が使用可能であり、Webアプリケーションで必要となるほとんどの処理を簡単に実現できる。また構文も単純なものが多く、他の言語を習得している技術者であれば短期間でPHPにも習熟できるのが特徴だ。
このような理由からPHPはスピードを求められるWebアプリケーション開発で採用されることが多い。実際に筆者もこのアプリケーションの構成をそのまま採用し、短期開発をやり遂げることができた。
ここまでの説明を読むと、PHPはいいことずくめの言語のように思えるかもしれない。当時、筆者が使用したPHPのメジャーバージョンは4であったが、Java経験者だった筆者にとって、このPHP4という言語にはいくつもの問題があったと感じている。 次のページ