cfneoへの思いについて
最近ColdFusionどっぷりですが、正直ColdFusionという言語だか環境だかは実はあんまり好きではありません。
CFMLをタグで書くのまではまぁ良いかな、とは思うのですが、以下のような構文は「えー><」等と思うからです。
<cfif VARABLES.flag> <!---// hoge //---> <cfelse> <!---// hogehoge //---> </cfif>
個人的にはせめて
<cfif VARABLES.flag> <!---// hoge //---> <cfelse> <!---// hogehoge //---> </cfelse> </cfif>
等とは思うのですが、そもそもcfifに続く条件式がアレなので、何も言いますまい。
また、動作環境もプロプライエタリなAdobe ColdFusion(WebサーバはJRun4だったかと)を購入しないといけませんし、無償のホスティング・スペースもないようです。PerlやPHPと比べて、何とも普及しない要素満載って感じですね。
で、なぜそんなColdFusionを使って、しかも見るからに車輪の再発明であるフレームワークを作ろうというのか。
理由の1つは僕個人の思考実験です。
ColdFusionという割と閉鎖的な動的型付け言語に、あえてJavaでよく見られるセオリーを持ち込んでみよう、と。でないと、LLという強みを活かしてサクサク作れるのは良いのですが(と言っても、CFMLが他の言語よりサクサク度が高いか、というと全然そんな事はないと思っています)、テスト・フェーズ、保守フェーズになった時、そのつけが回ってくるようだと全く意味がないです。
また、フレームワークというものを考え直してみようかな、という理由もありました。
Javaのフレームワーク群を見ると、もう百花繚乱で何が何やらって感じもあるのですが、そこで育まれた色々な「オイシイもの」がJava以外の言語になると途端に、というのも何だかモッタイナイ話だな、と。で、このColdFusionを仕事で使っておりまして、ともかくテストのやり方に頭を悩ましていたというのもあり、「ColdFusionでテストのし易さを求める」というフレームワークを作ってみようかな、と考えた訳です。
コードやテクノロジではなく、テストという実際のタスクに対するアプローチですので、設計から考え直さなくてはなりません。それゆえに「品質はプロセスやプラクティスで作り上げよう」といった発想になった訳ですね。
といろいろ書きましたが、なんていうか、ただのオレオレフレームワーク(笑)です。