ゆーたんのつぶやき

株式会社ノークリサーチにてIT関連のシニアアナリストとして活動しています。

PHPへの期待と不安



PHPは生誕10周年ということで(Javaもそうだから、この二つは同じ歳?)
今年前半からいろいろとPHP関連の記事も目立ちます。エンタープライズ
領域においてもPHPは今後普及していくのかどうか?という問いに答える
のはなかなか難しそうです。


プラスのトピックとしてはIBMPHPとcloudscapeとの連携を可能にする
モジュールをZendと共同開発するなど大手IT企業のPHPへの関心の高まり
が挙げられます。もっともIBMのクラスになると、普及の兆しのある技術
にはあまねく手を出しておくという傾向もありますので、PHPだけが特別
というわけではないかも知れません。


国内ではPHPを活用した製品やソリューションの登場が目立っています。
PEARパッケージ群、Smartyテンプレートエンジン、Mojaviフレームワーク
などが出揃い、システム開発に必要となる土台は整いつつあります。PHP
ベースとしたフレームワークに関するディスカッションも活発なようです。


一方では欧州や中東でのPHP利用者数は二桁減少というニュースも流れて
おり、その主たる理由は「エンタープライズ環境で利用できない」からだ
そうです。(もう少し具体的な理由が知りたいところですが....)


確かに品質面での不安材料があることは否定できません。PHP4.3以前では
オブジェクト参照に問題があり、場合によってはメモリが破壊されてしまう
という不具合がありました。修正版としてPHP4.4がリリースされましたが、
拡張モジュールについてはバイナリ互換性がないため、再コンパイルが必要
となります。実際に運用環境で利用していた場合にはなかなかシビアな問題
であることは確かです。


また、PHP5.1系列がリリースされた後に続く5.5/6.X系列についても品質上
の懸念は多少あります。5.1系列でもUNICODE/国際化対応はなされますが、
ネイティブレベルのものではありません。ネイティブでの対応は5.5/6.Xで
行なわれる予定ですが、その実現のためにはかなり根本部分からの再構築に
なるかも知れないという見解もあります。そうなると、実運用環境では容易
にリプレースするわけにも行きませんし、開発面においても互換性テストを
含む入念な準備が必要になってくるでしょう。


Javaや.NETを脅かす存在と言われることもあるPHPですが、もしもその主たる
メリットが「簡易なスクリプト言語である」ということであるならば、当初から
UNICODE/国際化対応をしており、豊富なライブラリを持つJavaや.NETで動作
するスクリプト言語との差別化が難しくなるのではないかという気がします。


.NETであればVBScriptがありますし、JavaであればGroovyやBeanShellが
あります。いざとなればJava言語やVB.NET/C#を使ったコーディングも可能
であるという「保険」を得た上で簡易スクリプト言語を利用できるのであれば
5.5/6.Xになった段階で何かしらの下位互換性問題を引き起こすかも知れない
PHPを選択する理由はないのかも知れません。


こう考えてくると、あくまで個人的な見解ではありますが、少なくとも現時点で
Javaや.NETで業務に従事している職業プログラマが大挙してPHPを学び出す
という状況は起こりにくいのではないかという気がします。プログラミングを
新規に初める学生にとってはとても親しみやすく、学習にも最適な言語だと思
いますが、Groovyなどに関する書籍が充実してくればその役割についても次第
に取って代わられていくのではないかと予想しています。(個人的にはその役割
にはRubyが最適ではないかと思っています。オブジェクト指向も修得できますし
言語体系がとても綺麗ですし、何より日本発で世界に通用する数少ない技術に
触れることで「自分もやるぞ!」みたいな気概を持って欲しいですしね ^^)


ということで、個人的にはエンタープライズ領域におけるPHPのポジションは
少なくともJavaや.NETを脅かすほどにはならないだろうというのが個人的な
見解です。とは言え、何がどうなるかわからないのが世の常ですので、今後も
動向を注視していきたいと思います。