2007-10-01から1ヶ月間の記事一覧

Like/Don't Like Ratio なら Smalltalk も負けていない…つか、圧勝。w

RubyとPerlとPHPと…、どの言語が最も「愛されて」いるか? - Love/Hate Ratio からデータを拝借して…(^_^;)。 言語 Love/Hate Like/Don't Like Smalltalk 3.806 362.9 Lisp 4.536 4.817 JavaScript 1.773 2.875 Python 4.356 1.709 Ruby 7.189 1.514 Java 1.…

クックの分類を意識した、Python による「未定義な遷移の解釈」の実装

OOP

Diary?::2007-10-12 - (22:35) 経由で、未定義な遷移の解釈 -- 3つの立場 - 檜山正幸のキマイラ飼育記 のうち未定義がエラーを(値として…)返す場合を同じく Python で。関数とメソッド(クラス内定義関数)の区別を持つ Python は、クックの ADT と PDA(O…

ADT にからめて、OOP とは何か?を単純化して分類・整理してみる

OOP

OOP は ADT のたんなる別の呼び名だよ。(現在主流。本質寄り) OOP とは ADT を「クラス」という言語機能で実現するものだよ。つまり、クラスの特徴である“継承”やそれに付随して使える“多態性”が、 他の方法で ADT(“カプセル化”)を実現したプログラミン…

Cincom Smalltalk(VisualWorks)を使ったスクリーンキャスト

Smalltalk は文法や仕組みはおどろくほど簡単なくせに、なぜか文書を通じて学ぶのが難しい言語処理系です。その背後にあるもののうち最初につまずく場所のひとつは、かつて、GUI がまだ一般的でなかったころの Mac において似たようなことが言えたのとも無関…

Ask Reddit に見る、そんなあなたが Squeak Smalltalk 使ってみたところで幸せになれるとはちょっと思えない10の場合

ときどきの雑記帖 リターンズ - Redditに訊け: Squeakのナニが間違っているのか? 経由で Ask Reddit: So what is wrong with Squeak Smalltalk? をながめていて、つらつらと「こういう場合は、ちょっと Squeak Smalltalk は薦めにくいなぁ…」とおもんみたと…

リスコフの「抽象データ型」について

OOP

「A History of CLU」(PDF) の 2. Data Abstraction からの抜粋。 概要 「抽象データ型」という考え方は、リスコフらにより 1972 年の終わりから 1973 年の夏頃までにまとめられた。 「抽象データ型」は、データとオペレーションのセット。 データの内部情報…

Python のクラスで驚かされたこと

new-style class のことを調べていていまごろ気づいて、ちょっとびびったのでメモ。それは、classic class のインスタンスの型は、それが属するクラスではないということ。 >>> class Foo: pass ... >>> type(Foo()) == Foo False もちろん、__class__ 属性…