«前の日記(2007-06-27) 最新 次の日記(2007-06-29)» 編集

Matzにっき


2007-06-28 [長年日記]

_ 「Google デスクトップ」のLinux版が公開 | パソコン | マイコミジャーナル

公開された。オープンソースでないのが気に入らないが、 とりあえず使ってみることに。

しかし、いつまでたってもインデックス作製が終わらない。 このペースだと数週間くらいかかりそう。

_ [言語] steve dekorte - Dynamic vs Static Programming

Ioの作者、Steve Dekorteによる動的プログラミング対静的プログラミング。

動的プログラミングには静的プログラミングにはできない柔軟性があるが、 それには動的プログラミングの流儀(or 文化)に従う必要がある、という話。

面白かったのはここ

For example, I worked at a Smalltalk consulting company for a while where I heard a horror story of a company that made the move from COBOL to Smalltalk but then proceeded to write all their Smalltalk code in COBOL style - one big class with all their old COBOL functions directly translated to Smalltalk methods. I suspect those COBOL programmers would claim Smalltalk wasn't any more productive, just as people that use dynamic languages but not dynamic design patterns would.

私は以前Smalltalkコンサルティング会社で働いていたが、 COBOLからSmalltalkに移行したある会社での「怖い話」を聞いたことがある。 その会社はSmalltalkで開発していたが、まったくCOBOLスタイルのままであった。 つまり、ひとつの巨大なクラスがあり、以前のCOBOLプログラムの機能が 直接Smalltalkのメソッドに置き換えられていた。 おそらく、COBOLプログラマは「Smalltalkに移行しても全然生産性が上がらないよね」と 不平を感じていたに違いないと思う。 動的言語を使っても動的デザインパターンを使わない人々と同じように。

で、Steveからのチャレンジは以下のようなもの(一部)。静的言語でこれが(簡単に)できるか。

  • 動的にメソッド、オブジェクト、継承、名前空間を追加できるインタフェースビルダー。
  • 巨大なスタブ生成を必要としない分散オブジェクトシステム。
  • その言語だけで記述されたデバッガー
  • バージョン問題などに悩まされないオブジェクトデータベース。
  • 現在あるクラスだけでなく将来のオブジェクトに対しても動作するようなコード。

私の見る限り、Javaなどではこのような動的性質はXMLという別の動的言語を アプリケーションに組み込むことで実現しているように思う。 それはつまり「グリーンスパンの第10法則」ってことだよね。

_ [言語] The Future of TurboGears - TurboGears

次期TurboGearsはPylonとマージする、という話。

それがどういう意味を持つのか、私にはよくわからないけど、 フレームワークが進歩していくのは良いことだと思う。 互換性が必要な人たちは泣くかもしれない。

_ [Ruby] Rubricks Project - Rails/Ajax高速化関係メモ

Rubricksの経験から学ぶRails/Ajaxの高速化テクニック。 なんか結局はIE対策が中心。

IEでのJavaScriptプログラミングはなかなか大変そうだ。 2月に大西さんと話した時も嘆いていた。

_ [Ruby] Pivotal Blabs : Rails, Slashdotted: no problem

Railsで記述された特許レビューサイトPeer-to-patentが Slashdottedされたが、別に問題ではなかった、という話。Railsでも頑張っている。

鍵はキャッシュの工夫らしい。かれらはholeless cacheという独自テクニックを使ったそうだ。 シンボリックリンクを使ったキャッシュと言うのは珍しい。

本日のツッコミ(全6件) [ツッコミを入れる]
_ みずしま (2007-07-07 21:34)

> 静的言語でこれが(簡単に)できるか<br><br>正直言って、最初の二つ以外は動的/静的で劇的な違いは<br>無いような気が…。

_ まつもと (2007-07-07 22:12)

残りのものも不可能ではないにしてもずいぶん難易度が違うと思います(eval使えないし)。<br>最後のものは「適切に設計したクラスに対してであれば」劇的には違わないでしょうね。これはDuckTypingをどの程度評価するかにかかってくるでしょう。

_ 元職業プログラマ (2007-07-07 23:34)

Googleデスクトップの件ですが、まつもと様のマシンのHDが壊れるのが心配です。

_ まつもと (2007-07-08 00:23)

確かに。ずーっとHDD回りっぱなしですからねえ。<br>もう1週間以上たちますが、まだ検索可能アイテム数は増え続けてます。<br>今、25万ファイルを少し越えたところです。

_ みずしま (2007-07-08 04:42)

うーん。evalとか使えればそんなに書きやすくなるのかなあ<br>というのが正直疑問なのです。とはいえ、最後の項目について<br>以外は実際に書いた経験が無いので、どうとも言えないの<br>ですが。<br><br>ただ、最後の項目に対してだけは、はっきり「違いは無い」<br>と言えます。ただし、structural subtyping(あるいは同様の<br>型システムを持つ言語なら)を持つ静的型言語なら、という<br>条件付きではありますが。

_ みずしま (2007-07-08 04:55)

すいません。最後の項目について、リンク元の文章の趣旨を<br>誤解してました(message forwarding云々の話とか読み飛ばして<br>ました)。というわけで、最後の項目についても(自分にとって<br>は)なんとも言えないということで。

お名前:
E-mail:
コメント:
[]

«前の日記(2007-06-27) 最新 次の日記(2007-06-29)» 編集

track feed Matzにっき Creative Commons License This work is licensed under a Creative Commons License.