ひ日誌
2004-10-06 ( ja -> en )
_ Portable Object Compiler
<URL:http://users.pandora.be/stes/compiler.html>
Objective-Cは、インライン Smalltalk の書ける C というか、インライン C の書ける Smalltalk というか、そんな風味の本物のオブジェクト指向言語であろう。なんちゃってオブジェクト指向言語ではくせ球・変化球を屈指してプログラミングする必要があるが、本物の場合そんなトリックを使う必要はない。直球勝負のオブジェクト指向プログラミングが可能だ。
Objective-C は gcc にも含まれているが、それとは別にPortable Object Compilerという処理系がある。 これにはいくつかの興味深い特徴があるのだが、中でも際立つのは Objective-C blocks だ。
[ary do: { :item | [self remove: item]; } ];
とか
id block = { :item | [item printOn: stderr]; };
[ary do: block];
みたいなことが。。ぐっ!Ruby みたいだ。
僕は数年前にとある仕事で一度使ったことがあるのだが、その後使う機会もなく忘れていた。はたしてこれを使ってる人はいるんだろうか。なんだかとてもマイナーな存在のような気がする。
_ 屋上カメラの映像
「ご覧のように横に揺れています」と言われても。。 USSエンタープライズに光子魚雷が着弾、したようなものか?
お邪魔します。Objective-C はもともと、Smalltalk のコードを C コンパイラに通すためのプリプロセッサとして作られたものが元になっているらしい…です。ですから、どちらかと言えば、前者ですね。 それにつけても、どうしてブロックみたいな便利なものが省かれてしまったのか、不思議です。 それとからめて(からめなくともw)、この文脈での“本物”のオブジェクト指向について、どんなものをイメージしておられるかについてもとても興味深いです。機会があれば、是非お聞かせください。
ギクッ!痛いとこ突かれた。と思いつつきょう(11/12)の日誌に返事書きましたので。。。