教育分野で注目の…、Squeak

アップル・ユーザグループ ミーティング in Tokyo で、もう三回目になる大座畑さんを講師として迎えた Squeak 講座の紹介記事。

アプリケーションとして組み込まれた Squeak eToys を意味していると暗黙のうちに了解可能な文脈でならともかく、Squeak システムそれ自体を指すことも多い「Squeak」をして「プログラミング言語」と限定してしまうような言い回しは、ぼちぼちやめてほしいと言い続けてはやウン年の身としてはちょっと痛いタイトルなのですが、Sketchpad も言語扱いになっているので、もしかしたら、なにか含むところがあるのかもしれません。


Sketchpad の映像(勝手にミラー)はこちらで。

新しい PowerBook G4 は緊急モーションセンサー付き

おっ、OQO と一緒の?とか思ったら、Apple 独自のものなんですね。でもこれ、Win XP だとハングアップの原因になるようで、OQO では切っている(Fn + J)人もいるようです。OQO のように振り回して使う人はいないと思いますが、PowerBook G4 w/ OS X の場合は大丈夫なのでしょうか。

Java プログラマが知っておくべき Ruby についての 10 のこと

Matz にっき経由。10 どころじゃない!というツッコミはお約束なので入れておくとして、Smalltalk 関連としては、

Is a lot like Smalltalk, but doesn't look as funny

というのがありますね。Smalltalk 言語は、はじめにあの funny な記法ありきなので、メッセージ指向というドグマを受け入れられないのと同様に、あれを拒絶するとちょっと幸せにはなりにくいかもしれませんね。メッセージ指向はセマンティックスにあるだけで十分…という向きは多いとは思いますが。

他に、直接は関係ないのですが、

"." (dot) is a method call operator. "::" (colon-colon) is a scope operator

を見て、Smalltalk のメッセージ式の記法の特徴は、メソッド起動のためのオペレータが必要ないこと…という言い方もできるのかなぁ、と気が付いたのでメモ。

Re: オブジェクト指向とオブジェクト管理


関連:id:sumim:20040525:p1


また、村山さんにオブジェクトの広場 ML で参照していただいているようです。いつもありがとうございます。


継承は大事ですよね。ストラウストラップもかの whatis 論文(「C++ の設計と進化」風に言えば、「…とは何か?」論文。PDF)の最後に、オブジェクト指向プログラミングは「継承を用いたプログラミング」だと言い切っていますし。

Object-oriented programming is programming using inheritance. Data abstraction is programming using user-defined types. With few exceptions, object-oriented programming can and ought to be a super-set of data abstraction. These techniques need proper support to be effective.

ただ、(村山さんも最後の一文にて意識しておられるところかと思いますが)継承には型安全性を脅かす可能性があることをクックの指摘PDF)により知っておく必要もありますね。もっと言えば、継承、あるいはそれを用いるためのクラスという言語機能は、もともと、オブジェクト指向のために作られたものではなく、(クラス指向に限っていえば←コレ重要!)ユーザー型定義のためにオブジェクト指向において転用され、便利がゆえに長らく使われているうちに定着したものにすぎないことを併せて知っておくと Javaインターフェイスとかへの理解も深まってよいと思います。