タグ

Designとarchitectureに関するmechairoiのブックマーク (2)

  • エディタのデザイン - 言語ゲーム

    金曜日にプレゼンがあって、久しぶりに徹夜した物だから週末はめちゃくちゃしんどかった。ので、今日はほとんど一日寝ていた。まだしんどい。が、せっかくなので内部でプレゼンしたスライドをアップする。 エディタのような普通のアプリをどうやったら綺麗に記述出来るだろうかという話です。まー例えば入力が元のテキストとキーボードイベントで、出力がテキスト画像と変更後のテキストであるような関数をエディタだと考える事が出来ます。 これを素直にプログラムで書くと、こんな感じになります。上からイベントがやってきて、テキストの内部表現(TextBuffer)を変更します。それを画面に表示するにはレイアウト用のデータ構造(TextView)を作成して、さらにビットマップに変換してデバイスに送ります。確かに単純ですが、これを副作用抜きで毎回オブジェクトを作るとなると遅すぎて動きません。数百文字で挫折します。 という事で、

    エディタのデザイン - 言語ゲーム
  • 明日の空模様 - Backnumbers: Steps to Phantasien

    ある Mac プログラマから "WebKit ってドキュメントがすくないよね" という話を聞いた. WebKit の挙動が気に入らないので直せないかと調べたところ, Mozilla と比較した文書の少なさに呆れたという. 私としては連載枠が貰えたのもひとえに文書がないおかげだから, そこに不満はない. (むしろめでたい.) けれどコードを直したい人が不便なのは困ったことだ. WebKit に比べ, Mozilla の内部は網羅的ではないにしろそれなりに文書化されている. この違いはどこから来るのだろう. 私の印象は, Mozilla が "書き直し" プロジェクトだからというものだった. Netscape は Netscape Natigator 4.x のコードベースを捨て, ほぼスクラッチから Gecko を書いたとされている. 私の仄暗い経験によれば, 書き直しのプロジェクトは最初に

  • 1