[SML 7430] Re: 第4回Smalltalk勉強会の発表者を募集しています
Masato Sumi
sumi @ seagreen.ocn.ne.jp
2008年 12月 3日 (水) 12:24:09 JST
鷲見です。
今回は特に濃さげなのに(いつも)参加できなくて残念です。
PPS のはありませんが、比較的 XEROXオリジナルの Smalltalk-80
に近い GUI を有する Apple Smalltalk なら手元にありますので
どなたかに託すことは可能だと思います。Mac Plus のエミュレータ用
ディスクイメージになっていますので、すぐ動かせます。
あと、映像資料にとどまりますが、1978年ごろの Smalltalk-76 が
動作する様子が、
http://www.cs.washington.edu/research/constraints/videos/thinglab-1978.mov
で見ることができます。QuickTime Player で cmd/ctr + K にて
呼び出せるA/Vコントロールで三倍速くらいで再生すると退屈しなくて
よいと思います。登場する ThingLab 自体も Squeak2.3 で動くので、
映像と同様のデモをすると一部のマニアにウケるかもしれません。
摂氏・華氏コンバータくらいですが動作するイメージも手元にあります。
1978年というと Apple のジョブズたちが PARC を訪れ Lisa ひいては
後の Macintosh の GUI の方向性にヒントを得たとき(1979年)に
ちかいので、そちらの方面に興味のある方にも感慨深いものでしょう。
それと、Smalltalk-76 が Java VM上に再現された
処理系も公開されています。GUI こそ Swing に置き換わっていますが
ブートストラップは当時のものを利用した本格派です。
http://home.netsurf.de/helge.horch/esug/index.html
メタクラスがなく、制御文もメッセージ式でない Smalltalk-76 は、
今流行りの Ruby に(-80より)比較的似ているとアラン・ケイが
言ったとか言わなかったとかいう話も聞いています。
参考まで 100 までの素数を求めるコードを両者の共通点が
際だつように書いてみたものを以下に。(前者は、前述の
エミュのワークスペースなどにコピペしてそのまま評価できます)
"Smalltalk-76"
limit ← 100.
primes ← #() asStream.
primes next ← 2.
for% i from: (3 to: limit by: 2) do% [
isprime ← true.
for% prime from: primes contents do% [
i \ prime = 0 ? [isprime ← false]].
isprime ? [primes next ← i]].
^primes contents
#ruby
limit = 100
primes = []
primes << 2
for i in (3..limit) do
is_prime = true
for prime in primes do
i % prime == 0 ? is_prime = false : nil
end
is_prime ? primes << i : nil
end
primes
--
Masato Sumi
SML メーリングリストの案内