タグ

sumimに関するIMAKADOのブックマーク (2)

  • プロトタイプベースの誤解 - Smalltalkのtは小文字です

    クラスベースのOOとプロトタイプベースのOOで決定的に違うのは、プログラムを動かしている最中にオブジェクトが出来ること、すなわちメソッド(method)を追加したり再定義したりできるかだ。 404 Blog Not Found:タイプ・クラス・プロトタイプ - OOの語彙 これはひどい。w オブジェクトに対して動的(実行時)にメソッドやインスタンス変数を追加できることと、“プロトタイプベース”においてオブジェクトがそれが属するクラスによらず独自のメソッドやインスタンス変数を持てることとは別の話です。 あらためて、「プロトタイプベース」という用語自体に問題が多いことを実感させられる記事でもありますね。個人的には、クラスを用いないオブジェクト生成手法の話でないのならば(つまり、「プロトタイプの複製でオブジェクトを生成する」ことが話の筋でないならば)「プロトタイプベース」ではなく、「インスタン

    プロトタイプベースの誤解 - Smalltalkのtは小文字です
  • Smalltalk と Ruby と LISP のシンボル - Smalltalkのtは小文字です

    Smalltalk も Ruby も LISP もシンボルの質は、いずれも“インターンされた文字列”です。インターン(intern)にはよい訳語を思いつかないのですが、簡単には「登録され管理された…」という感じでしょうか。しかし、実装や振る舞いは必ずしもそのとおりにはなっていません。特に文字列だと意識して扱う際には注意が必要でしょう。 注意:ここでの「Smalltalk」とは Squeak の Smalltalk を指します。他の Smalltalk 処理系(特に、デファクト・スタンダードの VisualWorks や ANSI 準拠のお手製 Smalltalk 処理系)では異なる挙動を示すとのご指摘を受けましたので、お詫びして修正、以下の項目に追記をさせていただきます。 Smalltalk のシンボル Smalltalk のシンボルは、“等価なら常に同一で、イミュータブルな文字列”とい

    Smalltalk と Ruby と LISP のシンボル - Smalltalkのtは小文字です
  • 1