コードとXMLのアンニュイな関係。
コードがJavaからXMLになってるだけ。ああ、まぁ、そうやね。
っつうかね、フレームワークエンジニアは、
結局極まるとコンパイラ作るしか無くなるんじゃねぇかなぁ…と思う訳で。
どういう事かと言うとですな……。
Javaは汎用言語で、たとえば、Webアプリ作る為だけの言語じゃないから、
ポンっと言語だけ渡されても、ヘタレにはどうして良いか分からんので、
フレームワーク作る人達は(特に昔の僕とか。)、
こんな事を考える訳さ。
- 書けるコードの範囲を狭めたい。
- コードの記述を特定のパターンに押込めたい。(静的チェック+動的チェック)
- パズル的なAPIの組み合わせだけで、アプリを作れる様にしたい。
これって、結局、俺様言語を設計するのとあんまり変わらないのです。
でも、コンパイラ作るのは大変*2だから、
ある意味メタコンパイラ的な動きをするXMLパーサに頼る訳。
DTDなりスキーマなり書くだけで、基本的なチェックはやってくれるし、
カスタムのチェックを入れたければ、
必要な部分だけカスタムチェック追加出来るからねぇ。
SAXマンセーとか言いながら。
コーディングする為の、エディタもXMLエディタ使って下さい、で最低限の所は済んじゃうし。
要は、ヘタレフレームワークエンジニアは、
色々理由を付けてコンパイラ作らずXMLに頼る。と。
その結果、特にJava方面で生まれた問題が、XMLヘルですよ、と。
Javaのコードのある部分をXMLに切り出す事の一番の問題点だと僕が考えているのは、
XMLは単なるデータ構造であり、処理構造を記述するには、ムリがあるって事かな。
いや、何かさ、便利なツールがあってだね、そのパーシスタンスモデルとして、
XMLを使うってのは、全然問題ないと思うよ。
人間様が、全くもってそのXMLを触らないってんならさ。
デモネ、プログラムする為の言語としてXMLを使うってのは、NGなんじゃないかなぁ…とな。
いや、ぶっちゃけifタグとかforタグとか正直勘弁して欲しい。
イッパイあるよね、そういうテクノロジ?そんな感じ。
フレームワークにとって重要な事は、
- 簡単な事は簡単に。
- 複雑な事は抽象化。
それが出来てないフレームワークは、少なくとも僕は使いたくねぇなぁ…と思う訳で。