余談だが、Collectionのat:ってのはかなりビビったです。Smalltalkにゃ配列用の構文が無いわけね。非常識、な)ことを列挙してみましょう。ことに偏りますが、あしからず。ビビったことでも歓迎です。○○でもそうだよ、というツッコミも。配列の構文(Cの「a[b][c]=d;」とかみたいな括弧を使う奴)がない「すべてがオブジェクト」と表現されることが多いですが(それもそうなのですが、このようにオブジェクトの属性にアクセスする方法について言及するときには)正確には「すべてがメッセージ送信」なのですよね。これは他のと逆で、何気なく使っているときは気がつかないけれど、その仕組みを知るとビビるもののひとつですね。--sumim文がない上と関連するかもしれませんが、文はなくすべて式、それもメッセージ式(オブジェクトへのメッセージ送信を記述した式)なのはビビりました。文すら必要ならメッセージ式で表現する始末。脳が形成されるまで、違和感であり続けるでしょうね。--sumim加算など二項演算子の定義を変えられる正確には演算子ではなく「二項メッセージセレクタ」と呼ぶべきものですが、演算子としてのそれは変えられないのが常識だったので最初はビビりました。--sumim色々な言語の考え方に触れていると、結構アレだったりしますよね。全部関数だとか(Lisp)、糖衣構文が定義できるとか(Haskell)。デフォルトだとやっぱりビビるのだと思いますが、どうなんでしょう。--spiralそうですね。アセンブリ言語とマシン語でしたから、新しい言語に出会うたび、かなりビビりまくりでした。いろいろな言語に触れて先入観を“ほぐして”おくことは大切ですね。知ってからは、「変わっている」といわれる言語にはじめて触れる機会を得てもあまりビビらなくなりました。理解が深まった(ような気がする(^_^;))などの副作用も。ああ、これはあれねってなかんじで。すべてを網羅できているわけでもないのに、不思議なことです。自身で書かれ、それを閲覧・編集できる正確には関数ではなくメソッドですが、通常の言語ではその定義がどうなっているかなどという興味すら起こらなかったのでビビりました。今は逆に、定義が見れないとフラストレーションがたまります。さんが言及しておられましたね。文字を入力できるところならどこでもコードを評価、実行できる仕組みを知れば当たり前なのですが、最初はビビります。--sumimはじめまして。当方Smalltalk初心者です。「仕組みを知れば」という言い回しをよくされていますが、sumimさん的には具体的にSmalltalkのどのような側面をもって「仕組み」とおっしゃっているんでしょうか。選択範囲の文字列を評価・実行する機構も定義されています。インスタンスが関与しているので、コードが実行できる」のは「当たり前」だとの判断が成り立つ...という意味合いでくだんの言い回しを使っています。この説明で、疑問を呈しておられることの答えになっているとよいのですが...。--sumimなるほど。「それぞれ関連するクラスの」仕組みを知っていれば、という意味なのですね。このページのすべての場合にすべて通じるような、根底に存在する奥義みたいなものがあるのかと安易に期待してしまっていました(^^;。--katsuそうですね。期待させてしまいましたか(^_^;)。ある意味、とてもプアです。ハズしているかもしれませんが、「すべての場合にすべて通じる」ようなことはあるにはあります。それは目に付いたオブジェクトのインスペクトと(そのクラスの)ブラウズです。環境内にいるときは必ず)日常的に行なわれる類のものですが(^_^;)。--sumimある関数をその定義で使っている全関数の定義を列挙できる正確には「あるメッセージセレクタを使っている、全メソッド定義を列挙できる」ですが、これも驚きました。おける命名法やカテゴリ分けなど、紳士協定的あるいは暗黙の了解的な文化は育まれなかったでしょう。使っていたもんで...(^_^;)、ビビってしまいました。状況を説明するのに好ましい長さの(他の言語から見たら異常なほど冗長な)クラス名やセレクタを比較的ストレスなく使えるのだとの印象でいます。あしからず)、理解に苦しむところでしょうね。コンテキストを参考にするかなりインテリジェントな補完機能が入ったと聞いていますが、それなしにはこれまで大変だったでしょう...)。APIドキュメント専用のいいブラウザがあれば、それでOKでした。入力しやすさよりも読みやすさの方が圧倒的に重要です。関数はどの引数が何なのかコンマで区切るだけだとさっぱりわからない。--やまねこ文書については閲覧だけでなく選択&コピーができることは重要ですね。ヘルプ」には辟易とさせられます。システムではウインドウのタイトルまでもが選択&コピー(ふつうそんなことはしませんが、一時的な編集、式としての評価すら)可能なので、とっても心やすらかでいられます。--sumim画面に直接絵が描けるどちらかというと、GUI編でしょうかね。cursorPoint]]で絵が描けてしまうとか。エンドユーザーをやっているかぎり、考えられないことでした。さんのご質問に絡めて、言語編で関数の定義を知ることができることにも通じるところがありますが、環境のあらゆる動作がどうしてそうなるのかを(好ましい動作、好ましくない動作のいかんを問わず)ユーザーが知ることができることはビビりました。図形オブジェクトがウインドウの外に存在できるこれも仕組みを知れば、あるいは図形オブジェクトにウインドウのフリをさせているだけと考えれば不思議はないのですが、データの編集にはアプリケーション(と、それに帰属するウインドウ)が付き物との既成概念があったエンドユーザーとしてはビビりました。キーボードショートカットの豊富さやパワフルさにはビビりました。アプリという概念が希薄であるとか、そのしくみを知れば当たり前なのですが、どこでも同じキーボードショートカットが使えるというのも不思議に思えました。cmd/alt-e(exchange)で、クリップボードを汚さずに一発で指定した2カ所の文字列を入れ換えられる機能です。コピー、カット、ペースト、アンドゥと同等の待遇(ってなに?(笑))を与えてあげたいくらい、よく使います。ページから参照されています。