Yukihiro Nakai
ynaka****@redha*****
2004年 6月 21日 (月) 03:41:49 JST
> > > > ・Anthy/UIMのコードは、他のオープンソースなソフトウェアで再利用可 > > > > 能ではない。 > > > > あるいは、再利用することは開発陣の意図に反する。 > > ライセンスについては理解しましたが、技術的にはどうでしょう。 > > > > GNOMEプロジェクトのミゲルが言うには、 > > GNOMEがCを使うのは、 > > C++はC++の世界でしか再利用可能ではない > > LispはLispの世界でしか再利用可能ではない > > PerlはPerlの世界でしか再利用可能ではない > > ... > > だからである、とのことです。 > > C++はライブラリにすればCから呼べるし他の言語もがんばれば再利用可能かも > > しれませんが、Huskellで書いたものをCから呼んでひまわりで再利用、などと > > やってると余分な手間が多くなっていきます。 > > 再利用可能の定義はなんでしょうか? 気になっているのは、粒度の大小を問わず、別の目的で使うことがどれだけ 可能か、です。たとえば、 粒度大: アプリケーションが使える。 粒度中: ライブラリが使える。 粒度小: コードが使える。 この意味ですと、reusableの訳語ではなくて、転用可能かどうかと言ったほうが 近いかも知れません。 > ひとまず、あるプログラミング言語で書いたソフトウェアを他のプログラミン > グ言語で書かれたソフトウェアから利用できる事を再利用可能である、と仮定し > て話を進めます。(この定義には違和感がありますが。) > > > 再利用不能なコードを作っても、メリットは限られます。 > > Anthy/UIMプロジェクトで作ったコードや周辺ツールは、それ以外の世界では > > 無駄になってしまうそうなのですが、この認識は正しいでしょうか。 > > それ以外の世界というのがよくわかりません。とりあえずAnthy/uimは再利用 > 可能かという点に絞って話を進めます。 それ以外の世界というのは、Anthy/UIMがない世界、別の入力メソッドフレームワーク だけがある状態のことを表現しています。IIIMFかもしれませんし、IIIMFが否定されて 別の禍々しいものであるかもしれません。 > Anthy自身は純粋にCで書かれたかな漢字変換エンジンであり、そのコードは > bindingさえ書けば、様々なプログラミング言語で再利用可能です。周辺ツール > に関しては使用言語に依るでしょう。 > > uimはSchemeインタプリタを内蔵していますが、アプリケーションからみれば > C言語で書かれたライブラリであり、bindingさえ書けば様々なプログラミング言 > 語で再利用可能です。(uim-ximはC++で書かれていますが、これは例外。)周辺 > ツールに関しては使用言語に依るでしょう。 なるほど。よく分かりました。 -- Nakai