From: matz@... (Yukihiro Matsumoto) Date: 2003-08-26T15:51:22+09:00 Subject: [ruby-list:38273] Re: かみ砕いた説明をすべき範囲 まつもと ゆきひろです In message "[ruby-list:38267] Re: かみ砕いた説明をすべき範囲" on 03/08/26, Take_tk writes: |メリット:この概念を使用することによって、次の現象の違いを「Aはstr1と |str2とがオブジェクトの共有の関係にあるので破壊的メソッドの影響を受けるが、 |Bではstr3とstr4はオブジェクトの共有の関係にないので、破壊的メソッドの影 |響を受けない」というように説明できるようになる。 「この概念(箱モデル)」と「共有関係」という二つの概念を使って、 「次の現象」を説明できることには同意しますが、名札モデルだっ て「次の現象」を説明できるわけですから、メリット(=その方が 良い)かどうかについては更に述べる必要があると思います。 箱モデルを使って説明できることについて疑問を持っている人はい ないと思います。今はただ説明できるかというレベルを越えて、今 後のためにそれが良い説明モデルかどうかを話したいのです。 そういう意味では[ruby-list:38234]で語られたような内容を始点 に議論を深めていきたいです。もう一度(一部を)引用しておきます。 In message "[ruby-list:38234] Re: String << の動作につきまして" on 03/08/25, Take_tk writes: |『Rubyの冒険』の最初の文字は「はじめに:Ruby:本書はRuby言語を使ったプロ |グラミングの入門書だ」というものなのです。が、これには次の二通りの解釈が |可能。 | |A.《Ruby言語を使ったプログラミング》の入門書 |B.Ruby言語を使った《プログラミングの入門書》 |Aの立場であればRuby言語の変数の本質に一番近い比喩で語るのが望ましい。他 |の言語についての知識がある人にRubyを理解してもらうためには、Rubyの変数 |の特徴を強烈にアピールする方が、Rubyの変数の本質を理解する近道になる。 | |Bの立場であればRuby以外の言語でも通用するような、かつ、Rubyでも当たらず |とも遠からずの比喩から始めるのが望ましい。 | |まあ、このように考えて、たけ(tk)はBのスタンスをとることにした、というわ |けです。 | |Bの読者にとってどちらがベターなのかは、実際のところは分かりませんけどね。 |それともう一つの理由は、正確に理解するためには「変数にはオブジェクトのI |Dが入っているだけだ。IDは普通はオブジェクトの本体の所在地を示す番地だ」 |というようにつなげていくしかないだろう。 | |その前ぶれとしては、箱説のほうが説明しやすそうだ、という思惑もありました。 |もう一つ悩んだのは、「配列やハッシュというオブジェクトとその要素・値とな |るオブジェクトとの関係」と「変数とオブジェクトとの関係」は本質的に異なる |ものなのか? ということ。 | |名前説をとった場合に配列と変数が似た性質を持つことをどうやって説明しましょ |うか? 配列も要素オブジェクトの名前だ(※)、となるのか?