2005-01-01から1年間の記事一覧

Code Complete 第2版

OOP

プログラマー日記経由で。 第6章のみサンプル公開されているみたいですね。http://www.atmarkit.co.jp/fdotnet/bookpreview/codecomp2nd_index/codecomp2nd.htmlhttp://www.atmarkit.co.jp/fdotnet/bookpreview/codecomp2nd_06/codecomp2nd_06_01.html mixi…

日経バイト

当面C#と.NETな記録さん経由で、そういえば、自他共に認めるスーパープログラマの青木淳さんが執筆される書き下ろし連載が始まるなぁ(始まっているなぁ)と思い出したので、また忘れてしまわないうちに思い切って年間講読手続きを。 [SML 7047] Re: 日経バ…

Smalltalk-72 エミュレータ、あるいは ALTO 的体験

id:squeaker さんが言及しておられる Smalltalk-72 エミュについてに便乗。西原さんや、id:propella さんこと山宮さんに触発されて、私もむかし、ちょっといじったことがあります。ここでも書いた記憶があったので、エントリーや添付写真資料を掘り起こして…

Ruby の proc の省略

http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/25780SHIMADA さんも、id:squeaker さんも書いておられるように、Smalltalk は lambda(や、Ruby なら proc、あるいは Proc.new )をいちいち書かずとも、[ ] で括るだけで無名関数(あるいはク…

Smalltalk の誕生日は? 再び

abee さんにコメントをいただいたので。アラン・ケイが MIT でくだんのメッセージングの実装に関連したデモをしたのが 1972.11 なので(この時期をメモの日付に引っ張られて、うっかり 1973 と読み違えてしまっていましたが、ヒューイットがここでのケイの考…

Slate

以前、ちょっと興味をもっていろいろと試していたインスタンスベースの言語。Smalltalk、特に Squeak の Smalltalk に色濃い影響を受けて作られている。知らない間に CLISP を離れて自前の VM を持つようになっていたので、またちょっと盛り上がって遊んでみ…

Smalltalk の誕生日は?

Matz にっきによると、1993 年 2 月 24 日は「 Ruby の誕生日」なのだそうです。おめでとうございます。我らが Smalltalk はというと、まず、「Smalltalk」という名前自体は、後に Smalltalk-71 と呼ばれるようになる処理系ときにすでに使われていることは置…

interstitial "ma" oriented

関連:id:sumim:20040525:p1 上の、The big idea is "messaging"... あるいは messages, not objects にからめて、id:squeaker さんに確認していただいたところによると、アラン・ケイ自身、message oriented という言葉に思い当たらないとかおっしゃってお…

Time to learn Ruby (or relearn Smalltalk)

OPC Diary 経由で。 Also, I'm strongly in the Alan Kay/Smalltalk camp - messages, not objects have become the way I think. Go look at Indigo for an example :-) DB messages, not objects …というところに重みがありますね。参考:The big idea is …

クロージャ、クロージャ

日これ より。Gauche のクロージャでオブジェクトを作って遊んでおられるのを見かけたので、ClosureComplier でクロージャを使えるようにした Squeak システムの Smalltalk にて(ほぼ)同じものを書いて私も遊んでみました。 openAccount openAccount _ [: …

るびま のアラン・ケイの脚注

るびま こと、Rubyist Magazine の 0005 号、Rubyist Hotlinks 第 0005 回、増井俊之さんへのインタビューの脚注から。 Alan Kay (1940-) Smalltalk の中心的開発者。パーソナルコンピュータ、ワークステーション、ダイナブックなど、現代のコンピュータにま…

辞書のキーと値をひっくりかえす

某 Ruby スレで見かけたコード。 h1={ 1=>"A", 2=>"B", 3=>"B" } h2={} h1.each { |k,v| (h2[v] ||= []) 一瞬、意味がわからなかったのがみょーに悔しかったので、なんとなく Squeak の Smalltalk に(ほぼ等価に)書き直して気を紛らわしてみたり。 srcDict…

VisualAge for Java は Smalltalk で書かれてた

…という話はいろいろなところで耳にするところではあるのですが、デマだという説もあったのでちょっと調べてみました。論文らしき文書なのですが、ソースは personal communication なので又聞きのレベルからは脱することができておらず、少々心許ないものの…

ClosureCompiler その3

(ここからの続き)たらいまわし関数こと、竹内関数ベンチもブロックで試せるようになりました。OQO の HDD 容量がひっ迫していて VisualWorks をインストールできていないので、Win は Strongtalk との比較です。最適化がうまく働くと VisualWorks は爆速で…

ClosureCompiler その2

(ここからの続き)せっかく Squeak の Smalltalk でもクロージャが使えるようになったので、たしかこちらが元ネタのカウンターのサンプルなぞ、あらためて試してみました。 counterMaker counter1 counter2 counterMaker _ [: count | [count _ count + 1]]…

ClosureCompiler

これまで、クロージャで遊びたいときには Squeak では駄目*1なので、Strongtalk *2 や VisualWorks*3 を使っていた*4のですが、この ClosureCompiler を使えば、その必要はなくなりそうです。インストールにちょっとコツがいるのでメモしておきます。ポイン…

#forkAndWait

フォークさせた処理の完了を待つためのセマフォの名前に、semaphore1、semaphore2(追記: forGoingOn に変更済み)では味気ないので、他に何かいいのがないかなぁ…と #signal の senders of it (alt-/cmd-n) を眺めていたら、セレンディプタスに BlockConte…

マルチスレッド

ふと思い立って Squeak の Smalltalk にあるマルチスレッド*1機能を使って遊んでいたときのこと。 stream stream _ String new writeStream. ($1 to: $3) do: [: each | stream nextPut: each]. ($a to: $c) do: [: each | stream nextPut: each]. ^ stream …

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

OOP

関連:id:sumim:20040525:p1 また、村山さんにオブジェクトの広場 ML で参照していただいているようです。いつもありがとうございます。 継承は大事ですよね。ストラウストラップもかの whatis 論文(「C++ の設計と進化」風に言えば、「…とは何か?」論文。…

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

Matz にっき経由。10 どころじゃない!というツッコミはお約束なので入れておくとして、Smalltalk 関連としては、 Is a lot like Smalltalk, but doesn't look as funnyというのがありますね。Smalltalk 言語は、はじめにあの funny な記法ありきなので、メ…

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

OQO

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

教育分野で注目の…、Squeak

アップル・ユーザグループ ミーティング in Tokyo で、もう三回目になる大座畑さんを講師として迎えた Squeak 講座の紹介記事。アプリケーションとして組み込まれた Squeak eToys を意味していると暗黙のうちに了解可能な文脈でならともかく、Squeak システ…

Sensor vs Hand

アンドレアスのこの言葉、 NEVER, NEVER use Sensor. DO NOT EVER USE IT! Refer to the hand instead. ... Again, if you write code for Morphic DO NOT REFER TO SENSOR! It will just #^@! things up. をどうも「Morphic では Sensor の代わりに ActiveH…

ワイヤレスネットワークの新ファームウエア

OQO

Handtops.com 経由で。ちょうど WiFi ドライバのアップデートをしようと思っていたので、ナイスタイミング。これで感度が劇的に改善されることはないにしても、何かしらの変化があるとよいのですが…。

ドッキングケーブルごとにドライバインストールが必要

OQO

新しいドッキングケーブルを接続するたびにドライバのインストールを要求される。MAC アドレスもドッキングケーブルごとに違うのかも。 追記 まず、MAC アドレスはケーブルごと…ということはさすがになくて、本体ごとでした。あと、初回のドライバインストー…

クリーンインストール時の表示の問題を回避する

OQO

インストール作業終了後の2回目の自動起動時にセーフモードで起動すると 640 x 480 で起動してくれます。この状態で専用ドライバをインストールしてから再起動するとよいようです。

App Launcher はポインティングデバイスのクリックも受け付ける

OQO

OQO Setting ユーティリティ関連の TIPS 。サムホイールのダブルクリックで起動する App Launcher ですが、そのままサムホイールを使ったクルクル・ピッ操作のほかにも、マウスポインタで指してサムスティックやマウスボタンのクリックも受け付けます。はて…

無責任の連鎖

プロトタイプベース・OOPL ではご先祖様を動的に変更できる、というのが普通だと思います。 《コード略》 ところで、自分自身のご先祖様に自分自身を指定するとどうなるのでしょう。たとえば javascriptisms はそのような状況は想定してないので、自分自身の…