2005年01月27日
川俣晶の縁側ソフトウェア技術雑記total 2187 count

これは正気の試みか、未来への希望か、パイプとフィルタを極めて大胆に拡張する檜山正幸さんのChimaira!?

Written By: 川俣 晶連絡先

 これとか、これのあたりで檜山正幸さんの書いたものについて紹介した関係上、これも紹介しておく価値があるでしょう。

 実は、檜山正幸さんから、以下のサイトを作ったというメールが来ました。

 概要は、このサイト中の主要な話題を見ると分かります。まず「このサイトの主要な話題はXMLである」と書き出し、最後に「このサイトはChimairaアーキテクチャのサイトである」と書いた上で、「Chimairaアーキテクチャは、XML技術の一部に対する再構成の試みであり、構文とソフトウェアに統合的な枠組みを与えるものである」とくくられます。

 つまり、このサイトは、何かの便利なソフトをみんなで開発しましょう、というような綺麗事の矮小だが分かりやすいプロジェクトではなく、「技術そのものの再構成」という抽象的な分かりにくいものを目指していることになります。

 しかし、「宗教と堕落した駄目なオブジェクト指向」(全てのオブジェクト指向ではない)などによって根本的に理論面で土台が腐りかけている現状のソフトウェア開発の現場から見れば、「技術そのものの再構成」は当然期待されることです。少なくとも、コンセプトの良さと比例しない、痛烈なまでのXMLプログラミングにやりにくさを改善する方策は、切実な必要性を持ってニーズのある問題です。それは便利なツールを誰かが作れば解決する問題ではありません。というか、そのような試みで、成功した事例を知りません。

告白 §

 正直、このサイトの内容を私自身は全く受け止め切れていません。

 その主要な理由は、それを読み取るための基礎的素養を欠いていることと、提示された概念の飛び抜けたオリジナリティにあると思います。

 だから、私自身、このサイトに書かれたことが何であるかを、部分的なカケラしか把握できておらず、それが正しいかどうか、紹介する価値があるかも分からない状況です。

でも紹介してしまうのは §

 でも紹介してしまうのは、パイプとフィルターの拡張としてChimairaを構想しているためです。たとえば、以下の文書がそれをよく示しています。

 私も、パイプとフィルターは非常に優れたものだと思っています。

 極論すれば、何らかの理由でオブジェクト指向プログラミングを捨て去るべき日はあり得ると思いますが、パイプとフィルターを捨てる日が来るという状況は、ちょっと思い描けません。

 そのことを少しは匂わせることを、2001/07/26に、xml-usersメーリングリストに書いたことを思い出しました。

 ここには、Relaxerの作者である浅海さんと全く意見がすれ違っているという状況が記録されています。

 この当時は良く分かっていませんでしたが、何がどうなっているのか今なら容易に推測できます。完璧なるオブジェクト指向の人である浅海さんからすれば、全てのシステムはオブジェクトというモデルに還元されて理解される必要があります。パイプとフィルターの基礎となる一元化された入出力という概念とは直接噛み合いません。OSの提供する構造は、利用者から隠蔽されるべき内部構造に過ぎないと認識されることが、必須の要件として要請されます。従って、それを長所と考える思考パターンそのものが、成立する余地がありません。しかし、私はOSが提供する生の構造そのものを良好に使ってきた経験上、それがまさか「必須の要件として隠蔽されるべきもの」であるとは思いもよらないことでした。

なぜRelaxerでは駄目なのか §

 浅海さんの名前が出てきたついでに、なぜRelaxerでは駄目なのかという話を付け加えておきます。

 Relaxerは、XMLプログラミングがやりにくいという問題を解決するための処方箋の1つということになります。その点では実用性が確かにあります。疑う余地はありません。

 もちろん、JavaをターゲットにしたRelaxerを、Javaプログラマではない私が使うことができない、という事情はあるにせよ、似たようなものを作って利用するという選択はあり得ます。実は、公開していませんが、RELAXと.NET FrameworkのオブジェクトをバインディングするRelaxerに似たソフトの試作品は作ったことがあります。それを発展させるという方向性は、確かにありました。しかし、それは途中で放棄しました。この路線に解はない、ということに気付いたからです。

 またまた念のために付け加えるならば、オブジェクトやRDBとXML文書をバインディングするツールとして、Relaxerは優秀です。実用性も高いと思います。

 私か感じる問題点は、別のデータモデルにバインディングしなければ使えない、というコンセプトそのものにあります。XML文書は、XML文書のデータモデルのままで扱いたいのに、どうしてそれができないのか。

 つまり、別のデータモデルにバインディングするということは、不必要に複雑度が上がり、かつ自由度が下がります。複雑度が上がることは、プログラムの生産性を下げます。自由度が下がることは、必要な処理を記述できかったり、まわりくどい記述を要求される可能性を意味します。高い生産性を維持しつつ、思い通りにXML文書を扱うプログラミングを行うためには、XMLのデータモデルそのものを扱うプログラミングのためのモデルが必要です。

 もしかしたら、Chimairaはそれをもたらしてくれるかもしれない、という根拠のない期待が、これを書かせているのかもしれません。

という結論で終わると綺麗なのだが §

 という結論で終わると綺麗なのですが、現実問題として、このようなコンセプトの有効性には、大きな疑問符が付きます。

 それは、なぜRelaxerには人気があるのかという理由にもつながります。

 Relaxerは、オブジェクト指向のことを知っているJavaプログラマに対して、オブジェクト指向の知識によってXML文書を扱う手段を提供します。それによって、プログラマはXMLに関する深い知識も、新しいモデルや言語も学ぶ必要に迫られません。それによって、上の文章で書いたこととは全く逆の結論が導き出されます。つまり、オブジェクトにバインディングした方が生産性は高くなるのです。

 もちろん、それは現在の特定の領域の状況の話であって、未来も同じであるかは分かりません。しかし、今現在の賢い選択にはなり得ない、というよりも、そもそも実現された実装もない状況では使いようがないのがChimairaです。

 Chimairaと付き合うには、おそらく伊達と酔狂が必要ですが、伊達と酔狂に付いていくことの愉しさは、田中芳樹の銀河英雄伝説でヤン・ウェンリー一派が見せてくれた通りです。

余談 §

 いかん、短い紹介文のつもりが、長くて熱い文章になってしまった。大失敗!

 貧乏なんだから、もっとお金を稼げる仕事をしないといかんだろう >自分

 伊達と酔狂は楽しいけれど貧乏神と仲良くなれるか!? (泣

2005年1月28日16時30分頃追記 §

 Chimaira.orgの更新情報などを掲載するブログを、檜山さんが開設しています。

Facebook

トラックバック一覧

2005年02月02日chimaira (キマイラ) と CSPFrom: philosophical

檜山正幸さんの新しいプロジェクト(?) chimaira が始まっています。最終的には「Chimairaアーキテクチャは、XML技術の一部に対する再構成の試み」ということで、XML 文書の処理や構造設計手法にインパクトを与える仕組みを定義するものになるようです。現在はまだ導入部であり、Chimaira... 続きを読む

2005年01月28日飼育記を開始From: 檜山正幸のキマイラ飼育記

http://www.chimaira.org/ (キマイラ)というサイトを作りました。このサイト自体は、単なる記事(HTML文書)の置き場所のようなものです。掲示板などを設ける予定もないし、RSSフィードも(おそらく)しません。 代わりにこちらで、更新の(事後)報告、更新の予告、ご意見・ご質問の受け付けなどを行おうと思います。 続きを読む

2005年01月27日檜山正幸さんの新プロジェクト(?)From: kunishi's Office Weblog

<p> JavaWorld誌でXMLボキャブラリについての連載記事を書いておられる檜山正幸さんが、なにやら面白いことを始めたようだ。... どういう成果が現実として出て来るか、今のところは全く分からないが、研究者としては道具立てだけでもなんかワクワクする。 </p> 続きを読む

キーワード【 川俣晶の縁側ソフトウェア技術雑記
【技術雑記】の次のコンテンツ
2005年
02月
08日
正しい読み方は何か、"^"記号の名称についての極めて不完全な調査
3days 0 count
total 13225 count
【技術雑記】の前のコンテンツ
2005年
01月
26日
WSH上で、COM版BlatJを使用して電子メール送信を行うサンプルソース
3days 0 count
total 3044 count
2005年01月27日
川俣晶の縁側ソフトウェア技術雑記total 2187 count

これは正気の試みか、未来への希望か、パイプとフィルタを極めて大胆に拡張する檜山正幸さんのChimaira!?

Written By: 川俣 晶連絡先

 これとか、これのあたりで檜山正幸さんの書いたものについて紹介した関係上、これも紹介しておく価値があるでしょう。

 実は、檜山正幸さんから、以下のサイトを作ったというメールが来ました。

 概要は、このサイト中の主要な話題を見ると分かります。まず「このサイトの主要な話題はXMLである」と書き出し、最後に「このサイトはChimairaアーキテクチャのサイトである」と書いた上で、「Chimairaアーキテクチャは、XML技術の一部に対する再構成の試みであり、構文とソフトウェアに統合的な枠組みを与えるものである」とくくられます。

 つまり、このサイトは、何かの便利なソフトをみんなで開発しましょう、というような綺麗事の矮小だが分かりやすいプロジェクトではなく、「技術そのものの再構成」という抽象的な分かりにくいものを目指していることになります。

 しかし、「宗教と堕落した駄目なオブジェクト指向」(全てのオブジェクト指向ではない)などによって根本的に理論面で土台が腐りかけている現状のソフトウェア開発の現場から見れば、「技術そのものの再構成」は当然期待されることです。少なくとも、コンセプトの良さと比例しない、痛烈なまでのXMLプログラミングにやりにくさを改善する方策は、切実な必要性を持ってニーズのある問題です。それは便利なツールを誰かが作れば解決する問題ではありません。というか、そのような試みで、成功した事例を知りません。

告白 §

 正直、このサイトの内容を私自身は全く受け止め切れていません。

 その主要な理由は、それを読み取るための基礎的素養を欠いていることと、提示された概念の飛び抜けたオリジナリティにあると思います。

 だから、私自身、このサイトに書かれたことが何であるかを、部分的なカケラしか把握できておらず、それが正しいかどうか、紹介する価値があるかも分からない状況です。

でも紹介してしまうのは §

 でも紹介してしまうのは、パイプとフィルターの拡張としてChimairaを構想しているためです。たとえば、以下の文書がそれをよく示しています。

 私も、パイプとフィルターは非常に優れたものだと思っています。

 極論すれば、何らかの理由でオブジェクト指向プログラミングを捨て去るべき日はあり得ると思いますが、パイプとフィルターを捨てる日が来るという状況は、ちょっと思い描けません。

 そのことを少しは匂わせることを、2001/07/26に、xml-usersメーリングリストに書いたことを思い出しました。

 ここには、Relaxerの作者である浅海さんと全く意見がすれ違っているという状況が記録されています。

 この当時は良く分かっていませんでしたが、何がどうなっているのか今なら容易に推測できます。完璧なるオブジェクト指向の人である浅海さんからすれば、全てのシステムはオブジェクトというモデルに還元されて理解される必要があります。パイプとフィルターの基礎となる一元化された入出力という概念とは直接噛み合いません。OSの提供する構造は、利用者から隠蔽されるべき内部構造に過ぎないと認識されることが、必須の要件として要請されます。従って、それを長所と考える思考パターンそのものが、成立する余地がありません。しかし、私はOSが提供する生の構造そのものを良好に使ってきた経験上、それがまさか「必須の要件として隠蔽されるべきもの」であるとは思いもよらないことでした。

なぜRelaxerでは駄目なのか §

 浅海さんの名前が出てきたついでに、なぜRelaxerでは駄目なのかという話を付け加えておきます。

 Relaxerは、XMLプログラミングがやりにくいという問題を解決するための処方箋の1つということになります。その点では実用性が確かにあります。疑う余地はありません。

 もちろん、JavaをターゲットにしたRelaxerを、Javaプログラマではない私が使うことができない、という事情はあるにせよ、似たようなものを作って利用するという選択はあり得ます。実は、公開していませんが、RELAXと.NET FrameworkのオブジェクトをバインディングするRelaxerに似たソフトの試作品は作ったことがあります。それを発展させるという方向性は、確かにありました。しかし、それは途中で放棄しました。この路線に解はない、ということに気付いたからです。

 またまた念のために付け加えるならば、オブジェクトやRDBとXML文書をバインディングするツールとして、Relaxerは優秀です。実用性も高いと思います。

 私か感じる問題点は、別のデータモデルにバインディングしなければ使えない、というコンセプトそのものにあります。XML文書は、XML文書のデータモデルのままで扱いたいのに、どうしてそれができないのか。

 つまり、別のデータモデルにバインディングするということは、不必要に複雑度が上がり、かつ自由度が下がります。複雑度が上がることは、プログラムの生産性を下げます。自由度が下がることは、必要な処理を記述できかったり、まわりくどい記述を要求される可能性を意味します。高い生産性を維持しつつ、思い通りにXML文書を扱うプログラミングを行うためには、XMLのデータモデルそのものを扱うプログラミングのためのモデルが必要です。

 もしかしたら、Chimairaはそれをもたらしてくれるかもしれない、という根拠のない期待が、これを書かせているのかもしれません。

という結論で終わると綺麗なのだが §

 という結論で終わると綺麗なのですが、現実問題として、このようなコンセプトの有効性には、大きな疑問符が付きます。

 それは、なぜRelaxerには人気があるのかという理由にもつながります。

 Relaxerは、オブジェクト指向のことを知っているJavaプログラマに対して、オブジェクト指向の知識によってXML文書を扱う手段を提供します。それによって、プログラマはXMLに関する深い知識も、新しいモデルや言語も学ぶ必要に迫られません。それによって、上の文章で書いたこととは全く逆の結論が導き出されます。つまり、オブジェクトにバインディングした方が生産性は高くなるのです。

 もちろん、それは現在の特定の領域の状況の話であって、未来も同じであるかは分かりません。しかし、今現在の賢い選択にはなり得ない、というよりも、そもそも実現された実装もない状況では使いようがないのがChimairaです。

 Chimairaと付き合うには、おそらく伊達と酔狂が必要ですが、伊達と酔狂に付いていくことの愉しさは、田中芳樹の銀河英雄伝説でヤン・ウェンリー一派が見せてくれた通りです。

余談 §

 いかん、短い紹介文のつもりが、長くて熱い文章になってしまった。大失敗!

 貧乏なんだから、もっとお金を稼げる仕事をしないといかんだろう >自分

 伊達と酔狂は楽しいけれど貧乏神と仲良くなれるか!? (泣

2005年1月28日16時30分頃追記 §

 Chimaira.orgの更新情報などを掲載するブログを、檜山さんが開設しています。

Facebook

トラックバック一覧

2005年02月02日chimaira (キマイラ) と CSPFrom: philosophical

檜山正幸さんの新しいプロジェクト(?) chimaira が始まっています。最終的には「Chimairaアーキテクチャは、XML技術の一部に対する再構成の試み」ということで、XML 文書の処理や構造設計手法にインパクトを与える仕組みを定義するものになるようです。現在はまだ導入部であり、Chimaira... 続きを読む

2005年01月28日飼育記を開始From: 檜山正幸のキマイラ飼育記

http://www.chimaira.org/ (キマイラ)というサイトを作りました。このサイト自体は、単なる記事(HTML文書)の置き場所のようなものです。掲示板などを設ける予定もないし、RSSフィードも(おそらく)しません。 代わりにこちらで、更新の(事後)報告、更新の予告、ご意見・ご質問の受け付けなどを行おうと思います。 続きを読む

2005年01月27日檜山正幸さんの新プロジェクト(?)From: kunishi's Office Weblog

<p> JavaWorld誌でXMLボキャブラリについての連載記事を書いておられる檜山正幸さんが、なにやら面白いことを始めたようだ。... どういう成果が現実として出て来るか、今のところは全く分からないが、研究者としては道具立てだけでもなんかワクワクする。 </p> 続きを読む

キーワード【 川俣晶の縁側ソフトウェア技術雑記
【技術雑記】の次のコンテンツ
2005年
02月
08日
正しい読み方は何か、"^"記号の名称についての極めて不完全な調査
3days 0 count
total 13225 count
【技術雑記】の前のコンテンツ
2005年
01月
26日
WSH上で、COM版BlatJを使用して電子メール送信を行うサンプルソース
3days 0 count
total 3044 count
【技術雑記】のコンテンツ全リスト【技術雑記】の表紙

このコンテンツを書いた川俣 晶へメッセージを送る

[メッセージ送信フォームを利用する]

メッセージ送信フォームを利用することで、川俣 晶に対してメッセージを送ることができます。

この機能は、100%確実に川俣 晶へメッセージを伝達するものではなく、また、確実に川俣 晶よりの返事を得られるものではないことにご注意ください。

このコンテンツへトラックバックするためのURL

http://mag.autumn.org/tb.aspx/20050127163831
サイトの表紙【技術雑記】の表紙【技術雑記】のコンテンツ全リスト 【技術雑記】の入手全リスト 【技術雑記】のRSS1.0形式の情報このサイトの全キーワードリスト 印刷用ページ

管理者: 川俣 晶連絡先

Google

Powered by MagSite2 Version 0.21 (Alpha-Test) Copyright (c) 2004-2015 Pie Dey.Co.,Ltd.