2011-09-01から1ヶ月間の記事一覧

続々 プログラミング言語 Io : 多重継承

Io は、多重継承ができる。 プロタイプベース 前にも書いたように、Io は、クラスベースではなく、プロトタイプベースのオブジェクト指向言語。Vehicle := Object clone Car := Vehicle clone Civic := Car cloneと宣言していけば、Vehicle というオブジェク…

非同期メッセージング

すべてはメッセージというのは、オブジェクト指向の原始時代からあった発想だけど、 Io を使って、すっかり気に入ってしまったのは、メッセージの処理を、並行して、非同期に、実行する仕組み。@@メッセージとやってやると、そのメッセージは、キューに突っ…

すべてはメッセージ

Io では、 Io> ターゲット メッセージというのが基本構文。(というか、これだけ)興味深いのは、 Object のスロットIo> Object slotSummaryとやると、if, for, switch, while, and, or , ...などがスロットとして一覧される。制御文も、すべて、メッセージ…

名前空間のルート Lobby

上記の today を格納した Map は、 Lobby という特別な名前のオブジェクト。 Io の名前空間のルートになる。Io> プロンプトは、ようするに、 Lobby からの問いかけ ( Can I help you ? )。このプロンプトに入力した内容は、Lobby へのメッセージになる。Io> …

すべては、Map ( Key-Value ペア )

Io は、すべてのオブジェクトは、Java でいえば Map。 名前(文字列)をキーにして、何らかの値を持つ。Map のエントリ( key - value のひとつのペア ) を スロット と呼ぶ。スロットの値は、List とかでもよいし、メソッドでも良い。単純に言えば、 Io の…

続:プログラミング言語 Io ちょっとした入門ガイド

Io をいじりはじめて、あ、そういうことか、と思ったことのメモ。

プログラミング言語 Io が面白い

「7つの言語 7つの世界」を読んでいる。 いろいろなプログラミングのパラダイムを知ると、視野が広がることを実感。7つの言語の最初の Ruby は、まあ、情報も多いし、母体(?)が、昔、いじっていた、 Lisp, Smalltalk, Perl なので、あまり、視野が広が…