#266 EBt作者さんのブログより「EBtの基本概念」   #Piggydb Blog     13 years ago (owner) Document
ここ最近Piggydb.jp上で熱いEBtですが、大変光栄なことに、作者のおかださんがPiggydbに言及して下さり、EBtについて大変興味深い記事を書かれています。
EBtが参考にしたというBTRON、名前だけは聞いたことがありましたけど、そういうものだったんですね。これは調査せねば。EBtもユーザーさんにご紹介頂いたので、こうやって知識が広がっていくのかと思うと感慨深いですね。
さて、せっかくEBtの経緯をご紹介頂いたので、Piggydbについても軽く紹介してみることにします。
Piggydbは元々、EBtほど明確な問題意識があって生み出されたものではないのですが、私がオブジェクト指向言語でプログラミングをしてきたこと、そしてWikiというWebアプリケーションに慣れ親しんできたことがアイデアの源泉にあることは間違いないと思います。
オブジェクト指向言語と言っても、JavaやC++なので、正確には「クラス指向」と呼べるものです。ネットワーク構造はオブジェクトのトポロジー、タグはそのままクラスに対応しています。もし私がSmalltalkのような純粋のオブジェクト指向言語に慣れ親しんでいたら、あるいは、EBtのようなものを作ったのかもしれません。
そのオブジェクト指向のモデルをWikiと融合したものがPiggydbの背後にあるのではないか、これは後付けの理由ですけれど、そのように考えています。
EBtの場合、オブジェクト指向と言っても、プロトタイプベースと呼ばれる、クラスのないモデルに近いような感じがします。オブジェクト指向をとことん純化すると、クラスという仕組みでさえオブジェクトで表現できるので、本当にオブジェクトだけの世界を構築できます。これはEBtの「メモ+リンクだけ」というシンプルさに通じるところがあります。EBtでもその気になればクラス(タグ)を実現できますし。
しかし、オブジェクトだけの世界だとしても、結局クラスのような仕組みは必要になる。それがプログラミング言語の世界でした。何故かと言えば、同じようなオブジェクトを共通化して表現をコンパクトにする必要があったからです。これは知識の世界で言えば、概念を発見して語彙を増やすということです。具体的な情報がぞろぞろと並んでいる状態から何かを掴んでそれを表現する手段があれば、それをボトムアップに構築できれば、面白いものが出来上がるのではないか、それが後付けで今のところのPiggydbのテーマです。
EBtについて興味深いなと思うのは、やはり「双方向リンク」です。おかださんの記事を丹念に読んでいくと、この「方向」というのは、モデルに含まれるものではなくて、情報を追いかけるときの方向なのかなと思いました。つまり、これはナビゲーションの問題で、私が考える「方向」とはレイヤーが違うような感じがします。そう考えると、EBtのモデルとしてはラベルを使用しない限り、リンクは「無方向」で、単純にネットワークというトポロジーだけがあると。そう考えると、私の言葉で言えば「構造」だけがある、ということになるのかなと思いました。そしてその解釈はアプリケーションの機能やユーザーの頭の中に表現されている。
その他、「リンクの方向に縛られて、思考が阻害される」というのは、なるほどと思いました。確かにPiggydbにおいては、つながりを作るときに「この方向で良いかな?」と一瞬考えてしまうことがあります。これはネットワークのノードが、テキストのように内容が曖昧なものになると、特に問題になるような気がします。文章としての上下関係は迷いませんが、比較的対等な横つながりの関係では煩わしい問題になりそうです。これは改善のきっかけとなりそうな良いヒントを頂きました。
以上、思いつくままだらだらと書いてみました。EBtブログの続きが楽しみです。