墜落日記 - 2009年2月16日の墜落
PDT 2.0 系は放棄
仕事用新型ワークステーションの導入に踏み切る直接のキッカケとなった、PHP の開発環境である PHP Development Tools こと PDT の 2.0 系だが。
結局、利用を断念することにした。
色々理由はあるが、最大の理由はその処理の極端な重さである。
PDT は 2.0 系から eclipse 3.4 ベースとなったが、どういうわけか eclipse 3.3 ベースの 1.0.3 に比較すると極端なまでに処理が重くなっている。
Prescott コアの Pentium IV 3.2GHz ではもはや涙目で、Core i7 ですら日本語入力で確定した後などの描画が見て取れる。
自分の装備だけならそれでも良いが、今後 PHP 開発環境を統一していく過程で、装備の更新が遅れている社内では動かない機体が多い可能性がとても高い。
開発環境が重すぎて開発効率が落ちるというのは本末転倒である。
次ぎの大きな理由が、何故かオブジェクトのコード補間が効かなくなっていることである。
PHP は変数の型が実行時まで未確定のため、開発環境がコード補間を効かせるためにはその変数の型を類推する情報を見つけ出す必要がある。
もっとも直接的なのはクラスのインスタンスを作成するコンストラクタの記述や、PhpDocumentor 形式で書かれた @return タグを見つけ出すことで、型を類推することである。
それが出来ない場合、例えば配列にインスタンスを格納していて foreach で取り出す場合などは、やはり PhpDocumentor 形式の "/* @var 変数名 型名 */" を変数の前に書き込んでやると型を類推する情報として利用する。
しかし PDT 2.0 系ではこの "/* @var 変数名 型名 */" を何故か認識しなくなっているのである。
これもまた地味に開発効率を落とす。
以上、大きくふたつの理由で PDT 2.0 系を諦め、PDT 1.0.3 に戻すことにした。
細かいところでは PDT 2.0 系の方が色々と便利になってるんだけどねぇ~………
来る 6/26 には PDT 2.1 がリリースされる予定なので、処理速度の改善とコード補間機能の改善が確認できたら再度評価してみよう。
もっとも、WTP が動く限り軽くなることはあり得ないかも知れないけどねぇ~(汗々)
現在開発中の PHP フレームワーク Ag:PURE 2.0 も、MVC 開発エンジンの試作型が完成した。
ドキュメントルート配下に MVC 定義ファイルを配置すると、リクエストと共に MVC のコントローラ部分を自動的に生成、生成されたコントローラがモデルとテンプレートを繋げる仕組み。
つまり MVC 開発エンジンの正体は MVC 定義ファイルを元にコントローラの PHP スクリプトを生成するプリコンパイラ、ということである。
プリコンパイラ形式とすることで複雑な MVC 定義を記述しても解析にかかる時間を最初の一回だけにでき、パフォーマンスを担保できる―――筈だ。
取り敢えず次の仕事には間に合った、かな………?
嗚呼、まだドキュメントが………(涙)
コメントは投稿されていません。