FLAGS

筆者おかあつ 大きな区分 記事の区分 記事の一覧 検索 ツイート

2009年4月7日火曜日

今日の出来事 アルゴリズムのアイデア編 (mixi05-u459989-200904070812)

ミクシ内で書かれた旧おかあつ日記を紹介します。
今日の出来事 アルゴリズムのアイデア編
2009年04月07日08:12
今日はほとんど昨日と同じ行動を取った。 いいことだ。 実際今日はものすごく集中力が上がって、いろいろなことを考え付いた。 あっという間に一日が終わった。 今日違ったのは、サイアムパラゴンを閉店前にさっさと出てしまって、アソーク駅のマクドナルドに移動してしまったことだ。 マクドナルドは騒々しいのだけど、安い値段で長い時間滞在出来るので、便利だ。 前は仕事のときは必ずスターバックスに行って、何軒も掛け持ちしたりしていたので、お金が掛かったけど、今は僕が仕事に何が必要なのか見えてきたので、マクドナルドで充分集中できるようになってきた。

僕に必用な物は、静寂と音楽とコーヒーで、静寂は超高性能なマックス耳栓を使ってクリアできるし、音楽はiPodで充分、コーヒーはマックカフェで調達できる。 ちなみにスタバでよくかかっている音楽で、僕がすでにCDで持っているというやつは決して少なくない。 だからマクドナルドで充分スタバと同じ集中のクオリティーを出せる。

今日はあまり書くことがないので、考えたことを書こうと思う。

僕は今非階層型ファイルシステムという物を設計していて、これの開発に既に2年ぐらいかけている。 今、これの第2フェーズを設計しているところだ。 僕はこの新システムのことをNeuro と呼んでいる。

今日、僕は、こういうことを考えた。

僕が今やろうとしていることは、つまり、インターネット全体をひとつの仮想メモリ空間と考え、その上で動くオブジェクト指向言語を設計している、といえるのではないか、と気が付いた。 プログラミング言語はメモリ上で動くが、僕が今設計しているシステムはファイルシステム上で動くといえるのではないか。 ネットワーク上のリソースをP2P的に結ぶ手段を提供した上で、ネット上のファイルすべてにユニークな識別子をつけることにより、ひとつの巨大な仮想メモリ空間としてみなすことが出来る。 そして、その上で動作する言語を考えている、ということではないか、と思った。 思いついたとき、これは実際に動きそうだ、という感覚を持った。

われながら、こんなことを考えるのは、天才か大バカだ、と思った。

もうひとつ、これは今までもずっと思っていたことなのだけど、オブジェクト指向において、インターフェースとインプリメンテーションは、別個に継承できるようになっていたほうがいいのではないか、と思った。 こうすることで多重継承をしても混乱しなくなるのではないだろうかと思う。 僕は多重継承は必要だと思うタイプだ。 多重継承がないと、プログラム内にどうしても重複が増える。

で、多重継承を考えるとき、必ず出てくる問題が、「ダイヤ型継承問題」なのだけど、これは単に、再帰的な継承を許さない、というルールをつければ事足りるのではないか、と僕は感じる。 もしもどうしても重複しなければいけない場合は、同名の名前のメソッドを複数与えるのではなくて、単に合成してひとつにまとめてしまえばいいのではないかと思う。 更に、もしも合成すべき複数のメソッドがオーバーライドされたりして同一の動作をしない、というような場合は、自動的にアブストラクトメソッドに変更する、という仕様にすればいいのではないか、と思う。 多分これで動くのではないだろうか。

このアイデアをファイルシステムである Neuro に組み込んだら面白いのではないか、と思った。 このオブジェクト指向のインスタンスが、多分、以前書いた パーマンのコピーロボットと同じ動作をするのではないか、と思った。


もっときちんと細かい点を設計し、実際にプログラムを組んで実装し、はやく人に見せられるような状態にしたいな、と思う。 明日もがんばらねば...。

今日は多分、長い時間集中して、ものすごく疲れたんだと思う。 頭が痛い。 もう寝ようと思う。

コメント一覧
 
出展 2009年04月07日08:12 『今日の出来事 アルゴリズムのアイデア編』