2004-11-01から1ヶ月間の記事一覧

メソッドの書き手の数を数える

Squeak のような古典的な Smalltalk システムでは、メソッドのコンパイル時(編集、追加時)に書き手のイニシャル(Squeak システムでは Utilities authorInitials の値)が半ば強制的にタイムスタンプ情報に追記され、それはもちろん後から参照できます。 (…

型なし*1言語で大規模開発は可能か?

とかいう話を受けて、でしょうか? 自分が知ってる中だとSqueakが一番大きいのかな。動的な型の言語によるアプリケーションとしては。Squeakももちろん核はCで書かれているんだけど、そのCはSmalltalkのサブセットで書かれたコードを変換したものらしい。し…

「オブジェクト指向入門」

OOP

関連:id:sumim:20040525:p1 いろいろなところ(っても主に はてな 界隈ですが…)で目にするようになったので、買ってみました。 (69 ページ) ここまできたところで、もう一度多くの入門者にとって紛らわしい概念を区別しておこうと思う。それはクラスとオ…

クラス以外のオブジェクトを束縛しているグローバル変数

こんな式で調べられます。 Smalltalk reject: [: global | global isBehavior]これを inspect it (alt-/cmd- I) して、左側のペインで適当な変数名を選択すれば、注目するグローバル変数にどんなオブジェクトが束縛されているのかを右側のペインにて、さらに…

Objective-C のプロトコル

…について、その始祖に当たる言語機能が他の言語に見つけらなくて難儀しているところなのですが、上で継承にからめてプロトコルという言葉を使っていると、ふと、もしかしたら本当に(失敬!w) Objective-C*1のオリジナルで、文字通り、Smalltalk のプロト…

プロトコルブラウザとトランスクリプトの改行

確かTranscriptに改行するようメッセージを送れたと思い、WorkspaceのTranscriptという文字列を選択して、黄色ボタン (Option+ボタン) のmore...からシステムブラウザを表示する。文字列選択状態で"Command+b"でもいい。 それを見ると"TranscriptStream"のイ…

Eiffel のブロック

OOP

気になって調べてみたらありました。inline agent というらしい。 Smalltalkの block closure のような機能です。 ふむ。Java の無名インナークラスっぽい実装ではないのですね。クラス指向の OOP を標榜する(と、勝手に思い込んでいた) Eiffel にしては意…

Ruby らしさ

OOP

Ruby Conference 2004 での Nathaniel さんの発表も思い出してしまう。彼は発表の中で、現在の Test::Unit が「Ruby らしくない」といって批判し、より「Ruby らしく」したtest/unit2 を開発中だそうだ。そのサンプルの一部は発表の中で内で公表されていたが…

上手さんの XP-jp の投稿経由で「目覚まし時計が必要になった Smalltalker の話」

ネタ(なんの?w)に使えそうなので、忘れないうちにメモ。 とりあえず、最初のとっかかりのスクリプトだけ Squeak システムの Smalltalk で。 [[(Delay forSeconds: 15) wait. Time now hours = 3] whileFalse. 30 timesRepeat: [(SampledSound soundNamed…

非常にコスト高(だと思ったけどそうでもなさそ)な素数チェック

K A N O U . J P さんところを見ていて(続きを読まずに)、791 が素数かどうかちょっと気になったので。 791 isPrime "=> Unknown selector, please confirm, correct, or cancel "とか、ありそうでない。w わからんでもないけど。 n n _ 791. (Integer pr…

こういうやりとりに触れると

地道にいろいろと調べたり書いたりしてきてよかった…と。(笑) どうです、おじょうさん? ここでひとつついでに Smalltalk にどっぷりわあなにをすあwせdrftgyふじこlp;「’

3.7 では new 送信時に #initialize も暗示的に起動される

Florian さんとこ経由。ちょっと、いや、かなりびっくり。ってか呆れた。ってか悲しくなった。

.net ブリッジ

Loco de futbolさんとこ経由で、Squeak で使える .net ブリッジとか。これで C# も怖くない? な〜んてねw。 Ruby にも似たようなのがあるらしく、それの移植版だそうです。Mozilla と言えば、スジから言えば Mozilla を Squeak システムに移植してみたいも…