From: Hidetoshi NAGAI Date: 2003-08-26T02:00:19+09:00 Subject: [ruby-list:38251] Re: シュールな名前 永井@知能.九工大です. From: Take_tk Subject: [ruby-list:38243] Re: シュールな名前 Date: Mon, 25 Aug 2003 23:48:33 +0900 Message-ID: <20030825230355.7CB7.GGB03124@nifty.ne.jp> > [ruby-list:38240] Re: シュールな名前 にて > 堀川 久 さん 曰く: > > どうしてRubyが実際にどのように振舞うのか、という事実からそれほど一生懸 > > 命に目を逸らすのでしょうか。 > Rubyの現在の実装では変数はVALUE型の値の格納容器になっています。Rubyって > 実装とは異なった振る舞いをするのですか? 間違ってたら,ごめんなさい. たけ(tk)さんと他の方とで,抽象化しようとしているレベルが 違っているような気がします. まず第一に,現実世界とプログラミング言語の世界とは違うもの ですから,現実世界のどんな例を持ってきたとしても 説明しきれない/奇妙に見える/矛盾が生じる部分が必ず存在すると 考えておくのが正解でしょう. この点,名前説も箱説もどれも同じです. 釈迦に説法とは思いますが,「どのような対象者をどの程度の 理解度まで引き上げようとしているか」という前提条件を明確にし, その範囲でどれだけ「例外」に触れないでいられるか,また, さらなるステップアップの際に理解の妨げにならないかに注意して 議論を進めていかなければなりません. 引用部にあるように,たけ(tk)さんは「参照」として実装されている ソースレベルでの認識に基づいて,「参照」を納める「箱」として 変数を捉え,その視点に読者を誘導しようとしていると思われます. 初心者の入門の範囲でそこまでの認識に達することが必要かという点には 疑問も感じますが,その視点まで到達してしまえれば,確かにその後の ステップアップにも問題は生じないでしょう. この場合の問題点は,最初に「箱に入れる」という概念(イメージ)を 頭に入れさせてしまった後に,「実際は直接入れてるんじゃなくて 参照を入れてるんだよ」というように身につけたイメージを大きく 変更することを求めてしまっている点ではないかと思います. 一旦積み上げたものを崩してからステップアップしなければならない というのは,かなり負担が大きいのではないでしょうか. 名前説や名札説を推している方は,Ruby の見掛けの振る舞いのレベルで それらしく説明できることを重視しているのであろうと思います. Ruby 自体の実装には踏み込みませんから,「真の姿はスクリーンの 向こう側」というようなもどかしさが残ります. 後のステップアップの際にも,はっきりとは見えていない部分や 例がうまく適合しないケースでつまずくことがあるかもしれません. その代わり想定範囲内では,理解のステップにおいて大きな段差は 生じないと期待しているのだと考えます. 入門書としてどちらかを選べと言われれば,私は後者を選びます. -- 永井 秀利 (九工大 知能情報) nagai@ai.kyutech.ac.jp