■ このスレッドは過去ログ倉庫に格納されています
ΨΨΨ Smalltalk/ Squeak 教えろゴルァ ΨΨΨ
- 1 :◆oRQMZiP6:2001/08/22(水) 10:33
- 質問スレだゴルァ
- 2 :デフォルトの名無しさん:2001/08/22(水) 10:57
- Squearkって何ですか?
- 3 :それはそれ:2001/08/22(水) 10:59
- これはこれ。
- 4 :デフォルトの名無しさん:2001/08/22(水) 11:07
- まず正しい名前から覚えて下さい。
- 5 :デフォルトの名無しさん:2001/08/22(水) 11:08
- ttp://www.mars.dti.ne.jp/~umejava/smalltalk/squeak/index.html
- 6 :デフォルトの名無しさん:2001/08/22(水) 11:08
- Squeak ダウンロードサイト
http://www.squeak.org/
Squeak 入門
http://www.kk.iij4u.or.jp/~y-kamite/squeak/index_squeak.html
- 7 :デフォルトの名無しさん:2001/08/22(水) 11:39
- Squeakとは「おっととどっこい、ハム太郎」の鳴き声のことです。
- 8 :デフォルトの名無しさん:2001/08/22(水) 12:47
- 三三三三三三 ミ _ 三三三三三三
三三三三三三 〔|ミlm|___,Θ三三三三三
三三三三./ ,)-__二二-―−´lミ ミミミミミ彡
三三三 /,,/ ̄ ̄ ̄) .、テ‐,- ヽミ/~ヽミミ彡
三三三 /,,,/ (,,ヽ/ i ~`` ヽミ lSl |ミミミ彡
三三 /^ヽヽノ lヽ) _ ` | _/彡ミ彡 やれやれだぜ…
三 / \ ソ. / }‐- 、 l ヽ彡ミミ
三 l、 \ )( ノ ノ⌒ / | ヽミミ \
三 l\ソ、 _/ ヽ__ _ / | /三三\
三 \ _/i |‐、三三三三\ / /三三三
今さっき1を殴り飛ばした空条承太郎だ。
やれやれ、それにしてもこのスレ、以前から2chで起きていた悪質な連続荒らし厨房真犯人の墓場には似合いのスレだな。
1の立てるスレッドの魔の手、射程距離は2ch全範囲に及んだ… 集客力、ネタ、有意義、成長性…何をとっても糞スレの典型としか呼べない
非力さなのだが唯一(―――これがある意味一番恐ろしかったのだが)
「持続力」
もともとヒッキーである1の忍耐力(やれやれ、環境で自然に鍛えられたのだろうな)、根の暗さ、隠顕さ、プライドの高さ、自己中心的思考、妄
想癖、そして精神障害… これらの要素が手伝って、相乗効果を発動。1は自らの厨房さを極める事に成功した。
1を止める者はもはやこの地上には存在しないかに思われた。しかし所詮厨房、ここで2つの致命的なミスを起こしてしまう事になった。ひとつ
は調子に乗って遠征を始めた事、ハッキングはおろか串さえも知らない1の遠征は当然失敗に終わった。ふたつめは2chで騙されて晒した
fushianaのIP。気付いた時には後の祭り、必死に強がるもただ嘲笑されるだけだったな。
結局この2つが突破口となって1は個人情報その他が暴かれ、今回の制裁に至ったというワケだ。
…俺がヤツを追い詰めた時の1はまるでドブに投げ込まれた子鼠みたいに哀願してきた。「命だけは助けてくださ〜〜〜いっ!」ってな、だ
が…駄目だね。
『再起不能』
今ごろ1は集中治療室で己の悪行を反省しているだろうか?
俺のスタープラチナ渾身のオラオラ…
前身30カ所以上の複雑骨折及び内臓破裂との診断だとかいう話だ。
もはや1が2chに舞い戻ってくる日は来るまい。
さよならだ1、そしてGood Bye 2ch…
- 9 :デフォルトの名無しさん:2001/08/22(水) 13:09
- 言語/処理系のスレだからたててもいいじゃん。
- 10 :デフォルトの名無しさん:2001/08/22(水) 14:11
- SQUEAKあの独特のインターフェイスが使いづらい。
つうか、フォントをもっと大きくしたいのよ。
キャレットが緑なのは見にくいのよ。
ウィンドウ背景色変えられてもフォント色かえられないと意味無いわけよ。
supplies タブのアイコンクリックすると、タブ内にアイコンが複製されて
それを消す方法がわからないわけよ。
ペイントみたいな奴が始まると、それを解除する方法がわからないわけよ。
ワケワカ。
- 11 :デフォルトの名無しさん:2001/08/22(水) 14:47
- >>10
もっと普通っぽいUIのVisualWorks Non-Commercial版を使いましょうq
- 12 :デフォルトの名無しさん:2001/08/22(水) 15:25
- ttp://users.ipa.net/~dwighth/smalltalk/bluebook/bluebook_imp_toc.html
- 13 :デフォルトの名無しさん:2001/08/22(水) 16:03
- >>10
トゥル−タイプフォントを使えたらだいぶいいんですけどね。
>>11
あのUIってWIn3.1時代のままですよね。操作性だったらSqueakのほうがまだいいような。
- 14 :デフォルトの名無しさん:2001/08/22(水) 16:04
- >>10
マウスの真ん中ボタン(なければAlt or Ctrl+クリック)で丸いメニューアイコンがいくつか出るからそのうちの×を押せばいいです。
- 15 :デフォルトの名無しさん:2001/08/22(水) 16:09
- >>8
↓ここよか、こっちとかにやってくれよ
ゲームキャラ改造くん
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=998460031
- 16 :デフォルトの名無しさん:2001/08/22(水) 16:53
- >>13
>>トゥル−タイプフォントを使えたらだいぶいいんですけどね。
TrueTypeとかPostScriptとか、そういう名前のクラスは散見されるんだけどね。
それにしても NewYork とか、18pointが15pointの倍くらい大きいのはどういうわけ!?
- 17 :デフォルトの名無しさん:2001/08/22(水) 17:38
- フォントをちょっと大きくするコード。すこしは見やすくなると思います。
Workspaceなどにコピペ → マウスで選択 → メニューから"do it"または Alt + d して下さい。
| textStyle |
textStyle := TextConstants at: #DefaultTextStyle.
Preferences setSystemFontTo: (textStyle fontOfSize: 15).
Preferences setListFontTo: (textStyle fontOfSize: 15).
Preferences setMenuFontTo: (textStyle fontOfSize: 15).
Preferences setFlapsFontTo: (textStyle fontOfSize: 15).
他国語化キットからのパクリです。
- 18 :デフォルトの名無しさん:2001/08/22(水) 17:42
- 他国語化キット >>>> 多国語化キットのまちがい。_o_
キットについては
ttp://www.kk.iij4u.or.jp/~y-kamite/squeak/multilingual_squeak.html
参照。
- 19 :デフォルトの名無しさん:2001/08/22(水) 20:26
- Smalltalkの無料かつ、日本語の開発環境ってないですか?
- 20 :デフォルトの名無しさん:2001/08/23(木) 00:48
- 文字入力キャレットの色を赤に変える
Preferences insertionPointColor: (Color red).
色を自分で選びたかったら、
Preferences chooseInsertionPointColor.
- 21 :デフォルトの名無しさん:2001/08/23(木) 00:50
- SqueakもVisualWorksも、ちょこっと手を入れれば
日本語が扱えるようになるけど、ダウソしたまんまで
日本語が使えるものってあったかな〜?
- 22 :デフォルトの名無しさん:2001/08/23(木) 00:58
- Squeakのチュートリアルはここ
http://www.ogis-ri.co.jp/otc/hiroba/technical/Squeak/squeak.html
日本語化はここ参照
http://www.ein.xaxon.com/home/bohnen/Squeak/m17n.htm
- 23 :22:2001/08/23(木) 00:59
- あとここも
http://www.sra.co.jp/people/aoki/
- 24 :19:2001/08/23(木) 02:28
- >>22
ありがとうございます。
でも、UNIX系のOSを使うことが前提なのかな?
近いうちに試してみます。
- 25 :19:2001/08/23(木) 02:33
- あ、Windowsでも大丈夫っぽいね。
すみません。
- 26 :デフォルトの名無しさん:2001/08/23(木) 07:44
- なるほど、Smalltalkで記述されたSqueak を,
Squeak上のSmalltalkでさらに変えられるって事ですね。
フォントを変えたいときは、自分自身を現すクラスのFONTプロパティを
変更するみたいな感覚ですか?
それっぽいクラスを探すときはクラスブラウザを開いて探すのでしょうか。
- 27 :デフォルトの名無しさん:2001/08/23(木) 08:47
- えと、C++とかDelphiになれてると
メソッドの実装もダイアログを利用せず
コードをがりがり書いていきたくなるんですが、
Squeakではブラウザを利用するしかないんですか?
仮に、
Object subclass: #Point
instanceVariableNames: 'x y'
classVariableNames: ''
poolDictionaries: ''
category: 'MathApp'
のようなクラスを書いたとして、メソッド
setXValue, setYValue をコードのみで
追加するにはどうすればよいですか。
- 28 :デフォルトの名無しさん:2001/08/23(木) 10:22
- >>26
確かに>>17や>>20のようなプログラムでもいじれるけど、
実はメニューから全部いじれる。
・システムディフォルトフォントの変更
壁紙部分で左クリックメニューから
"appearance..." -> "system fonts..."
・キャレット色の変更
壁紙部分で左クリックメニューから
"appearance..." -> "insertion point color..."
・テキストペインのフォントの部分的変更
テキストを選択状態にして黄ボタンメニューから
"more..." -> "set font..." / "set style..."
色の変更はどうするんだろね〜。
※黄ボタン…3ボタンなら中ボタン、2ボタンなら右ボタン。
Windowsなら、ウィンドウの左上にあるアイコンメニューから
"VM preferences" で "Use 3 botton mouse mapping"
をチェックしておくと基地。
- 29 :デフォルトの名無しさん:2001/08/23(木) 11:05
- おおおお 3ボタンエミュレーションONにしたら
ウィンドウ回転できたよォォォォ
Squeakマンセー!!
- 30 :デフォルトの名無しさん:2001/08/23(木) 11:11
- Squeak の読み方は スクィーク でよいですか。
- 31 :デフォルトの名無しさん:2001/08/23(木) 11:13
- >>27
一日〜二日いじってればブラウザに慣れるので気にならなくなると思われ。
(キーバインドをEmacs風にしたいとはよく思うけどね。
これもどこかをいじればカスタマイズできるはず。)
動的にメソッドを追加する方法は、
ClassDescription>>compile:classified: かなあ。
Pointはすでに存在するクラスなのでMyPointにしてみた。
MyPoint
compile: 'setXValue: newX
"set new x value"
x := newX'
classified: 'accessing'.
でどうですか。
調べながら書いてるから間違っていたら訂正して下さい>識者
- 32 :デフォルトの名無しさん:2001/08/23(木) 11:23
- 3ボタンエミュレーションにした場合、
もともと右クリックででていたメニューを出すには?
赤いメニュみたいなアイコンだと違うメニューが出るし…
- 33 :デフォルトの名無しさん:2001/08/23(木) 11:25
- もうひとつ。
ピックアップで取り出したオブジェを
元に戻すにはウィンドウを
開きなおすしかありませんか。
- 34 :デフォルトの名無しさん:2001/08/23(木) 11:33
- >>30
ざうちゅうのえらいひとあたりがネイティブな発音をよく知ってそうだね。
辞書みると [skwi:k] だからいいんじゃないかなぁと想像。
- 35 :デフォルトの名無しさん:2001/08/23(木) 16:02
- >>32
ホィールマウスならホィールを押し下げ、
3ボタンマウスなら中ボタン、
XFree86の3-botton Emurationのことなら左右ボタン同時押し、
などで出来ないでしょうか。
>>33
>>ピックアップで取り出したオブジェ
というのがよく分かりません。どんな操作をしたんでしょうか。
- 36 :33:2001/08/23(木) 20:46
- >>35
言葉が足りなかったですね。スマソ
2ボタンマウスを使用していて、
3ボタンエミュレーションを使っている場合の話。
適当なウィンドウ内のコントロール上で右クリックすると
ウィンドウ全体を囲むように丸いアイコンメニューが出る。
そのままもう一度右クリックすると、ウィンドウ内のコントロール
を囲むようにアイコンメニューがでる。
この状態で、上辺の真中にある 黒地に白のアイコン
(バルーンヒントには pickup と書いてある)をドラッグ。
すると、コントロールだけがウィンドウから切り離され、移動する。
このとき、もともとコントロールがあった場所は
真っ黒に塗りつぶされている。
この、切り離されたコントロールを
ウィンドウに戻そうとして移動させても、
もとのウィンドウに重なるように表示されるだけで、
合体はしない。
元のように合体させるには、ウィンドウを一度閉じないと
むりなのか… と、そういう事ですワ。
- 37 :デフォルトの名無しさん:2001/08/24(金) 09:13
- >>36
あ、確かにおっしゃる通りの挙動ですね。
Morphは僕もサッパリなんですよ。すみません。
操作体系というかコンセプトが分かればすぐいじりかたも
分かるんでしょうけどね。
- 38 :デフォルトの名無しさん:2001/08/24(金) 10:13
- Morph ってなに?
SqueakのUIの事?
- 39 :デフォルトの名無しさん:2001/08/24(金) 11:52
- そうです。
SqueakはSmalltalk-80由来の伝統的なMVC系と、新しいMorph系の
2種類のGUIフレームワークを持っています。どちらも使えますが
今後はMorphでいくということのようです。
- 40 :デフォルトの名無しさん:2001/08/24(金) 11:57
- 緊急!!
最大化の状態であるSqueakを元に戻すできません。
どうすればいいですか?
- 41 :デフォルトの名無しさん:2001/08/24(金) 12:06
- フルスクリーンモードだったら
ScreenController new fullScreenOff.
Windowsの最大化だったらタイトルバーからなんとかできない?
- 42 :デフォルトの名無しさん:2001/08/24(金) 12:11
- >>40
Squeak のウィンドウに対して
SW_RESTORE メッセージを送ってあげましょう。
あと日本語おかしいです。
- 43 :デフォルトの名無しさん:2001/08/24(金) 12:20
- >>40
背景上で左クリックのメニューで
appearance | fullscreen off
でいいじゃんよ
- 44 :デフォルトの名無しさん:2001/08/24(金) 13:28
-
緊急はどうなったんだ? あげ
- 45 :40:2001/08/24(金) 13:34
- ありがとう
おかげで無事フルスクリーン解除できました
これでブラウザ見ながらSqueakいじれます。
- 46 :信奉者:2001/08/25(土) 01:34
- Morphicが難しすぎます。
なんでもいいから気の利いたサンプルコードがあったら書いてくれませんか?
- 47 :デフォルトの名無しさん:2001/08/25(土) 10:21
- 結局、2ボタンマウスを使っている場合、
3ボタンエミュレーションモードで、
もともと右クリックででていたメニューを
出すにはどうすればよいのでしょう?
- 48 :デフォルトの名無しさん:2001/08/25(土) 10:28
- Shift+右クリック
Ctrl+右クリック
Ctrl+左クリック
出てくるメニューが全て違うから分けかからなくなる。
ワケワカ。
- 49 :デフォルトの名無しさん:2001/08/25(土) 10:50
- つーか、ピックアップってすごいね。
ラベルやタイトル文字までピックアップできる…
どういう仕組みになってるんだろう…
- 50 :デフォルトの名無しさん:2001/08/25(土) 11:34
- http://www.tec.ac.jp/ って落ちてる?
- 51 :デフォルトの名無しさん:2001/08/25(土) 11:48
- ここにSqueakとMorphのチュートリアルの和訳がある。
さわりには役に立つのと違うかな。
http://embug.dyndns.org/kusakari/3
- 52 :デフォルトの名無しさん:2001/08/25(土) 11:50
- >>50
繋がるよ。
ドキュンなページが出てきた。
- 53 :下がりすぎ:2001/08/25(土) 18:12
- Windows2kで確認。
| font |
font := TTFontReader parseFileNamed:'c:\WINNT\Fonts\times.ttf'.
font asMorph open.
^font
いやーこんな機能が実装されていたんだ。出てきたものを見てびっくり。
しかし FontDescription>>asStrikeFontScale: の使い方がよく分からん。
- 54 :53:2001/08/25(土) 18:15
- あ、
FontDescription -> TTFontDescription
の間違いだった。
- 55 :デフォルトの名無しさん:2001/08/25(土) 20:11
- SmallTalkイディオム って本を見つけたんだけど、
VisualWorksという環境での話だった。
描画プログラムやらいろいろあるんだけど、
Squeakとは互換性あるのかな。
環境が違うだけで、言語としての使用は一緒だよね?
いや、この本買ってグラフィックプログラムを
Squeakで実行できなかったら嫌だなと思って。
- 56 :デフォルトの名無しさん:2001/08/25(土) 21:00
- その本は超おすすめ。
ウィンドウやグラフィック関係はそのままでは動かないけど、
もっと根本的な部分でためになること多し。
- 57 :デフォルトの名無しさん:2001/08/25(土) 21:13
- >>55
VisualWorksとSqueakはどちらもSmalltalk-80直系ではあるけれど、
グラフィックシステムまわりは驚くほどに別物になっている。
初めてSmalltalkに触れる人にはSqueakはあまり宜しくない。
変なバグが色々あったりして、問題の切り分けが難しいから。
VisualWorksもNon-Commerical版があるので、それを使うのが吉。
VisualWorks5i.xもごちゃごちゃしててナニなので、3.1がお薦め。
ここにVisualWorksNC3.1のwin32版とLinux版がある。
cincomのページに行くと、最新版しかないので要注意。
http://wiki.cs.uiuc.edu/VisualWorks/DOWNLOAD/
- 58 :信奉者:2001/08/26(日) 00:49
- >>55
>>56
あの青木グルの本いいと思うけど、ちょっと宗教入ってるなあ。
「Smalltalkerの曼荼羅」だって。
- 59 :信奉者:2001/08/26(日) 00:52
- >>53
TTフォント使えるんですね。僕もやってみました。
でもあくまでMorphで、システムフォントとしては使えないのかな?
- 60 :55:2001/08/26(日) 05:18
- >>56-57
んー やはりグラフィック周りはダメか。
本の冒頭に、「Smalltalkは常に変化するから
ライブラリも変化しまくる」みたいな事書いてあったし、
初版も3年前だったから
無理かな〜 とは思っていたけれど。
とりあえずVisualWorks落としてみるよ。ありがとう。
- 61 :デフォルトの名無しさん:2001/08/26(日) 05:22
- ...って、これか↓
VisualWorksNC31b-win32.zip 262 KB
あまりにも小さくてマジビクーリ
- 62 :test:2001/08/26(5) 31:00
- test
- 63 :61:2001/08/26(5) 34:00
- やはりこれ単体では実行できないか…
VisualWorksNC-attools-3.1-1.i386.rpm
VisualWorksNC-base-3.1-1.i386.rpm
VisualWorksNC-database-3.1-1.i386.rpm
VisualWorksNC-dllcc-3.1-1.i386.rpm
VisualWorksNC-docs-3.1-1.i386.rpm
VisualWorksNC-goodies-3.1-1.i386.rpm
VisualWorksNC-wavedev-3.1-1.i386.rpm
これらがLINUX,WIN共通のデータファイルなのかな?
rpm拡張子って初めて見たけれど…
全部DLしてEXEと同じ場所にいれてみたけど無理だったヨ...
- 64 :デフォルトの名無しさん:01/08/26 09:45
- www.cincom.com/downloads/gz/CSTNCFeb2001.iso.gz
>>63
rpmはLinux版
- 65 :デフォルトの名無しさん:01/08/26 09:58
- >>63
vwnc31all.zipを落とすべし。
>>64のに入ってるのは5i.3なので、要注意。
- 66 :デフォルトの名無しさん:01/08/26 10:31
- >>62-63
あ、時刻表記…
- 67 :デフォルトの名無しさん:01/08/26 11:56
- これって、visualnc.exe を起動するときに
visualnc.im をドラッグして起動しないといけないの?
実行時引数でイメージファイル名を渡すの面倒なんだけど…
みんなバッチファイル作ってるのかな。
- 68 :デフォルトの名無しさん:01/08/26 13:48
- .im を visualnc.exe に関連付けすれば
イメージファイルのダブルクリックでオッケー。
- 69 :デフォルトの名無しさん:01/08/26 13:54
- >>59
TTFontDescription>>asStrikeFontScale:
っていうのがあって、StrikeFontというのが
Squeakで普通のテキスト表示に使われるフォント
だから、これを使えばTrueTypeフォントを
変換して取り込めそうな気がする。
まだうまくいかないけど。
- 70 :デフォルトの名無しさん:01/08/26 20:47 ID:TeHBTESQ
- >>47
「3ボタンエミュレーションモード」というのはどういうものですか?
また、お使いのマウスのボタン数は何個ですか?
- 71 :デフォルトの名無しさん:01/08/27 00:36 ID:LaYnmZtY
- 3ぼたんえみゅ=[ウィンドウ左上のアイコンクリック]→[VM〜]→3ButtonMouse〜]
使用マウスボタンの数は2個+ホイール。
- 72 :デフォルトの名無しさん:01/08/27 00:42 ID:LaYnmZtY
- CUIでいいから、簡単なサンプルゲームプログラム無いかな。
キーボードからの値入力(マウスでもいいけど)が分からないのよ。
- 73 :70:01/08/27 00:55 ID:vBj4UQ0E
- >>71
ホイールを転がさずにぐっと押し込むと、
中ボタンクリックになります。
- 74 :デフォルトの名無しさん:01/08/27 01:07 ID:6V2HxvNs
- >>72
Tools-Menusカテゴリの中に、ボタン・メニュー・ダイアログの類がまとまっています。
exampleというクラスメソッドがあれば、それは使用例です。
ソースにコメントの形で載っているものを二つ紹介します。
SelectionMenuクラスの例
---begin---
(SelectionMenu labels: 'sin
cos
neg' lines: #() selections: #(sin cos negated)) invokeOn: 0.7
----end----
FillInTheBlankクラスの例
---begin---
FillInTheBlank
multiLineRequest:
'Enter several lines; end input by accepting
or canceling via menu or press Alt+s/Alt+l'
centerAt: Display center
initialAnswer: 'Once upon a time...'
answerHeight: 200
----end----
- 75 :信奉者:01/08/27 01:37 ID:9uEHIeCA
- >>69
Strikeフォントってラスタフォントですよね。
もし使えるとしても変換するということですか。
標準でTTフォントを使えるようにならないのかな?
っていうかやっぱりUIがちょっとダサいから流行らないってのもありますね。
WIndows用の(?)ネイティブウィンドウ描画のプロジェクト、チーズとか言うのはボツったみたい。
Windowsのような洗練されたデザインで、ウィンドウの回転とかできたらそれだけで注目されると思う。
- 76 :信奉者:01/08/27 01:39 ID:9uEHIeCA
- >>72
自分も人のことを言える立場ではありませんが、
そもそもSmalltalkってのはサンプル(&システム)をブラウズすることで自習するものみたいです。
- 77 :デフォルトの名無しさん:01/08/27 09:26 ID:ioKl98Ug
- >>76
まあでも、最初のとっかかりを掴まないことには右も左もわからないもので、
最初に「そういうときはここを見るといいよ」と言ってあげることは必要だと思う。
掴んだあとはほっといてもサクサク進むというのは実感だけど。
もしSmalltalkでペアプロしたら、まったく初めての人でも1日でたいていのことは
解決できるようになっているかも。
- 78 :デフォルトの名無しさん:01/08/27 10:10 ID:HBxF9Ze2
- >>75
>標準でTTフォントを使えるようにならないのかな?
もしそうするなら、フリーのフォントを自前で持つとかする必要かありますね。
Windowsのフォントをそのまま利用することにすると他のOSで使えないですから。
たとえばGT明朝とか? よく知らないんですが。
- 79 :デフォルトの名無しさん:01/08/27 11:52 ID:vESbNPa.
- >>58
>あの青木グルの本いいと思うけど、ちょっと宗教入ってるなあ。
任意の部分を飛ばし読みする自由が、読み手にはあります。(w
- 80 :デフォルトの名無しさん:01/08/27 14:47 ID:piRrflGU
- 良書紹介。
ファイル処理、文字列処理、GUI処理などについて分かりやすくまとめ
られている。
P.H.ウィンストン『ウィンストンの Smalltalk』
アジソン・ウェスレイ・パブリッシャーズ・ジャパン, 星雲社, 1999
ISBN4-7952-9735-5 C3055 \4200E
訳者さんのページ
ttp://www.zzz.or.jp/~iizuka/EOO/Japanese/index.html
Squeakで参考にするためのソース変更点
ttp://www.kk.iij4u.or.jp/~y-kamite/squeak/winston_squeak.html
- 81 :デフォルトの名無しさん:01/08/27 16:23 ID:vESbNPa.
- "Squeak Bon Mots"
ttp://minnow.cc.gatech.edu/squeak/268
"... to be little bits of code (2, 3, or up to 10 lines) that do something interesting, or unusual. Maybe something unique to Squeak ..."
だそうです。
- 82 :デフォルトの名無しさん:01/08/27 23:55 ID:dC.beocc
- >>78
ギコ明朝、ギコゴシック、ギコCourier、ギコNewRoman… ウマー
待てよ。2chでなにか大層なものを作るのは無理だと揶揄(藁)されるが、
フォントなんか比較的マシに作れるんじゃないのかなあ?
というのは、フォントって文字1つづつの作業の独立性が高いから、
2chくらい人々の結合が緩い世界でも、旨く行くんじゃないかと。
SETI@homeのノリ。一人1文字作ってくれれば恩の字っていう。
- 83 :所新車:01/08/28 02:32 ID:TsVgfhCw
- オブジェクト指向関連の本などを読むと頻繁にSmalltalkについてでてきますが、
オブジェクト指向の勉強においてSmalltalkを使う意味はあるのでしょうか?
C++やJavaと比べた場合の長所や欠点とはなんでしょうか?
- 84 :デフォルトの名無しさん:01/08/28 16:11 ID:kOzAX4vg
- オブジェクト指向という言葉はSmalltalkを説明するために作られた言葉。
デザインパターン,UML,XPなど新しい潮流は常にSmalltalkコミュニティから
生まれる。
- 85 :信奉者:01/08/29 00:02 ID:reEzbSBE
- >>84
プログラミング界の裏原宿ってか。
- 86 :Del:01/08/29 08:35 ID:NbMZgfhU
- プログラミング怪の裏原宿なのに
このスレなんでこんなに盛り上がらないんだ?
Smalltalk がマイナーなのか…
- 87 :デフォルトの名無しさん:01/08/29 10:27 ID:Ero40vXE
- では、こんなページはいかがでしょうか。
最近出来たばっかりみたい。VisualWorksの使い方が丁寧に解説してあります。
http://www.cam.hi-ho.ne.jp/kai-home01/
- 88 :デフォルトの名無しさん:01/08/29 10:31 ID:Ero40vXE
- あと、自分のブックマークにあった中ではこれかな。
かなり、とほほな物だけど。
http://www.pocketsmalltalk.com/new/
アランは今どこで何をやってるかご存知の方いらっしゃいますか?
少し前まではディズニーにいたみたいだけど。
- 89 :デフォルトの名無しさん:01/08/29 12:41 ID:C/RyLmG.
- >Smalltalk がマイナーなのか…
日本では、ね。
>アラン
少し前まではSqueakCentralがDisney内の組織だったから、Disney所属だったけれど、
SqueakCentralがDisneyを離れたからね。それ以降にsqueak-devに流れたメールの
From:は、Alan.Kay@squeakland.orgになってる。Squeakから離れてはいない様子だが、
SqueakFoundationのメンバーには入ってない。詳しいことは大島さんにでも聞くしか
無いのでは。
- 90 :デフォルトの名無しさん:01/08/29 13:08 ID:pJ99GHGY
- Squeakってver3.0になってたのか。
外観のイメージが以前と違うのね。
- 91 :デフォルトの名無しさん:01/08/29 15:05 ID:1nqjvGMk
- Jun for Smalltalkをいれてみた。
単に3Dのツールというだけでなく、(というか3Dはサパーリだが)
Lispインタープリタとか、JunGNUDiff(移植したの?)とか
リビジョン管理だのカレンダーだの…
3Dとか関係なさげかつ便利な部品がてんこ盛りでびびった。
- 92 :91:01/08/29 15:07 ID:1nqjvGMk
- あ、Jun for Smalltalk は Squeak じゃなく VisualWorks 用だからね。
- 93 :91:01/08/29 15:09 ID:1nqjvGMk
- 誤>(というか3Dはサパーリだが)
正>(というか漏れ3Dはサパーリ使えない人だが)
- 94 :デフォルトの名無しさん:01/08/29 16:29 ID:qmpYZKr6
- Squeakでグラフィック描画したーい
直線多角形楕円描画した―イ
- 95 :デフォルトの名無しさん:01/08/29 17:53 ID:TrWna7Bk
- >>94
| quadrangle circle line |
quadrangle _ Quadrangle origin: 0@0 corner: 100@100.
quadrangle display.
circle _ Circle new.
circle radius: quadrangle width / 2.
circle center: quadrangle center.
circle display.
line _ Line new.
line beginPoint: quadrangle origin.
line endPoint: quadrangle corner.
line display
- 96 :信奉者:01/08/30 05:59 ID:KtE0AQrQ
- 公式サイトはこれだよね?
http://www.squeak.org/
http://www.squeakland.org/
- 97 :デフォルトの名無しさん:01/08/31 04:18 ID:QaAQ1xiM
- オージス総研にある Happy Squeaking! で Smalltalk を勉強したんだけど、
イントロスペクションやインターセッションといった用語が判んなくて挫折した
覚えがある。
でも、Smalltalk に触れておいたおかげで Javaや Objective-C を始める時
かなり楽だったな。
昔メーリングリストで話題になった、Squeak本の日本語訳は立ち消えになったのでしょうか?
日本語化パッチもバンドルして出版すれば、日本でも「マニアのツール」を抜け出せるのに。
ちなみにココね(Happy Squeaking!)。役に立つこと請け合いです。
www.ogis-ri.co.jp/otc/hiroba/technical/Squeak/squeak.html
- 98 :デフォルトの名無しさん:01/08/31 16:51 ID:7zpcE/DQ
- Squeakをいじってて、初心者はVisualWorksの方
を先にやったほうがいいとSMLなどで言われてい
るのを見て、さわってみてるけど…。
各種ツールの使い心地はなぜかSqueakのほうが
しっくりくる。先に慣れちゃったからかな。
- 99 :デフォルトの名無しさん:01/08/31 17:39 ID:MtyLkymY
- Squeakのシステムブラウザで、タイトルバー左から二番目のスイッチを
押して出るメニューから"show tiles" をオンにしたら。
…すっげー。コードに色つけるとかそういうレベルじゃないな。
とりあえず元に戻してしまった。
- 100 :デフォルトの名無しさん:01/08/31 19:47 ID:0V6W10r6
- >>99
Show tiles でてこないよ?
Squeak 3.0 の System Browser で、
タイトルバーの左から2番目のアイコン上で
左クリックしても、
右クリックしても、
Ctrl+左クリックでもでてこない…
ShowActions ならあるけど
- 101 :99:01/08/31 21:35 ID:xIXE5jmU
- あ、3.0だと出ないね。
壁紙左クリック -> [help...] -> [update code from server]
でバージョンあげたイメージだと出てくるよ。
これ見るためだけでも上げる価値はある。
実用はともかく。
- 102 :デフォルトの名無しさん:01/09/01 00:50 ID:7xBEU0JQ
- 3.0から3.1 にアップグレードしたけど、やはり出ない…
help->update code from server で、メニューが2つでてくるよね。
どちらも実行してみたけど。下のメニューは更新にものすごく
時間がかかった…
- 103 :信奉者:01/09/01 01:42 ID:f0KjALqo
- >>99
具体的にどうなるの?
教えてー
- 104 :99:01/09/01 08:00 ID:PrHoA6V.
- あれ? 自宅のSqもいまアプしたらshow tiles出るようになったよ?
システムブラウザの、タイトルバーの左端が「閉じる」の×印で、その
右隣がシーソースイッチみたいなアイコンで、押すと下記のようなメニューがでる
change title...
----------------
send to back
make next-to-topmost
----------------
make unclosable
make undraggable
----------------
full screen
window color...
----------------
□show tiles
- 105 :99:01/09/01 08:04 ID:PrHoA6V.
- 補足:アイコンを普通の左クリック。
(コントロールキー+左クリックだとshow actionsが出るけど)
- 106 :デフォルトの名無しさん:01/09/01 08:05 ID:Ac11xdd2
- あ、わかった
俺の奴は、
show tiles でなくて、what to show って項目になっている。
これをクリックするとサブメニューがでて、
そこから tiles を選択でいけたYO!
- 107 :デフォルトの名無しさん:01/09/01 08:07 ID:Ac11xdd2
- ...ってなんじゃゴルァァァァ
すげえぞSqueak!!
でも、ただ凄いだけだ!!
- 108 :デフォルトの名無しさん:01/09/01 08:11 ID:Ac11xdd2
- VisualWorksは、下手に外観がWindowsに似ている割に、
メニュー操作ではマウスボタンを押しっぱなしにしておかないと
勝手に選択されてしまうという、微妙に操作が異なるので
逆に使いずらいと思う。
Squeakみたいに思い切り風変わりな外観のほうが、
返って混乱しなくてすむね。
- 109 :99:01/09/01 12:14 ID:Dtp./k7c
- ごめん、最新のイメージでは、左から2番目のアイコンで
what to show... を選んでさらにサブメニュー What to show で
tiles が出てくるようになってますね。
- 110 :デフォルトの名無しさん:01/09/01 13:14 ID:xDMwvGAE
- 俺もやってみたが・・・
見やすいのか、見にくいのかようわからん・・・
- 111 :99:01/09/01 18:42 ID:47UChoKw
- 最新に上げたら日本語が表示できなくなってしまった…。
直せるかな。
- 112 :99:01/09/01 19:02 ID:d10.nUtw
- >>103
こればっかりは実際に見てもらわないと、とても字では
説明できない。
あえて言うと、"The World of Squeak" の "Scripts"
に出てくるMorphでできた不思議なスクリプト部品で、
Smalltalkのソースが書かれているところを想像して。
- 113 :デフォルトの名無しさん:01/09/01 19:14 ID:7.zFNWw2
- updateやってたらデバッガーに落ちてしまった。TextナントカのAddLastが無いとかで。
国際化imageではうまくないのかな。素のimageをupdateして、それから国際化かませばいいのだろうか?
それともVM本体が古いからだめなの?(VMは3.0)
- 114 :デフォルトの名無しさん:01/09/01 19:16 ID:7.zFNWw2
- おいらもまだ見れてないのだけど。
それって、あの上下左右矢印の付いたコンボボックスみたいなのでソースのワード群が囲まれてるって感じ??
>>112
- 115 :デフォルトの名無しさん:01/09/01 19:18 ID:74THsOQE
- 単語をクリックすると、その場所に隠れていた
コンボボックスがでてきたり、
エディットボックスがでてきたりする感じ。
Delphiでいうオブジェクトインスペクタの右側の列、
VBでいうプロパティエディタの右側の列が
もっと強烈になったような…
- 116 :デフォルトの名無しさん:01/09/01 20:53 ID:d10.nUtw
- ttp://www.ops.dti.ne.jp/~cake-smd/diary/SQtiles.jpg
- 117 :99:01/09/02 00:43 ID:wt8s2lck
- >>113
うちも国際化したイメージでVMは3.0だったよ。
途中で警告が出て、「ここでupdateの機構自体を置き換えるので
一旦エラーになる。デバッガを消してあらためてupdateを始めれ」
と出たけどそれのことかな?
- 118 :113:01/09/02 00:48 ID:WujI.Q2o
- 素のimageでupdateしたらうまくいった。おお、こういう事か。
>>117
それとは違いました。手元のimageが変だったのでしょうおそらく。
これから再度国際化してみるつもりです。
- 119 :デフォルトの名無しさん:01/09/03 02:08 ID:MmJhSes.
- age
- 120 :デフォルトの名無しさん:01/09/03 09:29 ID:oDYd29Ko
- 不思議なサーキットゲームとか
テトリスとかのゲームって、どこから起動するんですか?
一番最初に出てきていた巨大なメニュー(選択画面?)
を消したら、どこから起動するのか分からなくなって…
- 121 :デフォルトの名無しさん:01/09/03 14:33 ID:cxUbogB6
- >>120
壁紙左クリックメニューから "jump to project..." で
"The Worlds of Squeak" を選択すれば飛べるかも。
- 122 :デフォルトの名無しさん:01/09/03 22:24 ID:Yxe5V/NQ
- X.ORGからBDFフォントをダウソして変換してインストールしてウハウハ
BDFFontReader downloadFonts.
BDFFontReader convertX11FontsToStrike2.
BDFFontReader installX11Fonts
国際化してないとダメかも。もしかすると。
- 123 :デフォルトの名無しさん:01/09/04 03:24 ID:CWQc1zT6
- 小咄age
- 124 :デフォルトの名無しさん:01/09/04 10:52 ID:Arqb.Wvo
- X11font 文字字間隔が詰まりすぎるぞゴルァ
文字輪郭だけで計算しとるらしい
- 125 :デフォルトの名無しさん:01/09/04 12:40 ID:MmUrMvH6
- 俺の周りに smalltalk を使っている奴が居ないせいか、
このスレに集まってる奴がすごく
マイナー指向というか、マニアックに感じる。
使ってるどころか「smalltalk?なにそれ」が
ほとんどだと思う…
- 126 : :01/09/04 12:42 ID:zVUpIT/g
- !<arch>
最良のMagicは何?
- 127 :デフォルトの名無しさん:01/09/04 14:28 ID:LOQedxtk
- >>126
ごめん意味分かんない
- 128 :デフォルトの名無しさん:01/09/04 17:36 ID:WgAvFMp6
- >>125
Smalltalkもそうだけど、日本では受けないけど学ぶ価値のある言語はたくさんある。
日本で受けないのはなぜか考えてみたら、結局英語を読めない・読もうとしない人が
多すぎるのではないかという気がして来た…。
- 129 :デフォルトの名無しさん:01/09/04 18:29 ID:UBYhxRDc
- >結局英語を読めない・読もうとしない人が 多すぎる
じゃ MIND がはびこっているかというと、そうではないわけで。
- 130 :デフォルトの名無しさん:01/09/04 21:15 ID:cgnDfOcA
- ソースじゃないよ、資料だよ。>>129
- 131 :デフォルトの名無しさん:01/09/04 21:47 ID:7PcHmx0U
- >>128
いや、歴史的な事情の方が大きいと思うな。Smalltalkは重い処理系だったから、
速い計算機が必要だったわけ。だから、研究室あたりで触れなかったら、ずっと
出会わないままで終わってしまう。しかも、結構なお値段がしたわけで、日本の
大学の研究室ではなかなか予算がつかなかったでしょう。Smalltalkそのものの
研究以外には使い物にならなかっただろうしね。
で、一度ついた流れが止まらないまま、今日に至る、と。
今はPDAでもある程度動くようになったから、巻き返しに出る条件は整ったとは
思う。Squeak本の翻訳が出てからが勝負かな。
- 132 :信奉者:01/09/05 02:28 ID:lY7cXRwo
- Squeak本、装丁とかも今後の売れ行きを左右する気がする。
パッと見で地味な本じゃ絶対売れない。
いんちき臭いくらい派手な目立つ装丁にして欲しい。
- 133 :名無しさん:01/09/05 02:50 ID:b3/sA8Gs
- 「できるSqueak」とか?
- 134 :デフォルトの名無しさん:01/09/05 03:01 ID:Fgy3d/FE
- >>133
おお、インチキクセー
- 135 :デフォルトの名無しさん:01/09/05 05:20 ID:Te2ijjgw
- >>124
>X11font 文字字間隔が詰まりすぎるぞゴルァ
多国語化してないイメージでやったらうまくいった。
このへん直らないかな。
- 136 :デフォルトの名無しさん:01/09/05 09:30 ID:hlqwZkXQ
- Smalltalk って private とか public とかのアクセス制御がないっぽいけど、
すべてに対してすべてを公開するという思想?
- 137 :デフォルトの名無しさん:01/09/05 09:57 ID:7OUMCJjQ
- >>136
データメンバは非公開、メソッドは公開、ということだったと記憶してるが、
なんなら自分が望むアクセス制御手段を自分で(Smalltalkで)実装すりゃいい(藁
ところでpublicだのprivateだのいう単語にも(既存言語1つづつそれぞれに)微妙に違う意味付けが有るけど、
どんな意味付けをお望みか?
- 138 :デフォルトの名無しさん:01/09/05 10:50 ID:qQoQ/17s
- >>137
俺が欲しがっているとかいう話ではなく、アクセス制御という枠組がなくても
やっていけるという思想なの? という疑問。
- 139 :デフォルトの名無しさん:01/09/05 13:10 ID:VvkxN2Xs
- >>138
うろ覚えですが。
オブジェクトの外部からのアクセスを制限したいメソッドは 'private' というカテゴリに分類してやる。
他のオブジェクトからは 'private' のメソッドは呼ばないようにする。
こんな感じでアクセス制御(?)を行っているはずです。
もちろん、自分でアクセス制御を実装してやる、というのも可能だと思います。
- 140 :デフォルトの名無しさん:01/09/05 14:11 ID:VkLqO6Wo
- すべてのソースがプログラマに対して開示されている環境だから、
カテゴリで private とか public とか表明するだけでよしとする?
Cなどでポインタとヒープの扱いがプログラマに任されているように、
Smalltalkではメソッド呼び出しの扱いがプログラマに任されている
ということかな。
- 141 :デフォルトの名無しさん:01/09/05 14:20 ID:VkLqO6Wo
- ざうちゅうのえらいひとと△鳩 for Squeakの作者は
どちらもおおしまさんですがなにか関係ありますか?
- 142 :デフォルトの名無しさん:01/09/05 15:13 ID:iUZCS8gE
- >>138
>やっていけるという思想なの?
思想か?と問われれば、答えはYESだろうなあ。
少なくとも、無いと絶対に動くソフトが作れないということなんか無いのは
間違いないわけで、となると後は、それを導入することによる
使いやすさ(にくさ)をどう評価*したい*か?という、考え方の問題になる。
つまり、採用の可否を決める理由は、思想(ものの考え方)しか、有り得ない。
#なにも考えずに気づけばそうなっていた、という線も有りえるが、まさかね…
変数に型が無いのとも、事情は似たようなもんだろな。
- 143 :デフォルトの名無しさん:01/09/06 11:03 ID:1cz9bw9E
- >>138
もともと、Smalltalkっておもちゃなんだよ。DynaBook構想のOSなんだから。
環境丸ごと好きなようにいじれるというのが売りになってるわけ。だから、
何かを隠すなんてことはあり得ない。変数に型が無いのも、いじり倒すのに
邪魔になるからだろうね。
こういった出自を考えると、堅っ苦しいVisualWorksよりも、Squeakの方が
正当な後継のような気がしてしまうな。
---
VisualWorksの5i.4が落とせるようになってる。isoイメージはgzippedなのに
200Mオーバーだ。5i.2迄しか見たことなかったから、あまりの変りっぷりに
愕然とした。こんなのWorkspaceじゃない、とか叫びたい気分である。
- 144 :デフォルトの名無しさん:01/09/06 12:11 ID:xBBQEm0E
- >>143
そんなでかいのダウソできないけど…。
でも見てみたいのでのでスクリーンショットきぼんぬ。
- 145 :デフォルトの名無しさん:01/09/06 14:04 ID:Os7P5cME
- 最近知ったこと。
なにかメソッドをいじって、実行してみたらでエラー発生。
という状況でデバッガが起動したとき、デバッガに表示されているスタック
ダンプの階層をたどって、エラーを起こしている当該メソッドのソースコー
ドを引っ張り出し、その場で修正た上で処理をそこから続行できるらしい。
収拾がつかなくなっても「以前の版に戻す」というメニューもあるので安心。
スタックダンプっていうと普通死体だけど、Smalltalkの場合は生きたオブ
ジェクトなんだよね。そのまま続行とかStep実行とかできるし、その時点で
変数に束縛されているオブジェクトがどうなっているかInspectしたり、更
にはメッセージを送って状態を変更したりもできる。
Smalltalkは実行しながらデバッグできる、ってそういうことだったのね。
- 146 :デフォルトの名無しさん:01/09/06 17:48 ID:1cz9bw9E
- >>144
http://members.tripod.co.jp/GarbagesCollection/5i.4.jpeg
こんなWorkspace。クラス名はWorkbookになってる。
- 147 :デフォルトの名無しさん:01/09/06 20:54
- >>146
あー、わざわざありがとう。
- 148 :デフォルトの名無しさん:01/09/07 17:00
- VisualWorksで実行できてしまいました。
| ア整数 |
ア整数 := 1.
^ア整数 + ア整数
==> 2
「ア整数」より「ある一つの整数」としたほうがより明確ではないかと
一部で議論になったのですが、ここは簡潔さや従来の慣習に敬意を表し、
あえて外来語としてそのまま採り入れました。
ちなみにSymbolのクラス階層は
Object()
Collection()
SequenceableCollection()
ArrayedCollection()
CharacterArray()
String()
Symbol()
だそうです。(クラス名の後ろの括弧はなんじゃ?)
- 149 :信奉者:01/09/08 01:31
- >>148
クラスのメンバ変数?
- 150 :デフォルトの名無しさん:01/09/10 16:14
- #スレ違い気味だけど、
Linux+XFree86 4.1.0でVisualWorks、動いてる?
FreeBSD 4-STABLE+XFree86 4.1.0だとフォントを古いのにしないと
動かないのだが。
- 151 :デフォルトの名無しさん:01/09/10 18:05
- >>149
そうなんだ!
Arrayってメンバ変数ないのね。非ポインタ型とかインデックス型とか、
あのへんに関って来るのかな。よく分からないんだけど。
- 152 :デフォルトの名無しさん:01/09/13 12:14
- Squeak3.0にも tile scripter あったよ。
ブラウザに統合されていなかったから気づかなかった。くぅ。
メッセージセレクタペインで黄ボタンメニュー -> tile scripter
- 153 :デフォルトの名無しさん:01/09/14 14:34
- sum.com の Self Tutorial で Morphic の解説発見。
ttp://www.sun.com/research/self/release/Self-4.0/Tutorial/index.html
ttp://www.sun.com/research/self/release/Self-4.0/Tutorial/Morphic/Morphic/Morphic.html
- 154 :デフォルトの名無しさん:01/09/16 08:47
- VisualWorksのエディタをvi風にするチェンジセットだそうな。
Squeakでも何とかならんかねえ。ネタとしては面白そうなんだが。
http://embug.dyndns.org/kusakari/16
- 155 :デフォルトの名無しさん:01/09/16 09:44
- よりによってなんでvi・・
- 156 :デフォルトの名無しさん:01/09/16 21:11
- キーバーインドの変更ならParagraphEditorをいじるよろし。
- 157 :j:01/09/16 21:14
- モロ、無修正画像サイト発見!
http://www.sex-jp.net/dh/01/
http://www.sex-jp.net/dh/02/
http://www.sex-jp.net/dh/03/
http://www.sex-jp.net/dh/04/
- 158 :デフォルトの名無しさん:01/09/17 07:07
- >>154
試してみたけどすげえ。
標準のSettingパネルの"Mac", "Motif", "Windows" なんかに
混じって、"Vi like" が出現したよ。気合入ってるな〜。
- 159 :デフォルトの名無しさん:01/09/17 15:59
- VisualWorks3.0 non-commercialで質問です。
Squeakでいうメソッドのversionsのような、編集履歴を遡って参照する機能はないのでしょうか?
- 160 :デフォルトの名無しさん:01/09/17 19:20
- >>159
標準では憑いてこないね。
Junにはそんな感じの事をするユーティリティが入ってた筈。
GPL嫌いじゃないなら、使ってみる宜し。
- 161 :vi厨:01/09/18 00:28
- >>155
え?viは合理的で素晴らしいぞ?
なんせあんなに沢山のキーが「カーソルキー」に変身してくれるんだからな。
将棋のコマより遥かに多彩な移動パターンが醸し出せるのは自明だろう。
あとはそれに慣れれば、モードレスゆえにカーソル移動でいちいち
変なキーを押さないと/併用しないとならない他のエディタの
アーキテクチャの馬鹿さ加減が、ひしひしと理解できるというものであらふ。
キーボードの上で眠ったら「必ず」文章を破壊するエディタなんか、要らないって。
viなら入力モードに移行するキーを押さない限り(つまり確率)、大丈夫だ。
- 162 :デフォルトの名無しさん:01/09/18 00:44
- 確かに、寝ぼけて :q! しちゃったことはないな。
- 163 :デフォルトの名無しさん:01/09/18 01:44
- >>162
眠りなだけに「ZZ」とか。
- 164 :デフォルトの名無しさん:01/09/18 01:45
- >>159
Change Listで同じではありませんが、似たことはできます。
VisualLauncherのChangesメニューから「Open Change List」を選んで、Change Listを開き、「File」メニューから「Read file/directory...」で*.chaファイルを選択。
表示される変更履歴から、元に戻したいメソッドを選択した後にsameチェックボックスをチェックすると、そのメソッドだけに絞り込まれるので、適当なメソッドを選んで「Replay」メニューから「This change」を選択。これで任意の時点に戻れます。
もし、*.chaが大きすぎる場合は「SourceFileManager default recover: 5000」のようにして、st80.recentに落としてから使ってください。
# もちろんENVYやStOREのような構成管理ツールを使った方が楽です。
- 165 :デフォルトの名無しさん:01/09/18 01:47
- でも事実上Undo無制限のエディタも多いしなぁ・・・
俺も日本語の文章じゃなければvi好きだけどね。
- 166 :デフォルトの名無しさん:01/09/18 18:05
- >>160
JunRevisionManager でしょうか…。見てみます。
>>164
やってみました。できなくもない、という感じですね。
>>165
viは無理ですがvimならばUndo無制限だったと思います。
- 167 :デフォルトの名無しさん:01/09/20 13:54
- 超どうでもいいことですが、
クラス>>メソッド
という表記は、もしかして
クラス>カテゴリ>メソッド
のカテゴリを省略したものなんでしょうか?
- 168 :デフォルトの名無しさん:01/09/22 23:08
- self age. "落ちないように"
- 169 :デフォルトの名無しさん:01/09/22 23:38
- >>167
Squeakでは、ContextPart>>printOn:
VisualWorksでは、CompiledMetohd>>printNameOn:inClass:
あたりを参照。
- 170 :デフォルトの名無しさん:01/09/23 11:22
-
Rubyはクソです。ゴミ箱逝きです。
いじょ
この発言をコピペしていただければ幸いです。
- 171 :デフォルトの名無しさん:01/09/24 11:28
- smalltalk って、日本では、SRA って会社がメインでやってるみたいだね。
- 172 :デフォルトの名無しさん:01/09/27 13:10
- age
- 173 :デフォルトの名無しさん:01/09/27 22:35
- >>171
特定の実装の商品についてなら、そういう話は成り立つだろうけど、
その言語全般についてならば、会社がどうとか考える意味はないだろう。
Squeakなんかもあることだしさ。
- 174 :デフォルトの名無しさん:01/09/29 00:34
- smalltalkって食ってけますか。
趣味程度にしといた方がいいですか。
- 175 :デフォルトの名無しさん:01/09/29 02:03
- >>174
会社らしい会社が無いだろ今は。
なので、分母が少な過ぎるんで、どっちも言えぬ。
ちょうどいい。キミが時代の最先端(つまり人柱)になってみないかね?ん?
- 176 :デフォルトの名無しさん:01/09/29 18:41
- (素人)
SqueakとMySQLってドッキングできませんでしたっけ?
データベースとセットでならビジネスになりません?
- 177 :デフォルトの名無しさん:01/09/29 19:50
- SRA は Smalltalk 関係で仕事とってるんだろうか。
- 178 :デフォルトの名無しさん:01/09/30 00:31
- >>177
去年の OO シンポジウムで青木さんの講演を聴いたよ。
まず、グラフィック環境「じゅん」の宣伝(Smalltalk 版と Java 版がある)。
それと政府関係の仕事をしてるという話だった。
(はったりも含めて)結構できる人のようです。
- 179 :デフォルトの名無しさん:01/10/01 04:10
- Smalltalkイディオムはなんかすごい
- 180 :デフォルトの名無しさん:01/10/01 04:29
- lispと違ってSmalltalkは結構仕事あるよ。
カッコとの差か(w
- 181 :デフォルトの名無しさん:01/10/01 12:02
- >>180
そういえばASCIIからLisp(しかもマック上のらしい)の本出てたな。
最近流行っているの?>Lisp
- 182 :デフォルトの名無しさん:01/10/02 04:24
- 九大病院はどうなったー?
- 183 :デフォルトの名無しさん:01/10/02 21:43
- >>182
その話し聞きたい
- 184 :デフォルトの名無しさん:01/10/03 02:48
- >>183
「九大病院!?」
そこでまたブチ切れですよ。
- 185 :デフォルトの名無しさん:01/10/04 13:11
- >>178
あのひと、元MACオタクの超人です
BSC>FXIS>SRA
(元後輩)
- 186 :デフォルトの名無しさん:01/10/05 23:27
- 九大病院
http://www3.nikkeibp.co.jp/WAT2/971212/971212trein01.html
- 187 :名無しさん:01/10/05 23:51
- ( ゚Д゚)アヒャヒャ
- 188 :デフォルトの名無しさん:01/10/06 00:21
- SqueakOSっていまどーなってんの?
- 189 :デフォルトの名無しさん:01/10/08 13:43
- self age
- 190 :デフォルトの名無しさん:01/10/08 23:22
- >>188
SqueakNOS
http://mathmorphs.swiki.net/9
- 191 :デフォルトの名無しさん:01/10/09 14:59
- Happy Squeaking! 第五回のサンプルを打ち込んでみましたが,
Squeakのバージョンが新しいせいか,うまく動きません.残念です.
ちなみに上記サイトでは2.4ですが,手もとにあるのは2.7 / 2.8 / 3.0です.
あそこはもう放置されているのでしょうか?
- 192 :デフォルトの名無しさん:01/10/10 00:21
- >>191
これはMVCの例題なので、MVC Projectの中で試してみてください。3.0では動きました。
また、ご本人は続ける気はあるようですので、励ましのメールを出すと良いかもしれません。
- 193 :デフォルトの名無しさん:01/10/10 09:26
- あれ?動きますか。
打ち間違いかな。
- 194 :193:01/10/11 09:57
- ダウンロードしたファイルをfileInしたらちゃんと動きました。
やっぱり打ち間違いでした。
- 195 :デフォルトの名無しさん:01/10/11 22:52
- >SqueakOS
VMWareのゲストOSとして食べさせたら、VMWareが落ちました(T_T)
- 196 :デフォルトの名無しさん:01/10/12 13:15
- >>195
うぐぅ。
VMWareよりSqueakのVMのほうが軽いと思われ。
- 197 :デフォルトの名無しさん:01/10/14 17:53
- SqueakNOS起動しないあげ
- 198 :デフォルトの名無しさん:01/10/15 10:05
- SqueakOSってファイルシステムとかどうなってんの? あげ
- 199 :デフォルトの名無しさん:01/10/17 22:35
- SqueakNOSのswiki見えないあげ
- 200 :デフォルトの名無しさん:01/10/18 10:28
- Squeak本っていつごろ出るの?
- 201 :デフォルトの名無しさん:01/10/19 03:42
- 201
- 202 :デフォルトの名無しさん:01/10/19 11:12
- >>201
も、もしかして2月1日に出るという符丁ですか?
- 203 :デフォルトの名無しさん:01/10/21 03:46
- 下記の条件にあった Smalltalk 環境はないでしょうか?
1. Unix 系の OS で動作する
2. Non Commercial
3. コマンドラインと親和性が高い
4. GUI も作成可能
2 までだと、Squeak でも良さそうですが、コマンドラインで操作でき、尚且つ
GUI も作成できるという物は見つかりません。
どなたかご存知でしたらお教えください。
- 204 :203:01/10/21 03:57
- イメージ的には、トランスクリプト、ワークスペース、各種ブラウザが
コマンドラインコンソールに統一された趣です。
emacs のようなインターフェースの Smalltalk 環境があると便利な人も
いるんじゃないかな、と思ったんですけど、無いですかね?
- 205 :デフォルトの名無しさん:01/10/21 04:47
- そのままemacs使えよ
- 206 :デフォルトの名無しさん:01/10/21 13:46
- >>203
GNU Smalltalk
http://www.gnu.org/software/smalltalk/
Blox
http://www.gnu.org/software/smalltalk/gst-manual/gst_19.html#SEC25
Smalltalk interface for GNU Emacs
http://www.cs.utah.edu/dept/old/texinfo/mst/mst.html#SEC34
現在、Emacs interfaceはunsupported
http://www.gnu.org/software/changelogs/smalltalk/smalltalk-1.95.1/NEWS
- 207 :デフォルトの名無しさん:01/10/21 23:15
- "Hello?"
"shine shine shineshineshineshine shinjimae~"
- 208 :デフォルトの名無しさん:01/10/22 10:52
- >>204
トランスクリプトとワークスペースはコンソールに近いけど、各種
ブラウザってのはコンソールでどうやるんだろ? イメージわかない。
SqueakやVisualWorksにはヘッドレスというGUIなしのバッチモード
(httpサーバーとして起動する時などに使う)があるから、標準入力を
評価するプログラムを書いて起動するとかで、コマンドラインからの
操作もできそうな気はする。
あとコマンドラインとEmacs風インターフェースというのは微妙に違うと
思う‥‥‥。
- 209 :208:01/10/22 11:03
- ああ分かった。
cursesとかのキャラクタ端末ベースのインターフェースが欲しいってことね。
80x25のキャラクタ画面で4分割ペインとか表示されても狭くない?
- 210 :見てないかも知れないけど:01/10/22 14:00
- 「放送大学 教養学部 発達と教育専攻」
は、もしかして受講してるだけですか?
どこかの研究室勤めかとばかり思ってた。
- 211 :デフォルトの名無しさん:01/10/22 18:29
- Solaris 上のSqueak で OpenGL プログラミングをしようとしています。
現在、FFI の X11 の例題がうまく動かず苦戦しています。
FFI の資料を探しています。
詳しい方、よろしくお願いします。
JunのSqueak版があるとうれしいのですが、ありますか?
また、UNIX 上の Squeak で OpenGL を使っている人いますか?
(Windows上のSqueakなら、動く例題がいくつかありました。)
何か分かったらお知らせします。
- 212 :203:01/10/23 01:29
- GNU Smalltalk のコンパイルに失敗した。ちょっと鬱。
Smalltalk/X もダメだった。
>>209 さん
そんな感じです。
- 213 :209:01/10/23 09:14
- >>212
このへん
ttp://member.nifty.ne.jp/abee/smalltalk/mobilegear.htm
に紹介されている Methods がそんな感じだったらしいすね。
- 214 :デフォルトの名無しさん:01/10/23 18:03
- >>209,>>213
MSXを連想しました。何故だろう。
- 215 :デフォルトの名無しさん:01/10/24 18:16
- squreak 手に入れたんですが、いまだに smalltalk の文法がよくわからないです。良い(squeak の)本かWEBはありませんか。
transcript: "HELP".
だっけ?コメントってどうやるんだっけ。
- 216 :デフォルトの名無しさん:01/10/25 07:30
- >>215
おすすめのサイトは、 >>5 >>6 に載ってます。
その他いろいろリンクがありますので過去ログ参照して下さい。
> transcript: "HELP".
> だっけ?コメントってどうやるんだっけ。
Transcript show: 'HEEEEELP!!!'.
文法的には
Transcript がレシーバ(メッセージの受け手であるオブジェクト)
show: がメッセージ(レシーバの持つメソッドを起動するためのシンボル)
'HEEEEELP!!!' が引数(ここではStringクラスのインスタンス)
. がキーワードメッセージ式の終りを示す終端記号
文字列は 'シングルクォート' でコメントが "ダブルクォート" です。
- 217 :216:01/10/25 09:31
- VisualWorksプログラミング/基礎編
ttp://www.sra.co.jp/people/kondo/business/VW/Basic/index.html
ここも参考になりそうです。
- 218 :215:01/10/25 09:34
- >>216-217
おお、どうもありがとう
- 219 :デフォルトの名無しさん:01/10/25 11:31
- >>216
「show: 'HEEEEELP!!!'」がメッセージで、
「show:」がメッセージセレクタ(キーワードメッセージセレクタ)、
「'HEEEEELP!!!'」が引数なのはOK、
「.」はメッセージ式とメッセージ式の区切り文字だと思います(したがって、この例では不要)。
- 220 :216:01/10/25 11:46
- 訂正ありがと。
'.' はターミネータ(Cの';')ではなくセパレータ(Pascalの';')でしたね。
- 221 :デフォルトの名無しさん:01/10/25 19:35
- Squeak ですが、
WorldMorph クラスってどこにあるんですか?
PasteUpMorph と WorldMorph の関係を教えて下さい。
- 222 :デフォルトの名無しさん:01/10/26 09:32
- >221
WorldMorphというクラスはありません。グローバル変数WorldにはPasteUpMorphのインスタンスが入っています。
World
http://minnow.cc.gatech.edu/squeak/1816
- 223 :デフォルトの名無しさん:01/10/26 12:52
- みんないいなあMorphic使えて。
マシン遅すぎでMVCしかまともに動かん。
- 224 :デフォルトの名無しさん:01/10/26 14:42
- >>222
リンク先を見てきました。
2.5 以降は、WorldMorph がなくなったんですね。
Morph の例題があるページに WorldMorph が出てきたので、
右往左往していました。
http://pbl.cc.gatech.edu/cs2390/227
上の例題は、PasteUpMorph のメソッドに適当にあわせてやれば
いいということで、よろしいでしょうか?
>>223
自分の Squeak 環境は、メモリ:64MB, CPU:K-6 266MHz です。
はじめからこの環境なので、速いか、遅いかよく分かりません。
1GHzとかでやっている人は、Squeakの体感速度はどうですか?
300MHzとかと比べて速くなりましたか?
- 225 :デフォルトの名無しさん:01/10/26 15:01
- お前らSmalltalk/Squeak教えてください。
- 226 :デフォルトの名無しさん:01/10/26 15:44
- >>225
いいですよ。
- 227 :デフォルトの名無しさん:01/10/26 15:48
- >>224
モバイルギアで動かしているので、うっかりMorphicプロジェクトに
飛びこむと、遅くて死にそうになります。
画面が狭いのでメニューが下にはみ出して、選択できないし。
- 228 :デフォルトの名無しさん:01/10/26 17:22
- 角度とか。
- 229 :デフォルトの名無しさん:01/10/26 21:29
- >角度とか。
これなあに?
- 230 :デフォルトの名無しさん:01/10/26 22:18
- アドレスが変わっている。
ブックマークで飛んでくるから、分からなかった。
- 231 :デフォルトの名無しさん:01/10/26 23:14
- 「“ダイナブック”の香りは受け継いでいる」――“パソコンの父”アラン・ケイ氏が来日
http://ascii24.com/news/i/keyp/article/2001/10/26/630756-000.html
- 232 :デフォルトの名無しさん:01/10/29 16:26
- 「どうしてこのスレこんなに盛り上がらないんだ。」
「そりゃあ smalltalk がマイナーだからじゃないの?」
「確かに、日本にいても smalltalk とか squeak とか聞かないしね。」
「本屋に言っても、初心者向けC++、JAVA、SQL、VB、Perlしか見かけないね。」
「Delphi,Lisp,COBOL、ましてやSMALLTALKなんて
絶対見ない。」
「…」
「…」
「あげ(ボソッ)。」
- 233 :デフォルトの名無しさん:01/10/29 17:51
- >>232
日本語のマニュアルがないからだと思います。
smalltalk はたくさんあるが、squeak は英語ばっかり。
Morphic とかの説明を検索しても、英語のページにリンクしてあるだけ。
だれか、squeak/morphic の日本語のサイト教えて下さい。
- 234 :デフォルトの名無しさん:01/10/29 18:04
- http://www.kk.iij4u.or.jp/~y-kamite/squeak/index_squeak.html
http://www.ogis-ri.co.jp/otc/hiroba/technical/Squeak/squeak.html
- 235 :デフォルトの名無しさん:01/10/29 18:24
- たとえばね、簡単なじゃんけんゲームを squeak で
作るにはどうすればいいのだろう。
Cで書いた場合は↓見たいな感じで。
#define GU 0
#define CHOKI 1
#define PA 2
#define TIE 0
#define WIN 1
#define LOSE 2
(中略)
do{
printf("番号を入力せよ 1:グゥ 2:チョキ 3:パァ > ");
scanf("%d", &player);
}while ( plyaer >= 1 && player <= 3 );
player--; /* 0 ベースの値に直す */
computer = rand() % 3;
/* 勝敗判定テーブル */
int table[3][3] = {
/* Computer = GU, CHOKI, PA */
{ TIE, WIN, LOSE }, /* Player = GU */
{ LOSE, TIE, WIN }, /* Player = CHOKI */
{ WIN, LOSE, TIE } /* Player = PA */
};
result = table[player][computer];
switch (result){
case TIE:
printf( "あいこ\n" ); break;
case WIN:
printf( "かった\n" );
break;
case LOSE:
printf( "まけた\n" );
break;
}
/* 終了 */
- 236 :デフォルトの名無しさん:01/10/29 18:29
- >>235
printf() でつまづいているんですが。
inspect it 以外のやり方お教え下さい。
- 237 :デフォルトの名無しさん:01/10/29 18:32
- transcript show: 'Hello World'
- 238 :デフォルトの名無しさん:01/10/29 23:29
- thread age: '落ちないように'
- 239 :デフォルトの名無しさん:01/10/30 12:41
- >>236
つーか、このまま直訳するんなら、そのまま文字列を返せばいいじゃん。
あとは使う側でprint itするなりinspect itするなり適当なmorphにブチ込むなり
好きにしてくんさい、っつーことで。
- 240 :作ってみたよ:01/10/30 14:36
- 結果が Transcript show: なのがちと残念。
OKボタンのついたダイアログってどうやって出すんだっけ?
Janken class>>play
"Janken play"
| table player computer result |
table := #((TIE WIN LOSE) (LOSE TIE WIN) (WIN LOSE TIE)).
player := (PopUpMenu labelArray: #(GU CHOKI PAR) lines: #())
startUpWithCaption: 'What is your choice?'.
computer := 3 atRandom.
result := (table at: player) at: computer.
Transcript show: result; cr.
- 241 :デフォルトの名無しさん:01/10/30 15:12
- >>240
おおお!なるほど。
確かに実行できました。どうもありがとう
ゆっくりプログラムを解析します。
- 242 :デフォルトの名無しさん:01/10/30 15:14
- ところで、コンピュータの出した手を表示しようとして
240での配列の使い方を参考に
Transcript show: #(GU CHOKI PAR) ar computer.
と書きましたがエラーでした。一度配列オブジェクトをつくらないとダメなのですか。
- 243 :デフォルトの名無しさん:01/10/30 15:16
- すみません
Transcript show: #(GU CHOKI PAR) at: computer.
としたらうまくいきました。
- 244 :デフォルトの名無しさん:01/10/30 15:20
- 重ね重ね申し訳ない。かっこつけ忘れてました。
Transcript show: (#(GU CHOKI PA) at: computer); cr.
ところで、
Transcript show: 'computer='; (#(GU CHOKI PA) at: computer); cr.
では、なぜうまくいかないのでしょうか。
- 245 :デフォルトの名無しさん:01/10/30 15:26
- >>244
Transcript show: 'computer', (#(GU CHOKI PA) at: computer); cr.
にかえてみそ。
「;」じゃなくて「,」っつーことね。
- 246 :デフォルトの名無しさん:01/10/30 15:39
- なるほど。
カンマは文字列の連結か区切りなのですか?
でもcr は改行 \n ですよね。
改行の直前は ; だし…
あ cr は改行文字ではなく、改行命令ですか?
それならば納得がいきます。
cr は show に対しての cr ではなく、 Transcript に対して cr しているという事ですか。
- 247 :デフォルトの名無しさん:01/10/30 15:54
- >>246
そう。245は
| messageString1 messageString2 messageString |
messageString1 := 'computer'.
messageString2 := #(GU CHOKI PA) at: computer.
messageString := messageString1 , messageString2.
Transcript show: messageString.
Transcript cr
と同じ。
「;」はmessage cascadingといって、
前のメッセージ式(この場合Transcript show: ...)の
リシーバ(この場合はTranscript)にメッセージを投げる。
プログラムが見にくくなるから俺は好きじゃないけど。
- 248 :デフォルトの名無しさん:01/10/30 16:00
- Squeakいじってると、代入記号は ':=' ではなく '←' (ASCIIの'_')
のほうが見やすいと感じるようになってしまった。
- 249 :デフォルトの名無しさん:01/10/30 17:35
- >>248
:=って何か興覚めだよな。
- 250 :デフォルトの名無しさん:01/10/30 19:20
- >>249
僕は、Prolog(:- ばっかり出てくるやつ) を使っていたから、
:= の方が違和感がない。
- 251 :デフォルトの名無しさん:01/10/30 23:47
- >>240
PopUpMenu inform: aString
Object>>inform:も切ってあるので、レシーバは任意のオブジェクトでも可。
でも、これはやり過ぎかも。
>>246
,はレシーバの集合と引数の集合を結合した「新しい」集合を返すメソッドのための二項メッセージセレクタ。
- 252 :バージョン2だよ:01/10/31 10:15
- なんでもクラスにしてしまうヲレ。
Object subclass: #Janken
instanceVariableNames: ''
classVariableNames: ''
poolDictionaries: ''
category: 'My-Games'
Janken class>>play
"Janken play"
| table player computer result |
table _ #((TIE WIN LOSE) (LOSE TIE WIN) (WIN LOSE TIE)).
player _ (PopUpMenu labelArray: #(GU CHOKI PAR) lines: #())
startUpWithCaption: 'What is your choice?'.
computer _ 3 atRandom.
result _ (table at: player) at: computer.
Transcript show: result; cr.
PopUpMenu inform: result, '.
computer''s choice is ', (#(GU CHOKI PAR) at: computer)
- 253 :デフォルトの名無しさん:01/10/31 20:01
- OXゲームを作ろうと思いました。が、いきなり詰まりました。
| x y |
x _ ( PopUpMenu
labelArray: #(X1 X2 X3)
lines: #()
).
y _ ( PopUpMenu
labelArray: #(Y1 Y2 Y2)
lines: #()
).
Transcript show: x,' ',y.
X及びY座標を選択させたいのですが、なぜかエラです。
どうしてですか?
- 254 :デフォルトの名無しさん:01/10/31 20:02
- あ、アンダーバーは "←" です。
- 255 :デフォルトの名無しさん:01/10/31 20:59
- >>253
PopUpMenu>>labelArray:lines: は、PopupMenu のインスタンスを返します。
それに startUpWithCaption: を送ると、首尾よくユーザーの選択した番号
が返るという寸法です。
- 256 :デフォルトの名無しさん:01/10/31 21:47
- startUpWithCaption: は、ポップアップメニューのキャプションを
設定するプロパティではないのですか?
- 257 :256:01/10/31 21:52
- なるほど、
| x y |
x _ ( PopUpMenu
labelArray: #(X1 X2 X3)
lines: #()
)startUpWithCaption: 'Select X Coord'.
y _ ( PopUpMenu
labelArray: #(Y1 Y2 Y2)
lines: #()
)startUpWithCaption: 'Select Y Coord'.
Transcript show: x,' ',y.
としたらうまくいきました。
startUpWithCaption: と 'Select X Coord'.
の間にスペースを入れる必要があるのですね。
- 258 :デフォルトの名無しさん:01/10/31 22:05
- | px py field cx cy|
field _ #((0 0 0)(0 0 0 ) (0 0 0)).
px _ ( PopUpMenu labelArray: #(X1 X2 X3) lines: #() )startUpWithCaption: 'Select X Coord'.
py _ ( PopUpMenu labelArray: #(Y1 Y2 Y2) lines: #() )startUpWithCaption: 'Select Y Coord'.
Transcript show: 'player: x='.
Transcript show: px.
Transcript show: ' y='.
Transcript show: py.
Transcript cr.
cx _ 3 atRandom.
cy _ 3 atRandom.
Transcript show: 'computer x='.
Transcript show: cx.
Transcript show: ' y='.
Transcript show: cy.
Transcript cr.
ここまでできたのですが、px ← ... と py ← .. の行を
Cで言うところの
do{
...
}while ( field[px][py] == 0 );
で囲むにはどうすればよいですか?
- 259 :デフォルトの名無しさん:01/10/31 23:23
- [((field at: px) at: py) = 0] whileTrue: [...]
かな?
ジャンケンはともかく、三目並べくらいのものを組むなら、
クラスを定義してメソッド分割したほうがいいような。
- 260 :デフォルトの名無しさん:01/10/31 23:24
- クラスに仕立て上げるとなると、
system ブラウザ立ち上げて、リストに新クラスを new して、
メソッドつくって… て感じですか。
- 261 :デフォルトの名無しさん:01/11/01 00:13
- >>260 そうですね。
- 262 :デフォルトの名無しさん:01/11/01 01:31
- x,y 座標を入力させるメソッド
x,y が空かどうかを調べるメソッド
x,y に○×を書き込むメソッド
一直線に並んでいるかを調べるメソッド
が必要なわけですよね。
配列の読み出しは array at: index
だと分かったのですが、配列への書き込みはどうやるのでしょう。
- 263 :デフォルトの名無しさん:01/11/01 01:44
- >>262
ブラウザ開いて、
Arrayのat:メソッドを探せば
その近所にあると思うぞ。
ぢぢー臭い事言うけど、
Smalltalkを学ぶのに必要なのは
知識を得ることではなくて
知識を得る方法を得ることだよ。
まあSmalltalkに限らないけど。
- 264 :まま、バージョン3:01/11/01 07:37
- 要らない音が鳴るようになりました
Object subclass: #Janken
instanceVariableNames: ''
classVariableNames: ''
poolDictionaries: ''
category: 'My-Games'
Janken class>>play
"Janken play"
| table player computer result |
table _ #((TIE WIN LOSE) (LOSE TIE WIN) (WIN LOSE TIE)).
player _ (PopUpMenu labelArray: #(GU CHOKI PAR) lines: #())
startUpWithCaption: 'What is your choice?'.
computer _ 3 atRandom.
result _ (table at: player) at: computer.
"Transcript show: result; cr."
[:each ||sound|
sound _ (Dictionary new)
at: #TIE put: 'clink';
at: #LOSE put: 'peaks';
at: #WIN put: (AbstractSound stereoBachFugue);
at: each.
(each == #WIN)
ifTrue: [sound play]
ifFalse: [Smalltalk beep: sound]] value: result.
PopUpMenu inform: result, '.
computer''s choice is ', (#(GU CHOKI PAR) at: computer)
- 265 :デフォルトの名無しさん:01/11/01 10:28
- >>263
倉庫行きを食い止め アーンド 少しでも盛り上げるつもり だったり。
- 266 :デフォルトの名無しさん:01/11/01 11:15
- >>264
> [:each ||sound| .... ] value: result.
のくだり、自分が書いたら #WIN と #LOOSE の処理を最初から分けちゃう気が
するのですが、Smalltalkではこういう書き方が定跡なんでしょうか?
- 267 :266:01/11/01 11:24
- >>266
> #WIN と #LOOSE の処理を最初から分けちゃう気が
→ 「#WIN とそれ以外の処理を」に訂正。
- 268 :デフォルトの名無しさん:01/11/01 15:37
- >>266
っつーか、俺なら
at: #TIE put: 'clink';
at: #LOSE put: 'peaks';
at: #WIN put: (AbstractSound stereoBachFugue);
のあたりを
at: #TIE put: [Smalltalk beep: 'clink'];
at: #LOSE put: [Smalltalk beep: 'peaks'];
at: #WIN put: [AbstractSound stereoBachFugue];
にして謎めいたifTrue:ifFalse:を避ける。
- 269 :266:01/11/01 16:00
- コードをよ〜く眺めたら、
> [:each ||sound| .... ] value: result.
のブロック中の each を result に置き換えればブロックいらない
じゃないですか。お〜い、書いた人〜。
- 270 :デフォルトの名無しさん:01/11/01 16:09
- >>269
これは後でメソッドにする時に便利だよ。
俺もたまにやる。
- 271 :デフォルトの名無しさん:01/11/01 16:19
- >>264
これって、クラスメソッドの定義ですよね。
これを利用するためには、
systembrowser を open
↓
カテゴリに My-Games を add item
↓>>264 を上書き paste↓全て選択して accept ですよね。
何故か Janlen class>>play でエラーらしき
メッセージが表示されてしまうのですが。
- 272 :266:01/11/01 16:38
- >>270
なるほど…。
「そのうち分割するつもりだけど最初は一箇所にまとめとこう。」
みたいな見通しでこういうコードを書くわけですね。
勉強になるなあ。
- 273 :デフォルトの名無しさん:01/11/01 16:46
- >>271
``Janken class>>play'' から``Janken class>>''を除いた、
``play'' 以下をコードペインに貼りつけて下さい。
``クラス名>>メソッド名'' は「どのクラスのどのメソッドか」を
表現するための記法で、コードを記述する時は使いません。
それから accept するとき全選択の必要はないです。
- 274 :デフォルトの名無しさん:01/11/02 06:31
- じゃんけんゲームで勝つことは特別な出来事です (藁
>>268
そっか、遅延させるだけで良しなんだ。 ありがとね。
まだ ブロックがフツーの括弧に見える時がある 264より。
- 275 :それから、バージョン3の1:01/11/02 06:44
-
Object subclass: #Janken
instanceVariableNames: ''
classVariableNames: ''
poolDictionaries: ''
category: 'My-Games'
Janken class>>play
"Janken play"
| table player computer result |
table _ #((TIE WIN LOSE) (LOSE TIE WIN) (WIN LOSE TIE)).
player _ (PopUpMenu labelArray: #(GU CHOKI PAR) lines: #())
startUpWithCaption: 'What is your choice?'.
computer _ 3 atRandom.
result _ (table at: player) at: computer.
"Transcript show: result; cr."
((Dictionary new)
at: #TIE put: [Smalltalk beep: 'clink'];
at: #LOSE put: [Smalltalk beep: 'peaks'];
at: #WIN put: [AbstractSound stereoBachFugue play];
at: result) value.
PopUpMenu inform: result, '.
computer''s choice is ', (#(GU CHOKI PAR) at: computer)
- 276 :デフォルトの名無しさん:01/11/02 09:57
- self halt
- 277 :276:01/11/02 23:12
- ほんとに一日スレッドが止まっちゃってたよ。(w
そんなつもりじゃなかったのに〜。
- 278 :デフォルトの名無しさん:01/11/03 00:24
- squeak でグラフィック描画ってどうすればできますか。
line: from #(0,0); to #(100,100).
みたいな感じですか。
- 279 :デフォルトの名無しさん:01/11/03 01:50
- >>278
>>95
- 280 :dyna:01/11/03 05:19
- 電車とかでのSqueakの勉強用にPDA買いたいんですが、
Squeakが動くPDAのおすすめってなんですかね。
やっぱザウルス?(ポポペはちょっとはずい。)
- 281 :デフォルトの名無しさん:01/11/03 12:25
- キーボードはあった方が良いです。ソフトキーボードや文字認識はストレスが溜まる上、狭い画面がさらに狭くなります。画面は横長の方が楽。
ざうちゅうは使えるヒープが少ないのが難点。初期イメージからクラスを削らないと動きません(これはポポペも同じ)。SH3もちょっと遅い。
コスト重視ならSigmarion 1,2、お金に余裕があれば、Jornada 710,720あたりでしょうか。ブラウズするだけなら、GFORTも良い感じ。あとメモリカードの予算も忘れずに(最低で32MB。できれば64MB以上で多いほどよい)。
いずれの場合も絶対的なパフォーマンスが不足しているので、サイズが我慢できるならサブノートも要検討。MVCには十分ですが、Morphicはあきらめです。日本語もちょっとつらい。
- 282 :デフォルトの名無しさん:01/11/03 17:37
- >>88
最近アラン・ケイ来日してましたよ。
初めて彼の生プレゼンテーション見た。感動。
ちなみにプレゼンは間違ってもPowerPoint使うなんてことはなくて、
全部Squeakでやってました。スライドもそれで作って。
- 283 :デフォルトの名無しさん:01/11/03 17:59
- >>282
さすがアラン・ケイ。
スライドを作るって結構めんどいだろうに。
- 284 :デフォルトの名無しさん:01/11/03 18:12
- >>283
スライドといっても、Squeak上のお絵かきツールで絵を描いておいて、
それをプロジェクターで投影しているというものでした。PowerPoint
みたいな・・・って誤解されてないですよね。
もちろん音楽やアニメにその場でメソッドを追加して機能を増やしたり、
ネットワーク経由でやりとりしたりとかいうデモもありました。
プレゼンはやっぱり上手かったです。1時間半くらいだったけど、みん
な集中して聞いてました。
そういえば上でもどこに所属しているか話題になってましたけど、彼が
Non Profit Organizationを設立しているみたいです。
- 285 :デフォルトの名無しさん:01/11/03 18:56
- >>284
Viewpoints Research Institute, Inc.
http://cacf.tripod.co.jp/vri.html
- 286 :デフォルトの名無しさん:01/11/03 23:52
- >>284
Bob'sSuperSwikiあたりのプロジェクトリストを眺めれば
Squeakを使ったスライドがころがってるよね。
あんな感じ?
- 287 :デフォルトの名無しさん:01/11/04 19:37
- ウィンストンのSmalltalk買った。
一応Smalltaker(笑)。記念あげ。
- 288 :デフォルトの名無しさん:01/11/04 19:47
- >>287
あ、takerになっちゃった。talkerね。
- 289 :デフォルトの名無しさん:01/11/05 01:35
- 【レポート】ウィンドウとパーソナル・コンピュータの父来日!
http://pcweb.mycom.co.jp/news/2001/10/31/17.html
http://pcweb.mycom.co.jp/news/2001/10/31/18.html
http://pcweb.mycom.co.jp/news/2001/10/31/19.html
オブジェクト指向の生みの親であるAlan Kay博士、教育を語る
http://www.watch.impress.co.jp/internet/www/article/2001/1031/kay.htm
「“ダイナブック”の香りは受け継いでいる」――“パソコンの父”アラン・ケ
イ氏が来日
http://ascii24.com/news/i/keyp/article/2001/10/26/630756-000.html
Alan Kay氏、東京で講演 「パーソナルコンピュータの革命は終わったのか?」
http://macfannet.mycom.co.jp/news/0110/25/1025alankay_seminar.html
- 290 :デフォルトの名無しさん:01/11/05 04:15
-
お、お父さん…
- 291 :デフォルトの名無しさん:01/11/05 11:48
- Bobs SuperSWikiの開き方。(某所より)
1)Squeak を起動する
2)画面下の黄色いflap(カーソルを近づけるとポップアップする)のFINDボタンを押す
3)左ペインからBobs SuperSwikiをクリック
4)ここでインターネットからプロジェクト一覧を取得しに行く
5)右ペインから適当なプロジェクトを選んでOKボタンを押す
6)プログレスバーで出て、終るとプロジェクトが開く
※ダイアルアップではかなり重いです
- 292 :デフォルトの名無しさん:01/11/05 18:20
- >>291
Making SpaceInvador ってロードしてみたけどよく分からなかった。
このとおりにすればインベーダーゲームが作れるってこと?
- 293 :デフォルトの名無しさん:01/11/05 23:28
- >>292
今見てみた。
確かに eToy を使ってインベーダーゲームを作るチュートリアルって感じだね。
> Bring up viewer on the tank. Click on the tank flap and rename it
> acordingly by clicking on the word Sketch on the very top of the
> viewer flap and type in tank.
最初の "Bring up viewer" っていうのは、Morphのインスペクタみたいな奴。
Haloの中の目のアイコンボタンをクリックすると画面の右端に半透明なパネル
が出る。(Haloというのはオブジェクトの回りにでる丸い小アイコン)
タンクの絵の上で数回黄ボタンクリックしてみるとタンク用のHaloが出るので、
その中から目のアイコンを押して出すことができる。
あとは図と説明の通りにやってみてね。
- 294 :dyna:01/11/06 03:15
- >>281
情報ありがとうございます。
SigmarionとかJornadaって機能は魅力的なんですが、パームサイズの
PDAでSqueakが動くというところに惹かれるんですよね、、、。
それと、(予算の関係で)購入は年末ぐらいを予定しているので、
現在の候補としては、NECのPocketGearかiPAQ、もしくはザウルス
あたりを考えています。
#iPAQの3800シリーズ日本語版のリリース予定ってあるんでしょうか。
もうひとつ質問ですみません。
基本的にPocketPC 2002マシンであってもSqueakは動作すると考えていて
よろしいのでしょうか。
- 295 :dyna:01/11/06 03:19
- >>289
最初にAscii24の記事内の写真を見たとき、なんだか冴えない表情をして
いたように思ったので、アラン・ケイ本人が退屈していたのかなと
ちょっと心配だったのですが、プレゼンテーションも盛況だった様子で、
うれしく思います。
講演に実際に行かれた方、大変うらやましいです!
- 296 :デフォルトの名無しさん:01/11/07 00:46
- >>294
PocketPC 2002ですが、たぶん大丈夫です。もし駄目だったとしても誰かが作るでしょう。
あと、JS Landscapeが使える機種の方が何かと都合が良いと思います。
http://www.jimmysoftware.com/Software/Landscape2/
- 297 :デフォルトの名無しさん:01/11/07 14:43
- Webブラウザやメーラは日本語が使えるそうですが、
IRCクライアントは日本語化されてるんでしょうか?
- 298 :デフォルトの名無しさん:01/11/07 21:38
- >>297
http://form.easyml.com/easyml/squeak-c8.php3
- 299 :デフォルトの名無しさん:01/11/07 22:13
- >>298
ML? 過去ログどこで見れるの?
- 300 :デフォルトの名無しさん:01/11/07 22:59
- >>295
舞台裏のアラン・ケイ見たんですが、さびしくたばこふかしながら、
「俺の財団に金だすとこはないんかよぉ」と愚痴垂れてました。
いいアイデアを出しながらも、いつも山師扱いされ、成果は持って
かれていくのに嫌気がさしていたみたいです。
私が「今からでも遅くないから、ダイナブックの名称の盗用で東京
浜松町電気訴えてみては? 第二の東○ノートPC事件っつって、
巨額の賠償金取れますよ。手伝いましょうか?」
と声をかけたところ、かなり乗り気の様子でしたよ
・・・という夢をみた。
- 301 :デフォルトの名無しさん:01/11/09 09:57
- self age.
- 302 :デフォルトの名無しさん:01/11/10 03:10
- [(programBBS indexOf: squeakThread) > 16] whileTrue: [squeakThread age]
- 303 :デフォルトの名無しさん:01/11/10 07:38
- programBBS allThreadsDo: [:th |
(th title = 'ΨΨΨ Smalltalk/ Squeak 教えろゴルァ ΨΨΨ')
ifTrue: [self squeakThread: th]].
- 304 :デフォルトの名無しさん:01/11/11 13:13
- GNU Smalltalkを使いたいのですが、
勉強になるページを知っていたら教えてください。
(ソースは入手いたしました。これからコンパイルしてみます)
- 305 :デフォルトの名無しさん:01/11/11 22:37
- >ダイナブックの名称の盗用で東京浜松町電気訴えてみては?
あれは当時許可を取ったということだったはずだが?
というか当時、よく「あんなもん」にケイが許可出したもんだ?っていうほうが
激しい驚きだったな。ノートpcというものの登場は確かに画期的だったが、
それをいきなりケイの理想の「ダイナブック」と関連付けるってのは
あまりにも馬鹿というかネタというか。出来るわけでもないのに。
頼む某社も某社なら受けるケイも…。
時は流れて、今のPCなどなら力技でなんとでもなるだろうな。
だからこそSqueakが出てきてPDAでも動くなんていう状況を
「彼は」作ってくれたわけだろうな。
力を正しい方向に使えば本物のダイナブックも夢じゃないということで。
- 306 :デフォルトの名無しさん:01/11/12 00:05
- 日本でダイナブックの商標を持っているのはアスキー。アスキーが東芝に許可したとか。
http://www2.ipdl.jpo.go.jp/beginner_tm/TM_DETAIL_FRAME.cgi?1&1&1005490354291090
アラン・ケイがどう思っているかは以下のページの2枚目の写真でも明らか。
http://www.watch.impress.co.jp/akiba/hotline/980718/alankay.html
- 307 :デフォルトの名無しさん:01/11/12 00:23
- >>306
1 枚目の写真の方が気になる。肩に手が・・・。
GNU Smalltalk の Windows 版があるらしいんだけど、
どなたか知りませんか?
- 308 :デフォルトの名無しさん:01/11/12 00:49
- GNU Smalltalk Manuals
http://gnu.hbi.ne.jp/software/smalltalk/gst-manual/gst.html
http://sandbox.mc.edu/~bennet/cs404/doc/gst_doc/index.html
http://ite.gmu.edu/~enorris/363/smalltalk/gnu_manual.html
http://www.cs.utah.edu/dept/old/texinfo/mst/mst_toc.html
http://www.cs.oswego.edu/~odendahl/manuals/smalltalk/tutorial/
Squeak 使ってるんだけど、GNU Smalltalk って日本語通りますか?
Morphic に馴染めなくて。
- 309 :デフォルトの名無しさん:01/11/12 01:52
- >>308
Morphicには馴染めないけど、Consoleには馴染める、
そんな人にはGNU Smalltalk.
- 310 :デフォルトの名無しさん:01/11/12 03:14
- >>306の go.jpの方、
>ただ今サーバが混み合っています。しばらくしてから接続して下さい。
としか出んzo!
- 311 :デフォルトの名無しさん:01/11/12 22:52
- >>310
cgiの引数が毎回変るみたい。「ダイナブック」で検索してみて。
http://www2.ipdl.jpo.go.jp/beginner_tm/TM_AREA.cgi
- 312 :デフォルトの名無しさん:01/11/13 10:50
- >>308
Morphicには馴染めないけど、Consoleには馴染める、
そんな人にはSmallScript.
http://www.smallscript.org/
- 313 :デフォルトの名無しさん:01/11/14 00:37
- SmallScript より StepTalk で Smalltalk 使ってみたいよ。
http://www.gnustep.net/software.html
- 314 :デフォルトの名無しさん:01/11/15 00:51
- 前スレ発見
http://piza.2ch.net/tech/kako/982/982707274.html
- 315 :デフォルトの名無しさん:01/11/15 01:21
- ココ面白かった。
http://www.ops.dti.ne.jp/~cake-smd/diary/d200108c.html
- 316 :デフォルトの名無しさん:01/11/15 04:54
- squeakを勉強し始めるのにお勧めの書籍はなんですか?
- 317 :デフォルトの名無しさん:01/11/15 14:43
- Squeak触ってみた。テキストを選択して do it が衝撃的だった。
やばい、カッコイイじゃないか。
- 318 :203:01/11/16 00:30
- こういうのの Smalltalk 版できないかな。
もちろん日本語が通って GUI が出来るのが欲しいです。
コマンドライン万歳って事で、よろしくお頼み申します。
http://users.pandora.be/stes/compiler.html
- 319 :デフォルトの名無しさん:01/11/16 12:34
- 頭狂アンダーグラウンド(爆)ゴルァ
頭狂アンダーグラウンド(爆)ゴルァ
頭狂アンダーグラウンド(爆)ゴルァ
- 320 :デフォルトの名無しさん:01/11/17 03:44
- Jun for SmalltalkをSqueakに移植するって話あんまり聞かない気がするけど
(おれだけ?)取り組んでいる人っているのかな。
青木さんがあんまりSqueakを(少なくともSmalltalk入門用としては)すすめて
ないみたいだから、ある意味タブーなんだろうか。
すごーく興味あるんだけど。
- 321 :デフォルトの名無しさん:01/11/17 04:45
- おれ、こそーりとrendering contextを実装してたりする。
named user primitive定義したりして。
Baloon3D使ってもできることだから、
まだ公開しようか悩んでるけど。
興味あったら思いあたる人にメイルしてみそ。
(一部の人には正体がバレるかな、こりゃ)
- 322 :デフォルトの名無しさん:01/11/17 07:53
- Ruby >>>>>>>>>>>> smalltalk
- 323 :320:01/11/17 08:46
- >>321
いいですねー。
でもおれ、まだまだSmalltalk歴浅いし、知合いとか思い当たる人いなんですよね、、、。
VisualWorksでJunのソース眺めながら勉強してたんですけど、
Squeakがすごーく楽しいから、不意にそう思っただけなんです。
でも、青木さんが折にふれて言っていることも正しいと思うし、
しばらくはVW環境で勉強を続けることにします。
といいつつ、
Squeakに移植したぜーとかいう人で公開してもいいと言う人、是非
アナウンスきぼんw)。
- 324 :デフォルトの名無しさん:01/11/17 09:09
- >>322
反応するという意味ではないが、こういうのや、他すれでの下らん言語論争を見てたりすると、Smalltallerって唯我独尊って感じでいいなぁとかおもふよ。達観してるつーか。
(ちなみに漏れはSmalltalkerになりたいJava厨)
- 325 :デフォルトの名無しさん:01/11/17 09:49
- Squeakにもともとある3D系のライブラリって、筍とどのくらい被るんですか。
立方体が回ってるデモなんか、ウィンドウの周りにダイヤルがあったりして、
見た目は非常に影響を受けてるなーという気がするんですが。
- 326 :デフォルトの名無しさん:01/11/17 12:13
- >>325
あのホイール(っていうのかな)は筍がオリジナルってんでもないんじゃない?
おれはSGIのInventorとかいうフレームワークライブラリで初めて見た
ような気がしてるんだけど。違ってたらスマソ。
- 327 :デフォルトの名無しさん:01/11/17 12:57
- >>323
ご存知と思いますが、青木さんのgoodiesの一部をnishisさんが移植しています。
http://www.sra.co.jp/people/nishis/smalltalk/Squeak/goodies/index.html
http://www.sra.co.jp/people/nishis/smalltalk/Squeak/ppp/pppsqueakss.html
- 328 :デフォルトの名無しさん:01/11/17 19:53
- <独り言>
SmallTalk + Lisp みたいなワケのわからないキモイ言語を
作成中です。いじょ。
</独り言>
- 329 :デフォルトの名無しさん:01/11/17 20:17
- その言語に命名してやるよ。
Smalltalkに対抗して「ひとりごと」。これどうよ?
- 330 :デフォルトの名無しさん:01/11/17 20:21
- じゃあ、そのコードを書く事は「ひとりごつ」か。
- 331 :328:01/11/17 20:24
- >>329,>>330
/ ̄ ̄ ̄ ̄ ̄ ミ
/ ,――――-ミ
/ / / \ |
| / ,(・) (・) |
(6 つ |
| ___ | / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| /__/ / < それもらった!
/| /\ \__________
- 332 :デフォルトの名無しさん:01/11/18 08:13
- >>328
カッコの多い Smalltalk だったらイヤーン。
Dylan は Smalltalk + CLOS らしいけど。
Smalltalk って元々 Lisp の影響が濃いらしいね。
Lisp 知らないからどこら辺がそうなのやら。
- 333 :デフォルトの名無しさん:01/11/18 13:06
- >>332
データとしての式を評価して実行するという考え方。および遅延評価機構。
LISPではクロージャ。
Smalltalkではブロック。
- 334 :デフォルトの名無しさん:01/11/18 14:04
- >>330 ひとりごっつ?
#俺すきだったよ(w
- 335 :デフォルトの名無しさん:01/11/18 14:22
- >334
君、古文苦手だったでしょ?
- 336 :デフォルトの名無しさん:01/11/19 13:06
- Squeak の Morphic の左上の x を押すと
固まる。
OS solaris x86
squeak ver3.0
賛同者、求む。
- 337 :デフォルトの名無しさん:01/11/19 20:28
- GNU SmalltalkをCygwin上で動かそうと格闘してます。
なんとかビルドできましたが、起動したとたんに
「セグメンテーションフォールト」とか言って、終了しちゃいます。
どなたか克服済みの方いませんか?
- 338 :デフォルトの名無しさん:01/11/19 21:13
- >>337
素直に Squeak つかおうや、と、言ってみる。楽ですよ。
- 339 :デフォルトの名無しさん:01/11/19 23:16
- うちのノートパソコンで Squeak 使おうとすると、キーンという甲高い音が
して困ってるんだけど、何か対処法はないですかね?
ちなみに Dell の Inspiron 4000 で、OS は Windows Me 。
グラフィック周りのバグかな。それともハードの所為なのか。
他のソフトではこんなにならないのに。
- 340 :337:01/11/20 00:45
- >>338
そういってもらえて、なにか吹っ切れた気分だ。
- 341 :デフォルトの名無しさん:01/11/20 01:41
- >>339
>うちのノートパソコンで Squeak 使おうとすると、キーンという甲高い音が
>して困ってるんだけど、
いや、そりゃSqueakっていうぐらいだから・・・ってもしかしてネタ?
- 342 :デフォルトの名無しさん:01/11/20 02:42
- >>341
いや、ノートによってはそういうことがある。
CPU負荷が高くなると何故か甲高い音が聞こえてくる。
- 343 :デフォルトの名無しさん:01/11/20 03:08
- >>339
そういうときは2・3回ノートを叩くとなおる。
いつもそれでなおしてるので、実証ずみ。
- 344 :デフォルトの名無しさん:01/11/20 05:55
-
そうそう。
わたしたちが電気製品をこしらえると同時に
発見し、育んできた、愛情の裏返しの Bug fix 技術ですね。(w
- 345 :デフォルトの名無しさん:01/11/20 11:20
- >>340
どうしてもconsoleで、ということなら、Embedded Squeakという手も。
http://www.kurtz-fernhout.com/squeak/
- 346 :デフォルトの名無しさん:01/11/20 15:54
- Balloon3D の日本語の解説サイトお教え下さい。
ソース読んでも、ちんぷんかんぷんです。
検索しても英語のサイトしか見つかりません。
英語読めない私は、ダメですか?
- 347 :デフォルトの名無しさん:01/11/20 22:55
- >>346
http://www.geocities.co.jp/HeartLand-Namiki/7654/200102.html
- 348 :デフォルトの名無しさん:01/11/21 09:52
- >>347
もうすこし、つっこんだ解説サイトがあるとうれしいです。
適当な検索語などありましたらお教えください。
- 349 :デフォルトの名無しさん:01/11/22 06:28
- BlockContext>>whileTrue:aBlockの実装が
^ [self value] whileTrue: [aBlock value]
になってるけど、どうしてこれでうまくいくのか分からない
- 350 :デフォルトの名無しさん:01/11/22 07:14
- >>350
コンパイラがインライン展開していて
実際にはそのメソッドが実行されるわけじゃないから。
って、BlockContext>>whileTrue:のコメントにも書いてあるけど。
- 351 :デフォルトの名無しさん:01/11/22 12:44
- | aBlock |
aBlock _ [ | i |
i _ 0.
[ (i _ i + 1) < 10 ] whileTrue: [ Transcript show: i ; cr ]].
aBlock method symbolic
==> '29 <89> pushThisContext:
30 <75> pushConstant: 0
31 <C8> send: blockCopy:
32 <A4 16> jumpTo: 56
34 <75> pushConstant: 0
35 <69> popIntoTemp: 1
36 <11> pushTemp: 1
37 <76> pushConstant: 1
38 <B0> send: +
39 <81 41> storeIntoTemp: 1
41 <23> pushConstant: 10
42 <B2> send: <
43 <AC 09> jumpFalse: 54
45 <40> pushLit: Transcript
46 <88> dup
47 <11> pushTemp: 1
48 <E1> send: show:
49 <87> pop
50 <D2> send: cr
51 <87> pop
52 <A3 EE> jumpTo: 36
54 <73> pushConstant: nil
55 <7D> blockReturn
56 <68> popIntoTemp: 0
57 <10> pushTemp: 0
58 <D5> send: method
59 <D4> send: symbolic
60 <7C> returnTop
'
- 352 :デフォルトの名無しさん:01/11/22 12:57
- メッセージのカスケード ";"
ってコンパイルしてみるとスタックを dup してるだけだよもん。
- 353 :デフォルトの名無しさん:01/11/22 14:01
- ファイル入出力関係ですが、いいですか?
1. ファイルlog.datに "test0, test1, test2" と書き出す("は書き出さない)。
2. ファイルlog.datの内容を読み込む。
3. カンマ(,)で区切られた文字列を両端の空白を削除して取得する。
"1"
strOut := 'test0, test1, test2'.
out := DataStream newFileNamed: 'log.dat'.
out nextPut: strOut.
out close.
"2と3"
in := FileStream readOnlyFileNamed: 'log.dat'.
strIn := in contentsOfEntireFile.
in close.
tx := TextDiffBuilder new.
cltn := tx split: strIn by:$,.
cltn do: [:str| Transcript show:(str trimBlanks); cr].
下の2と3の処理はうまく実行できました。
しかし、1で書き出すときにファイルの先頭に変な制御文字が出力されます。
代わりに FileStream print:strOut とすると、
(')がファイルの先頭と最後に追加されてしまいます。
みなさん、どうされていますか?
- 354 :デフォルトの名無しさん:01/11/22 16:50
- >>353
"2と3"
in := FileStream readOnlyFileNamed: 'log.dat'.
lines := OrderedCollection new.
tx := TextDiffBuilder new.
[in atEnd] whileFalse: [lines add: (tx split: in nextLine by: $,)].
in close.
- 355 :デフォルトの名無しさん:01/11/23 00:04
- >>353
"1"
strOut := 'test0, test1, test2'.
out := FileStream newFileNamed: 'log.dat'.
out nextPutAll: strOut.
out close
- 356 :349:01/11/23 02:55
- やっぱ、わかんないや>whileTrue:
普通はインライン展開されるとはいえ、そういうことしなくても動くわけでしょ?
…なんか、根本的に勘違いしてそうだ、漏れ
- 357 :デフォルトの名無しさん:01/11/23 14:08
- >>305
http://biztech.nikkeibp.co.jp/wcs/leaf?CID=onair/biztech/meet/151605
- 358 :デフォルトの名無しさん:01/11/23 14:35
- >>356
BlockContext>>whileTrue: の中身のコードも
インライン展開されてるからってことで。
つまり、BlockContext>>whileTrue:は
見かけは再帰してるけど、実際には再帰してないから
ちゃんと動くわけさ。
- 359 :デフォルトの名無しさん:01/11/23 16:20
- drawIndexedLine は実装されていないみたいですね。
- 360 :デフォルトの名無しさん:01/11/23 17:44
- >>359
Squeak の Balloon3D を使って、
0@0@0 から 1@0@0 まで線をひきたいのですが、
どうしたらよいでしょうか?
いまは、下のように、細長い三角形で代用しています。
rend _ B3DRenderEngine defaultForPlatformOn: Display.
" set viewport "
rend viewport: (Rectangle origin: 10@10 extent: 200@200).
rend clearViewport: Color black.
" set camera "
cam _ B3DCamera new.
cam initialize.
cam position: 0@0@-1.
rend clearDepthBuffer.
rend loadIdentity.
cam renderOn: rend.
" draw triangle as line "
rend trackEmissionColor: true.
rend normal: 0@0@1.
rend color: Color white.
rend drawPolygonAfter: [
rend
vertex: 0@0@0;
vertex: 0@0.1@0;
vertex: 1@0@0.
].
rend flush.
よろしくお願いします。
- 361 :デフォルトの名無しさん:01/11/25 16:58
- age
- 362 :デフォルトの名無しさん:01/11/26 00:51
- >>358
TrueやFalseの中のifTrue:ifFalse:も通常、インライン展開されるけど
インライン展開されなくても動くでしょ?
で、whileTrue:もインライン展開されなかったとしたら
あのコードでどう動くのかがよく分からないんですよ
で、どう理解すればいいのかなぁと思ってね…
あと、
>見かけは再帰してるけど、実際には再帰してないから
とありますが、見かけと実際が乖離している理由がわかりません
っていうか、そもそも、インライン展開も分かってないですけどね、僕は
本当なら、コンパイラもライブラリにあるので読んでみるのが筋なんでしょうけど
僕には、ちょっとわからないんですよね
- 363 :358:01/11/26 08:23
- >>362
358で書いたとおり、BlockContext>>whileTrue:の
[self value] whileTrue: [aBlock value]
がインライン展開されて
5 <70> self
6 <C9> send: value
7 <9C> jumpFalse: 13
8 <10> pushTemp: 0
9 <C9> send: value
10 <87> pop
11 <A3 F8> jumpTo: 5
13 <73> pushConstant: nil
14 <7C> returnTop
となってるから。
なんでこんな実装になってるかというと、
whileTrue:を使うと通常はインライン展開されるけど、
[ x > 0] perform: #whileTrue: with: [x _ x - 1]
みたく強制的にメッセージ送信を発生させてる場合についても
whileTrue:自体が上に書いたバイトコードにインライン展開されていて
効率よく実行できるから。
whileTrue: aBlock
self value ifTrue: [aBlock value. self whileTrue: aBlock]
って感じにしても動くけど、毎回メッセージ送信が発生して、遅くなっちゃうでしょ。
- 364 :デフォルトの名無しさん:01/11/26 16:43
- SmallTalk の開発環境がただで…。
いい時代だ。
関係ないが、
オブジェクト指向プログラミングって、
SmallTalkプログラミングっていった方が理解しやすいと思うが、
どうですか?
- 365 :デフォルトの名無しさん:01/11/26 19:00
- >>364
その質問の前にSmalltalkをSmallTalkと誤記するのをやめよう。
- 366 :デフォルトの名無しさん:01/11/26 19:32
- >>365
ドキュメントとかにも、SmallTalk って書いちゃってるよ。
やばいよ。でも、もう、時効ですよね。
こんなこと知らなくても、プログラミングできるってところがすごいと思った。
- 367 :デフォルトの名無しさん:01/11/26 19:52
- >>365
御大は「けんかはやめて。"t"が正しいけど、どうでもよいよ」と仰せです。
http://groups.yahoo.com/group/squeak/message/31937
- 368 :デフォルトの名無しさん:01/11/26 20:04
- >>366
しかし、知らないとまずいこともあります。例えば次の式は通りません。
SmallTalk at: #Object
- 369 :デフォルトの名無しさん:01/11/26 20:20
- >>367 は英語が読めている。よって、嫉妬する。
- 370 :デフォルトの名無しさん:01/11/27 02:50
- >>363
よくよく考えてみると、僕が分かってないのは、BlockContext自体なような気がする
ブラウザの中の仮に作ったMyClassの中で
[Transcript show: 'What?'] inspect
を実行してみると、
self: [] in MyClass class>>DoIt
sender: nil
pc: 26
stackp: 0
nargs: 0
startpc:26
home: MyClass class>>DoIt
中身ってどこいっちゃったんだろ…
- 371 :358:01/11/27 03:04
- >>370
そのinspectorの中でhome method symbolicをinspectすべし。
startpc: 26なら、26からがそのBlockContextのバイトコードね。
- 372 :デフォルトの名無しさん:01/11/27 04:17
- ちなみにVisualWorksではBlockClosureが自分のバイトコードをちゃんと持ってる。
こういう造りはやっぱSqueakよりVisualWorksのほうがしっかりしてるね。
- 373 :デフォルトの名無しさん:01/11/27 04:33
- >>371
なるほど、確かにバイトコードが出てきました。
homeがMyClass class>>DoItとなっていて、
inspectするとMethodContextのインスタンスってことが分かり、
その中のmethodがa CompiledMethod (333)となっていて、
inspectするとinst varsが、バイトコードでした。
あと、超基本的なことかもしれないんですが、
BlockContext instVarNamesが#('nargs' 'startpc' 'home')だったので、
[Transcript show: 'What?'] instVarAt: 3を実行してみると0だったのです。
インスペクターの中では、homeはMyClass class>>DoItだったのに…。
Smalltalk自体、まだ、1週間ちょいしか触ってない超初心者な者で…⊂⌒~⊃。Д。)⊃
- 374 :デフォルトの名無しさん:01/11/27 07:21
- >>373
スーパークラスで定義されてるインスタンス変数を勘定してないから。
BlockContext allInstVarNamesを見てみてから
[Transcript show: 'What?'] instVarAt: 6してみそ。
- 375 :デフォルトの名無しさん:01/11/27 16:43
- >>360
その前にBalloon3Dで点を打つ方法を教えて下さい。
C/OpenGL でいうと、
glBegin(GL_POINTS);
glVertex3f(0.0, 0.0, 0.0);
glEnd();
みたいな感じです。
とりあえず、Ballon3Dでできるか、できないかだけおしえて下さい。
- 376 :squeak習い始め:01/11/28 01:44
- >>374
なるほど、できました
他に、オブジェクトをいろんな角度で調べるための
お勧めの基本的なメッセージってどんなのがありますか?
- 377 :デフォルトの名無しさん:01/11/28 16:07
- >>376
instVarAt:とか、デバッガとかの環境を作るんでない限り
お行儀のいい人はあんまり使うもんじゃないよ。
あとisKindOf:とかrespondsTo:とかも同様かな。
instVarAt:に比べれば、しょうがなく使う場合が比較的多いけどね。
この手のオブジェクトの化けの皮を剥ぐメッセージは多用しないほうがいいよ。
俺的にSmalltalkの学習で一番鮮烈だったのは、
OrderedCollectionがサイズを増やすためにbecome:してるのを見たときだったな。
Squeakでは違う実装になってるけど。
- 378 :squeak習い始め:01/11/29 03:01
- なんか、簡単なプロジェクトの実際のコード(イメージ)を見てみたい
- 379 :デフォルトの名無しさん:01/11/29 07:51
- >>378
Bob's super swikiで適当なプロジェクトを探してみたら?
下にある橙色のタブのFIND...を押してみそ。
- 380 :名無しさん@XEmacs:01/11/30 20:40
- >>378
プロジェクトのコード? イメージ?
SystemBrowserを立ち上げると、コードはイヤというほど詰まってます。
システムのコードとアプリケーションのコードが分かれていないっちゅうか、
一緒くたに入っているので。
- 381 :squeak習い始め:01/12/01 06:21
- >>380
知ってるからこそ、微妙な聞き方になったんだよね
知りたいのは「簡単な」コードはどんなのがあるか?ってことだけど、
そもそも環境と開発コードが一緒なので、「(イメージ)」みたいな言い方になっちゃって…
380さんもかなり微妙な表現になってるしw
より正確には、もとのライブラリ(と呼んで良いのかどうか…)はいじられていなくて、
付け足されたコードは理解が容易なもの
…っていうか、なんか都合の良いこと言ってるなぁ
自分で何か作ってみるのが一番早いかもね
>>379
また、しらない機能だ…
ちなみに、「下にある橙色のタブのFIND...を押して」みるまで、
約1時間かかった(よく分からなくてw)
- 382 :デフォルトの名無しさん:01/12/02 13:31
- >>381
なるべく古くて小さなイメージを使う(MiniSqueakなど)。
ftp://st.cs.uiuc.edu/Smalltalk/Squeak/SmallSqueaksForPDAs/MiniSqueak2.2/
単純なアプリから調べる(Workspace, FileListなど)。
- 383 :名無しさん@XEmacs:01/12/02 18:32
- >>381
> また、しらない機能だ…
> ちなみに、「下にある橙色のタブのFIND...を押して」みるまで、
> 約1時間かかった(よく分からなくてw)
過去ログ >>291 に書いてあるYO!
- 384 :デフォルトの名無しさん:01/12/04 18:14
- さみしいから age
- 385 :デフォルトの名無しさん:01/12/07 14:08
- ageとくよー
- 386 :デフォルトの名無しさん:01/12/12 09:14
- self:age.
- 387 :デフォルトの名無しさん:01/12/13 15:20
- 今日発売のMac Fan 2002年1月号でSqueak特集。EToyの使い方あり。
- 388 :デフォルトの名無しさん:01/12/14 01:33
- >>386
シンタックスエラー
Nothing more expected ->self:age
- 389 :デフォルトの名無しさん:01/12/14 11:08
- >387
それは非マカーでも買う価値あり?
- 390 :デフォルトの名無しさん:01/12/14 13:37
- >>389
あり。特にMorphでスクリプトの書き方が分からなかった人におすすめ。
評判が良ければ連載の話もあるらしいので、その意味でも買い。
- 391 :デフォルトの名無しさん:01/12/14 13:47
- なんかうれしいage
でもアメリカに住んでててに入らない。
内容アップきぼん。
- 392 :デフォルトの名無しさん:01/12/14 18:48
- 買う買うage
- 393 :デフォルトの名無しさん:01/12/14 23:11
- Squeakland
http://www.squeakland.org/
のページにある、"Get squeak!"というリンクからインストールした
プラグインをインストールしてみたのですが、IEで使うことができ
ません(http://www.squeakland.org/author/etoys.htmlのプロジェ
クトを開いても何も起きない)。
ブラウザのセキュリティレベルを変えたりファイアウォールを使わ
なかったりしてもだめです。なぜなんでしょうか?
あとデスクトップに"SQUEAK"というアイコンが表示され、これで
Squeakを起動すると"Find"ボタンからプロジェクトが選択でき、
動くようなのですが、そういうもの(プラグインといってもブラウザ
じゃ使えないもの)なんでしょうか?
あと>>291のBobs SuperSWikiのプロジェクトを開いてもエラーに
なってしまうのですが、これも何が悪いのか良く分かりません。
教えてばかりで悪いけど、参考になるページとかありましたら、
教えてください、ゴルァ
- 394 :sage:01/12/14 23:21
- >>387
誰が記事かいてるの?
- 395 :デフォルトの名無しさん:01/12/14 23:37
- >>394
平井夏児。たぶん有名Squeakerのペンネーム。Googleでヒットせず。
- 396 :デフォルトの名無しさん:01/12/15 23:00
- >>393
ブラウザの中で使えます(IE5.0SP2で確認)。NPSqueak.dllがIEのPluginsディレクトリにあるか、拡張子PRがMIMEタイプapplication/x-squeak-projectとしてプラグインと関連付けられているかなどを確認してください。あるいはアンインストールして入れ直すか。
通常であればsqueakland-BSSなどのプロジェクトをFINDで直接開いても問題ありません。
- 397 :デフォルトの名無しさん:01/12/16 00:56
- >>396
お返事ありがとう。
アンインストール後、入れなおしではダメだったです。拡張子との関連を
みてみると、インストーラがデフォルトで指定するパスがCドライブを指す
ようになっていたので、これか!、と思って直してみたけど、これでもや
っぱりだめでした。MIMEタイプはレジストリを直接いじらないとダメなん
でしたっけ? こんどやってみます。
とりあえずはSqueakを単体で動かしていろいろ遊んでみることにします。
- 398 : :01/12/16 06:52
- SqueakってMacOS Xで動くのでしゅか?
アラン・ケイはPowerbookでいろいろデモってた様ですが・・・???
- 399 :デフォルトの名無しさん:01/12/16 08:19
- >>398
動くっす。squeak.orgを参照。
- 400 : :01/12/16 08:57
- >>399
for Cocoa まであるじゃん!
for Classic or for Carbon or for Cocoa まじどれがええねん???
- 401 :デフォルトの名無しさん:01/12/16 13:48
- >>400
全部落として試してみれば。違うのはVM(とプラグイン)だけだし。
http://minnow.cc.gatech.edu/squeak/306
パフォーマンスはあまり変らないみたい。
http://minnow.cc.gatech.edu/squeak/768
- 402 :ななしさん:01/12/16 16:07
- >>402
VMのベンチマークと体感速度は随分違うっす。
- 403 :デフォルトの名無しさん:01/12/16 18:49
- >>40
どっちがどうなのよ
- 404 :403:01/12/16 18:50
- スマソ
>>40ではなく>>403ね
- 405 :デフォルトの名無しさん:01/12/16 22:47
- >今日発売のMac Fan 2002年1月号でSqueak特集。EToyの使い方あり。
本屋で立ち読みしてみたけど、ちいっと分量が少ないなあ・・・。
もうちょっとページが欲しかった。連載とか(連載じゃないよね?)。
- 406 :デフォルトの名無しさん:01/12/17 03:25
- 好評であれば連載との噂 < SML
- 407 :デフォルトの名無しさん:01/12/19 00:37
- アランケーって誰?
スモルトーク作った人?
- 408 :デフォルトの名無しさん:01/12/19 00:47
- >407
ア・ランケという人です。
講演では、スモークとともに現れて、「コンピュータ革命はまだ始ま
ってさえいない!」とずっと言いつづけていて、参加者の注意を引き
ます。
- 409 :デフォルトの名無しさん:01/12/19 00:51
- >406
あの記事やっぱ出来悪くないですか?
あれを元に興味を持った初心者は、画面の流れどおり、ちょっといじ
ってオシマイになってしまうと思う。ましてSmalltalkの奥深さに気付く
ことなんてないだろうに。
あ、でももしかして有名な人がペンネームで書いているんですか?
批判しない方が身のためですか? Smalltalk界は性格悪い人多いんでしょうか? 人物評希望。
- 410 :デフォルトの名無しさん:01/12/19 15:42
- リアル厨房です。
一度聞いいてみたかったんですけど、SmalltalkつかうひとってMacづかいが
多い(気がする)のはなぜですか。
歴史関係に疎いものでなにか理由があるのかなぁとか思いまして。
(アランケイがアップルにいたんでしたよね、確か)
それともなんか精神的なものなのですか。
- 411 :デフォルトの名無しさん:01/12/19 22:23
- >>409
Smalltalkの奥深さがどうこうよりも、Etoyで遊んでいたほうが楽しいと思う。
なにはともあれ、まずは起動して使ってもらうこと。
- 412 :デフォルトの名無しさん:01/12/20 00:53
- Mac Power にアラン・ケイのインタビューが載っていたから買ってしまったよ。
俺、この人大好きだ。また Apple に戻って欲しい。
- 413 :デフォルトの名無しさん:01/12/20 01:03
- >>410
DynaBook 構想とかコンピュータのユーザビリティの向上を唱え続けた人だからね。
Apple 社の製品コンセプトとかなり似通った位置にいる人である事は確か。
実際、Apple に在籍していた事もあるし、Macintosh の原型はアラン・ケイ等が
開発した Alto というワークステーションだよ。
Smalltalk とアラン・ケイを追いかけていたら Lisp という言語に辿り着いた。
シーモア・パパートの作った LOGO は Scheme の方言らしいね。
LOGO はアラン・ケイが Smalltalk / Alto を考え付くきっかけとなった言語。
まだあまり触ってないけれど、見かけよりはかなり良い感じ!
- 414 :デフォルトの名無しさん:01/12/20 01:23
- Macintoshの前にLisa入れてくれろ。
Alto(でいいんだっけ?ちがうきもするが)からインスピレーションを得たのはビル・アトキンスンで
QuickDrawかそれだったんじゃ?
SmalltalkはSimuraを源流に考えるのがワシのワカイころは定説だったのぉ
LOGOとSchemeの関係ははじめて知ったよ。方言っていうには、津軽弁とフランス語くらい違う気もするけど、ま、いいや。
最近のアラン・ケイ、テッド・ネルソンが重なって見えてくるのはワシだけ、だろうな。
- 415 :747:01/12/20 01:50
- >>414
分かるところだけレス。
Alto については、PARC に Jobs 自らが見学に行って、Alto を見て PARC の人材
を引き抜いて来て Macintosh が生まれた。
同じ頃にゲイツも PARC に見学に行ったらしいけど、ゲイツがそれについて語って
いる記録を読んだこと無いので、あまり感銘を受けなかったのかも。
Simura については Smalltalk は Simura 系列になっているのは知っているけど、
PARC の Lisp 系( MIT 出身?)の人材が Smalltalk の実装に深く関わったらしい
のでそっちを影響を強く見る人のほうが多いみたい。ブロックとクロージャ等。
LOGO は実装レベルでの話。インタープリタが Scheme の影響が濃ゆいみたい。
文法も結構似ていると思ってるんだけど、どっちも初心者なので何とも言えない。
長文連続カキコスマソ。
- 416 :415:01/12/20 02:07
- >>415
何か変なハンドルになってるけど忘れて下さい。
>>414
テッド・ネルソンと言えば Xanadu プロジェクトは今どうなってるんだろう?
アラン・ケイも最近は伝道師というよりは殉教者みたいで悲しいです。
ビル・アトキンソンが Alto の影響で、っていうのは聞いたことがありませんでしたが
ありそうな話。その後のハイパーカードに活かされたとか。
アトキンソンも復活して欲しいな。
ここら辺の話はダグラス・エンゲルバードとか興味深い人が沢山いて凄い面白いですよね。
- 417 :414:01/12/20 02:09
- >>415
ふむふむ、なるほど。
まぁ、言いかたと見かたによるってことね。
そう、Lispがどうなってるかはしらないけど、Smalltalkのブロックは、
定義されてるメソッド(っていう言い方も賛否あるけど)の環境を受け継ぐのに、
ブロック自身のバイトコードは、それを定義してるメソッドのバイトコードに
埋め込まれてるのが「!」だったなぁ。
Lispはどーなの?
- 418 :414:01/12/20 02:12
- >>416
Xanaduは、慶応大学で似たようなプロジェクトがあって、そのために客員教授
として招かれたってうわさ聞いたけど、よくわからないです。
いまだに宣教中なんでしょう。
- 419 :デフォルトの名無しさん:01/12/20 02:49
- >>410
パイレーツ・イン・シリコンバレー
という映画ミレ。 アラン・ケイは出てこんが、コンピュータの歴史の
勉強(の一助)にはなるよ。結構ドラマチックで面白かったし。
- 420 :デフォルトの名無しさん:01/12/20 02:56
- >>419
うん、それ、漏れも面白かったと思います。
でも、一緒に見た奥さんが、それ以来Steve Jobs嫌いになって
しまいました。いつかMac買おうと思ってたけど障害発生。はは。
- 421 :デフォルトの名無しさん:01/12/20 11:14
- >>415
Windows1.0のネタになった的な話は読んだ記憶があるけど...後付けかな(笑)>ゲイツの訪問
- 422 :デフォルトの名無しさん:01/12/21 06:20
- >>419
ビデヲ屋逝ってきまーす。
- 423 :デフォルトの名無しさん:01/12/23 04:15
- オレンジブックとかパープルブックとかブルーブックとか
グリーンだかイエローだか、
ってどんなもん???
訳本アリマス???
絶版???
- 424 :デフォルトの名無しさん:01/12/23 11:25
- CDのデータ記録フォーマットなんかを定義してるんじゃなかったっけ?
ちがったっけ。
黄色い表紙だから通称イエローブックとか、いろいろ
- 425 :デフォルトの名無しさん:01/12/23 13:41
- >424
話をヘンな方向に持っていくなよ(笑)。
- 426 :デフォルトの名無しさん:01/12/23 14:07
- Blue Book Smalltalk-80: The Language and Its Implementation(絶版)
Orange Book Smalltalk-80: The Interactive Programming Environment(絶版)
Green Book Smalltalk-80: Bits of History, Words of Advice(絶版)
Yellow Book Smalltalk-80: Creating a User Interface and Graphical Applications(出版されず)
Purple Book Smalltalk-80: The Language(BlueからVMの実装方法を削ったもの)
パープルブック SMALLTALK-80 -言語詳細-(Blueの邦訳)
オレンジブック SMALLTALK-80 -対話形プログラミング環境-(Orangeの邦訳)
Purpleを除き、入手はやや難しいかも。特にBlueはeBayでも高値が付きます。また、日本版パープル、オレンジは歴史的価値以上のものはないかもしれません。なお、Purpleの削除部分は以下で読めます。
http://users.ipa.net/~dwighth/smalltalk/bluebook/bluebook_imp_toc.html
- 427 :423:01/12/23 14:16
- >>426
レスありがとーございます。
>歴史的価値以上のものはないかもしれません
というのはどーゆーことでしょう。
内容がイマイチ役立たずとゆーことでしょうか?
それともプレミアがつかないだけ?
- 428 :デフォルトの名無しさん:01/12/23 14:51
- まず、訂正。
>>426
>パープルブック SMALLTALK-80 -言語詳細-(Blueの邦訳)
Purpleの邦訳です。
>オレンジブック SMALLTALK-80 -対話形プログラミング環境-(Orangeの邦訳)
「対話型」です。すみません。
>>423
Squeakも含め、本の内容をそのまま適用できる環境が入手困難なこと、価格が高いこと(パープル6,800円、オレンジ5,500円)、訳にやや難があること、パープルに実装編が無いことなどです。あと、すごく重いので扱いが面倒。
- 429 :デフォルトの名無しさん:01/12/27 10:02
- thisContext age
- 430 :デフォルトの名無しさん:01/12/28 03:52
- この中でSirenっていうライブラリをSqueakに組み込んでる人っていますか?
http://www.create.ucsb.edu/Siren/index.html
面白そうなんで試してみたいんだけどSetUpできない。。
file inしてる途中でエラーが出てしまうのよ。
- 431 :デフォルトの名無しさん:01/12/28 07:15
- Sueak面白そうなんですけど、日本のコミュニティの雰囲気ってど
うなんですか? 神がかった教祖様に偉そうな態度で洗脳されてし
まうことはないですか?
万物はオブジェクトである、とか曼荼羅なんとかとか・・・。
そーゆーのは苦手です。
- 432 :デフォルトの名無しさん:01/12/28 11:14
- >>430
fileIn済みのイメージを使ってみるとか。
ftp://ftp.create.ucsb.edu/pub/Smalltalk/Music/Siren/3.0.image/
- 433 :デフォルトの名無しさん:01/12/28 13:16
- a b:c d:e.って、どう解釈されるのですか?
(a (b:c)) d:e.
a (b:c d:e).
どちら?
- 434 :デフォルトの名無しさん:01/12/28 13:56
- a に c,e を伴なって b:d: メッセージを送る
- 435 :デフォルトの名無しさん:01/12/28 13:59
- 前者にしたければ、 (a b:c) d:e. だ a b:c ; d:e. って書くと a b:c . a d:e. になるぞ。
- 436 :デフォルトの名無しさん:01/12/28 14:42
- 単項メッセージとか二項メッセージみたいに
連続してキーワードメッセージを送りたい場合は
a +b +c +d +e.
a Add:b Add:c Add:d Add:e.ではなくて
(((a Add:b) Add:c) Add:d) Add:e.となりますよね?
これをもっとスマートに書くには?
- 437 :デフォルトの名無しさん:01/12/28 15:22
- add:add:add:add:メッセージを定義する
引数オブジェクトをイテレートするメッセージを定義する。
ってところでしょか。
- 438 :デフォルトの名無しさん:01/12/28 15:49
- #(b c d e) do:[ :x | a add: x].
- 439 :デフォルトの名無しさん:01/12/28 16:02
- >>432
おお、なるほど。
とりいそぎありがとうございます。
Squeakは音系の処理はどうなんでしょ。
MIDI系は一通り実装してるみたいすけど。
向こうだとSqueakAudioMLとかありますけど、
日本でそれ目的で使ってる人っていますか?
- 440 :デフォルトの名無しさん:01/12/28 22:06
- >>438
そりゃちがうだろ
- 441 :デフォルトの名無しさん:01/12/31 19:48
- 16進数16rFFのrって、どういう意味ですか?
- 442 :デフォルトの名無しさん:01/12/31 19:49
- radix
- 443 :デフォルトの名無しさん:01/12/31 20:02
- なるほど。。。
- 444 :デフォルトの名無しさん:02/01/04 04:39
- 三が日過ぎたage
- 445 :デフォルトの名無しさん:02/01/04 15:12
-
僕は、数値計算は sqkcakit を使っています。
みなさんは何を使っていますか?
- 446 :デフォルトの名無しさん:02/01/04 15:36
- reduce
- 447 :デフォルトの名無しさん:02/01/04 16:27
- ループの中でcのようにcontinueとかbreakとかできますか?
- 448 :デフォルトの名無しさん:02/01/04 16:44
- >>447
http://pbl.cc.gatech.edu:8080/cs2390/14
- 449 :デフォルトの名無しさん:02/01/06 00:46
- Squeak for Zaurus って実用的なスピードで動くのでしょうか?
- 450 :デフォルトの名無しさん:02/01/06 08:08
- >>449
MI-C1, EX1以降の機種でMVCならインタラクティブな操作でもストレスを感じない程度。むしろ問題はヒープ。
- 451 :デフォルトの名無しさん:02/01/06 12:41
- >>450
どうもです。
ヒープは、本体のメモリを増やせば解決しますか?
- 452 :デフォルトの名無しさん:02/01/06 13:29
- >>451
ザウルスでメモリ増設は難しいのでは。16MB RAMのE21でもイメージのシュリンクは必須。
- 453 :デフォルトの名無しさん:02/01/06 14:19
- >>452
え? 16MBでも厳しいんですか?
Windows CE 機で動かした方がいいかなぁ。。。
- 454 :デフォルトの名無しさん:02/01/06 16:46
- >>453
最近のSqueakは巨大化の一途で、最新の3.2alphaイメージは16MBを超えています。
古いイメージなら大丈夫ですが。いずれにしても、Morphicや要らない機能があるので、シュリンクはしたほうが良いでしょう。
ちなみに、iPAQ(StrongARM 206MHz)は、MI-EX1(SH3 120MHz)に比べ、slop-stones
ベンチマークで約4.4倍高速です。
- 455 :デフォルトの名無しさん:02/01/06 17:18
- 大きい本屋でもマニュアルが一冊しかなかったよ
- 456 :デフォルトの名無しさん:02/01/08 22:01
- Smalltalkの問題点、Blockの評価系-閉包概念が未熟である
http://www.sra.co.jp/people/aoki/ST80Problems/page02.htm
どこが問題なのか、だ、誰か説明を。。。
- 457 :デフォルトの名無しさん:02/01/08 22:26
- 青木 淳って、superASCII創刊のころSmaltalkの連載してたひと??
- 458 :デフォルトの名無しさん:02/01/08 23:12
- 91年6月号から1年間「Smalltalkソフトウェア開発」っていうのを連載してたね。
- 459 :デフォルトの名無しさん:02/01/09 00:08
- >>458
http://www.sra.co.jp/people/aoki/SuperAsciiJ/index.html
- 460 :デフォルトの名無しさん:02/01/09 00:11
- >>456
http://www.ops.dti.ne.jp/~cake-smd/wiki/SmalltalkHichhikersGuide.html#recursiveBlock
- 461 :デフォルトの名無しさん:02/01/09 00:15
- イメージのシュリンクって何ですか?
- 462 :デフォルトの名無しさん:02/01/09 01:05
- ぷれ〜り〜ちゃ〜ん
どっぐちゃ〜ん
- 463 :デフォルトの名無しさん:02/01/09 01:23
- >>456
この青木さんがどこが問題だって言ってるのかわからんから、俺の意見だが、
Smalltalkのブロックは、ブロック内から、外の環境を参照できるから、副作用のあるコードが書ける
(ってか、制御構造を実現するのもブロックの目的だからしょうがない)ってのと、
ブロック内のローカル変数が使えないってのは、弱点だと思った。
- 464 :デフォルトの名無しさん:02/01/09 05:06
- >>463
同じく俺的問題点
1. ブロック内ローカル変数がメソッド内ローカル変数として実装されていた点
2. ブロック式とその実行コンテキストがごちゃ混ぜになってた点
3. ってゆーか、ブロック式がメソッドの一部として実装されていた点 ( >>370-371 参照)
この辺がClosureをしっかり実装している言語(関数型言語が多いね)と比べると
改善の余地があったと思う。
過去形で書いたのは、もうVisualWorksではほぼ解決しているから。
VisualWorksで俺的不満があるのはContinuationぐらいかな。
- 465 :デフォルトの名無しさん:02/01/09 11:05
- >>464
継続はこの書き方ではいまいちということ?
http://www.sra.co.jp/people/aoki/SmalltalkTextbookJ/textbook27.html
- 466 :デフォルトの名無しさん:02/01/09 11:11
- >>464
Squeakにも"Block Closures coming soon"だそうです。
http://groups.yahoo.com/group/squeak/message/37749
- 467 :464:02/01/09 12:37
- >>465
いまいちっつーか、全然駄目でしょう。
schemeやSML/NJで実装されているcall/ccとthrowのパワーから見ると、
ダメダメもいいとこです。
http://www.cs.hmc.edu/courses/1999/fall/cs131/lectures/lecture15.html とか
http://www.ueda.info.waseda.ac.jp/~igarashi/ruby/api-ja/Kernel.html#callcc とか
http://www.ipa.go.jp/NBP/12nendo/12mito/mdata/12-2h/12-2h.pdf とかが
参考になるでしょう。
- 468 :デフォルトの名無しさん:02/01/09 16:06
- 「Smalltalk-80」と「Objectworks」と「VisualWorks」の違いは何ですか?
「今までのSmalltalk-80とは根本的に異なり、Smalltalk-90とも呼ぶべきものである」
って、青木さんは言ってますけど。
- 469 :デフォルトの名無しさん:02/01/10 00:56
- >>468
Smalltalk-80は、1981年にXEROXが対外的に公開した最初のバージョ
ン。80にも様々なバージョンがあり、2.5まで続いた。1988年からは
XEROXからスピンアウトしたParcPlace Systems(PPS)がライセンス元。
ObjectworksはPPSの商標。Objectworks for C++、Objectworks
for Smalltalk-80があった。
Objectworks?Smalltalkは、1990年にリリースされた初のメジャー
バージョンアップ版。イメージングモデルはBitBLTから、ホストウィン
ドウシステムとステンシル&ペイントを用いるSPIM(Smalltalk
Portable Imaging Model)へ移行した。これと前後して、オブジェクト
テーブルが廃止され、ダイナミックトランスレーション、ジェネレーシ
ョンスキャベンジ、ブロッククロージャが導入されている。バージョン
はRelease 4.0から4.1まで。
VisualWorksは1992年に登場。1.0はRelease 4.1用のGUIビルダと
RDBインタフェースのための拡張クラスライブラリだった。2.0からは
ObjectWorksと統合され、これ以降はPPS版のSmalltalkを指して
VisualWorksと呼ぶことが多い。
一方、PPSはParcPlace-Digitalk、ObjectShareと社名を変え、1999
年にVisualWorksの権利をCincomに売却している。その後も開発は続け
られており、最新版は2001年の5i.4である。5iからはネームスペース
の導入、XML化などが行なわれている。近日中に5i.5が出る予定だが、
7(?)の噂もある。
- 470 :デフォルトの名無しさん:02/01/10 01:06
- >>461
http://minnow.cc.gatech.edu/squeak/778
- 471 :デフォルトの名無しさん:02/01/13 00:14
- self display
- 472 :461:02/01/13 11:28
- >>470
Thanks!
- 473 :デフォルトの名無しさん:02/01/18 11:39
- self displayOn: programmingTech at: 1
- 474 :ドキュンユーザー:02/01/20 17:17
- 青木導師の「Smalltalkイディオム」買いましたが、やっぱこれ、逝ちゃって
ませんか?
さまざまな文献からの綺羅星のごとき引用も、変化自在な例え話も、「ために
する」感じがして読み手のこと考えているのかなと。
例えば城砦都市の話とかでセキュリティの話をしているかとおもうと、それが
Smalltalkのオブジェクト間の通信の自由さと比較されたり。
それってぜんぜん別の話じゃあ・・・?
引用も多すぎて、なんか引用が多すぎる文章をからかった、パロディみたいだ
と思いました。本気ならコワイ。
でも内容は高度で、Smalltalk関連情報に飢えている心の隙間を埋めてくれる
良書であるとは思います。
結論:自意識過剰
- 475 :デフォルトの名無しさん:02/01/22 01:33
- >>474
直接しゃべると楽しそうだよね>青木氏
Smalltalkerとしてもすごいんだけど、それ以上に雑学博士だ
- 476 :デフォルトの名無しさん:02/01/23 19:57
- self class threadSunkException
handle: [ :ex | self age ]
do: [ self ROM ]
- 477 :よかいち:02/01/26 16:26
- Morphで例えば、画面下のsuppliesから貼り付けたオブジェクト(楕円とか)
のスクリプトの使い方はわかってきたのですが、ほかのプログラムのコード
中からこれを扱うにはどうしたらよいのでしょうか?
www.squeag.orgのdocumentationセクションのチュートリアルを読んでも、
このあたりの説明が見当たらなくて、さっぱり先に進めません。
もう少し段階を追って理解ができるサンプルソースとかあればいいけど、
いきなりブラウザで探検するには自分にはちょっと荷が重い。
皆さんはどのように初学者から脱してきたのでしょうか?
- 478 :デフォルトの名無しさん:02/01/26 23:16
- >>477
| morph |
morph _ World submorphNamed: 'Ellipse'.
morph scriptPerformer script1
とにかくブラウズ。片っ端からワークスペースで評価。なんでもインスペクト。
selfの気持ちになって考える。イメージが壊れても気にしない。可能なら師匠につく。
- 479 :デフォルトの名無しさん:02/01/27 08:20
- ザウルスでftp(ごっこ)しようとしたらPasswordクラスが抜けててエラー
誰かPasswordクラスの定義おしえてくれー(>_<)/←ざうおんり
- 480 :デフォルトの名無しさん:02/01/27 14:28
- >>479
とりあえずPasswordの代わりにStringを使っても行ける。MI-EX1のFile ListでUIUCArchiveに入って確認。
クラス変数Serversに入っている定義済サーバのパスワードはanObsoletePasswordなので作りなおすこと。
しかし、母艦を買ったほうが良いと思われ。
!ServerDirectory methodsFor: 'accessing' stamp: 'nanahsi 1/27/2002 14:25'!
password
passwordHolder
ifNil: [passwordHolder _ String new].
^ passwordHolder! !
!ServerDirectory methodsFor: 'accessing' stamp: 'nanashi 1/27/2002 14:25'!
password: pp
passwordHolder _ pp! !
- 481 :デフォルトの名無しさん:02/01/27 15:43
- やっぱりそうですか(^-^;(→作り直せ)…これが気になって夜も寝られなかったんで(笑)だっPassworはcacheとsequenceもってるのにそこに直接代入?してるとこがあったんですもん(-_-;ありがとござm(__)m
- 482 :よかいち:02/01/27 16:07
- >>478
- 483 :よかいち:02/01/27 16:09
- ↑間違えちゃった・・・。
>>478
Thanksです。精進してみます。
師匠はおろか、Squeak、ひどいとSmalltalkさえ知らないような奴
ばっかしなので、こういう場が貴重なのでした。
- 484 :デフォルトの名無しさん:02/01/27 19:59
- ソケット解放できまそん(-_-;ってゆうかインスタンスあるのは見れるけどIDがわからんくてさわれません…誰か助けて(;_;)(笑)
- 485 :デフォルトの名無しさん:02/01/27 20:19
- >>484
ソケットのインスタンスが見えるなら、close送ればいいじゃん。
そもそも、なにをどうしたのか分からん。
- 486 :デフォルトの名無しさん:02/01/27 21:01
- arreyのかたちで見えるだけで実際にはさわれないんですよ(-_-;ソケットのインタンスにアクセスする方法ってほかにないんですかね(^-^;←今は
Socket allInstances
でかろうじてあるのがわかるだけで…
- 487 :デフォルトの名無しさん:02/01/27 21:32
- >>486
だったら、Socket allIntancesをinspect itして、Inspectorでそのインスタンスの入っているインデックスを選択してから、イエローボタンメニューでinspectすれば。
- 488 :デフォルトの名無しさん:02/01/28 08:23
- 多分解決m(__)mしかしソケットインスタンスって一度できたらきえないんでそうか…まだまだ未熟(-_-;べんきょしよ
- 489 :デフォルトの名無しさん:02/01/28 09:50
- >>488
どっかに参照が残ってんじゃないの?
- 490 :デフォルトの名無しさん:02/01/28 14:44
- 参照ってなんね(・_・)?(笑)システムが終了しても残ってるもんなんでしょか(^-^;ちなみに別のイメージでは(ソケットの)インスタンスはなかったどす。SoapOperaいれたせいかな…
- 491 :デフォルトの名無しさん:02/01/29 10:42
- >490
そうです。すみません。
- 492 :デフォルトの名無しさん:02/01/29 15:32
- サタンのお出ましだーーーーー
- 493 :デフォルトの名無しさん:02/01/30 00:53
- >>490
Smalltalkでソケットに限らずオブジェクトが消えない(ガーベジコレクトされない)のは参照が残っている
からです。
具体的には、何らかの変数にそのオブジェクトが束縛された状態になっているということです。
一般にグローバル変数やクラス変数など寿命の長い変数は要注意ですが、そのオブジェクトに対する
インスペクタやデバッガなどを開けたままにしておいても参照は残ります。
Squeakの場合、ワークスペースで一時変数を宣言せずに使った場合もワークスペースを閉じない限り
変数が残るので要注意です。
また、イメージを保存(スナップショット)すると、その時点で存在しているオブジェクトが永続化されます
から、再起動しても消えません。
- 494 :デフォルトの名無しさん:02/01/30 14:26
- >>493
よくわかりましたm(__)mガベジコレクタ自分で動かすようにします(^-^;
- 495 :デフォルトの名無しさん:02/01/30 15:57
- >>494
Smalltalk garbegeCollectを評価するなどして、手動でGCしたとしても、
原因となっている変数を特定して束縛を解かない限り、オブジェクトは回収
されません。
VisualWorksなどでは任意のオブジェクトにallOwnersを送れるので、まだ
楽ですが、Squeakでは地道な作業になります。
暴力的な方法としては、become:を使って強制的にポインタを張り替える手
がありますが、あまりおすすめできません。
- 496 :デフォルトの名無しさん:02/01/30 16:25
- >>495
っつーか、何とスリ換えるかが問題ですな。
別のソケットとかじゃモトノモクアミだし。(藁
- 497 :デフォルトの名無しさん:02/01/30 21:31
- >>495
私はVisualWorkerだから、Squeakには詳しくないけれど、
SqueakのInspectorにはObjects point to thisとかいう
メニューがあったと思う。だから、allOwnersと同じ様な
メソッドもある筈。
そうそう、参照されていなくとも、OSの資源を掴んだまま
なら、そのオブジェクトはゴミ扱いされないよね。
- 498 :デフォルトの名無しさん:02/01/30 22:15
- >>497
SystemDictionary>>pointersTo:
でした。Smalltalkがやるとは。
逝ってきます。
- 499 :デフォルトの名無しさん:02/01/31 10:04
- >>497
> そうそう、参照されていなくとも、OSの資源を掴んだまま
> なら、そのオブジェクトはゴミ扱いされないよね。
え、そうだっけ?
参照されなくて外部資源を掴んだままのオブジェクトがGCで処理されないとすると、
そのオブジェクトは永久に資源を掴んだままになっちゃうと思うけど。
しかも参照がないから開放することすらできない。
通常はweak referenceを使ってGCされる時に自動的に開放させるよね。
Visual WorksのPixmapもそうなってるし、
俺も外部資源を直接掴むオブジェクトを書く時は必ずそうしているが。
Squeakではそうはなってないの?
- 500 :デフォルトの名無しさん:02/01/31 10:04
- self get: 500
- 501 :497:02/01/31 23:43
- > 通常はweak referenceを使ってGCされる時に自動的に開放させるよね。
> Visual WorksのPixmapもそうなってるし、
それは、普通にOSの資源を掴んでいたら、開放されないから、
ライブラリ側でそう実装しているんでしょ。言語仕様上では
開放されないで正しい。Squeakのライブラリがどう実装して
いるか知らないから、ちょっと書いておいたんだけれど。
> しかも参照がないから開放することすらできない。
Behavior>>allInstancesがあるでしょ。ObjectMemoryも触れるし。
Smalltalkの環境内にuntouchableな場所は無いじゃんか。
- 502 :499:02/02/01 02:08
- >>501
じゃあ仮に、外部資源掴んでいるオブジェクトはGCで回収されないとするよ。
(1) そのオブジェクトをそのまま放置すると、どのみち外部資源は解放されないから、
そのオブジェクトを回収しようが回収しまいが、関係なし。
(2) Behavior>>allInstancesなりObjectMemoryなりですべてのオブジェクトを巡回して、
外部資源を掴んだまま、他のオブジェクトからの参照のないオブジェクトを探して
外部資源を解放してやるとすると、
「それってGCの仕事そのものじゃん」
というわけで、GCで回収する対象から外す意味が全然わからんのですが。
実際、VisualWorksでは外部資源を掴んでようが掴んでなかろうがGCで回収されるし、
回収されるからこそWeakDictionaryなりで回収される時に外部資源を解放するんだけど。
そもそも、あるオブジェクトが外部資源を掴んでいるかどうかなんて、どうやって判定する?
VMが管理している資源ならともかく、OSから直接取ってきた資源なんて、どうしようもないと思うが。
- 503 :デフォルトの名無しさん:02/02/01 02:12
- Palm 上で動く smalltalk インタープリタないですかねー。
Scheme や Forth は沢山あるのにな。
LispMe は GUI も作れるらしいです。
というぼやきは置いといて、、、
smalltalk ってインタープリタの実装が難しい言語なのでしょうか。
Lisp や Forth は比較的簡単だと聞きますが、如何でしょうか。
もし難しいとしたらどこら辺がそうなのか是非教えて下さい。
- 504 :デフォルトの名無しさん:02/02/01 05:17
- 497さんと499さんのGC議論は非常に興味深い。
続けてくださいマシ。
- 505 :デフォルトの名無しさん:02/02/01 06:00
- >>503
Smalltalkって、大抵の実装はインタプリタなんだけど…
コマンドラインベースな実装の事を言いたいんだという仮定で話すと、
コマンドラインなもの(GNU Smalltalkとか)を作るのは別に難しくないと思う。
ただ、それじゃあSmalltalkのよさが活きてこないということでしょう。
- 506 :デフォルトの名無しさん:02/02/01 10:02
- >>503
http://www.pocketsmalltalk.com
- 507 :デフォルトの名無しさん:02/02/02 00:46
- GUIがらみの実装から、Browserをつくるまでがめんどくせぇからパスってことなんじゃあないの
- 508 :503:02/02/02 00:59
- >>505
ごめんなさい。良く分かりません。
インタープリタ言語ならコマンドラインでもインタープリタを使用します。
それと、Smalltalk ってインタープリタというか VM でしたね。Squeak とか。
勘違いしていました。
>>506
それ・・・違・・・。
Palm 上で手軽に smalltalk プログラミングがしたい・・・。
- 509 :デフォルトの名無しさん:02/02/02 01:11
- >>508
>Palm 上で手軽に smalltalk プログラミングがしたい・・・。
無理無理。Palmじゃ解像度が足りない。最低VGAないと、話にならない。
CPU、メモリはSmalltalk-80の頃を考えれば充分なんだけど。
- 510 :デフォルトの名無しさん:02/02/02 01:26
- >>509
PalmOSの場合、ダイナミックヒープが最大でも256KBというのが問題かと。80の頃よりきつい。
- 511 :デフォルトの名無しさん:02/02/02 01:28
- >503
これでsmalltalk作りなさい
http://www.lispme.de/lispme/
- 512 :503:02/02/02 01:44
- >>509
あのブラウザって必須なんですかね。
無ければ無いで何とかなりそうなのに。
要はメソッドやらクラスやらを検索する別の仕組みがあれば
良いんですよね。
- 513 :503:02/02/02 01:56
- >>503
それ使っています。
それを元に Python インタープリタ作っている人もいますね。
http://www.endeavors.com/pippy/
Smalltalk が Small Device で動いたら嬉しい人は沢山いるはずなのに・・・。
- 514 :デフォルトの名無しさん:02/02/02 02:06
- >>508
つーか、VMにバイトコードインタプリタが入ってるんですが。インタプリタであること、即ちインタラクティブじゃないです。
その意味で「インタプリタ言語」という呼び方は曖昧。
- 515 :デフォルトの名無しさん:02/02/02 02:26
- >>512
それこそGNU Smalltalk。
- 516 :503:02/02/02 03:14
- >>505
済みません。そうですね。理解しました。
>>510
Smalltalk 処理系ってメモリ喰いなんでしょうか。
>>511
LittleSmalltalk のソースコードは見た事があるのですが、
無理・・・。
>>513 の >>503 は >>511 の間違いでした。
- 517 :デフォルトの名無しさん:02/02/02 08:17
- >>516
本来的には特別メモリ喰いってことはないけど
Smalltalkの開発環境のよさはGUIに負う所が多くて
GUIを持ち込むとやっぱどうしても…
- 518 :age:02/02/03 07:15
- 関連スレ
http://piza.2ch.net/tech/kako/982/982707274.html
ところで Squeak や VisualWorks 等の有名どころ以外の処理系って
どうなの? Little Smalltalk とか GNUSmalltalk とか、、、
使っている人いない?
- 519 :デフォルトの名無しさん:02/02/03 11:01
- 「じゅん」ってどうなのよ? 使ったことある人。
すれ違いすかね?
- 520 :デフォルトの名無しさん:02/02/03 21:09
- >>519
じゅんはねえ、有用なものがごちゃごちゃ入ってるのよ。
何でそれぞれ別々に配布してくれないのかと思うくらい、
そりゃーもう、色々と。でも、GPLなのがイヤーン。
- 521 :デフォルトの名無しさん:02/02/03 21:25
- Squeak版じゅんは開発予定ないの?
- 522 :デフォルトの名無しさん:02/02/04 16:51
- >>521
ないっしょ。じゅんの最重要コンテンツたる3Dグラフィクスには
Squeak/Aliceがあるから。
- 523 :デフォルトの名無しさん:02/02/04 22:07
- >>521
>>320 >>321 >>323 >>325 >>326 >>327
- 524 :デフォルトの名無しさん:02/02/05 05:26
- >>523アンタエライヨ
- 525 :521:02/02/05 23:07
- >>522、524
青木導師に睨まれるってこと?
もしかして、日本Linux界の生越みたいな存在?
- 526 :デフォルトの名無しさん:02/02/05 23:55
- >>525
いや、そうじゃなくて、移植の必要性が薄いのよ。
ただでさえ、人的資源の足りてないSmalltalk界で、
動機づけが薄いとなったら、立ち上がりすらしない
のは自明かと。
- 527 :デフォルトの名無しさん:02/02/06 00:09
- タイトル見て ayu スレかと思った…
- 528 :デフォルトの名無しさん:02/02/06 23:22
- +とか-がメッセージになってないのが、妥協していると思います。
だから純粋なオブジェクト指向言語ではないのです。
3 plus: 4とか3 +: 4にすればよいのれす。
アラン・ケイに電話しておきます。
よってあげ。
- 529 :デフォルトの名無しさん:02/02/06 23:30
- >>528
「+」は2項メッセージセレクタで、「+ 4」はメッセージ、「3 + 4」はメッセージ式ですが。
- 530 :デフォルトの名無しさん:02/02/07 06:46
- >>529
いや、ひょっとしたら528は
SmallInteger同士の加算がprimitiveで実装されているのが気に入らない
といってるのかも。
がんばってSmalltalkで加算機を実装するか?1 bitずつ取り出して...
- 531 :デフォルトの名無しさん:02/02/07 08:08
- Squeakで、自分の書いたコードをApplyする前に、
改行やインデントを標準的なものに(何が標準的かしらんけど)整形してくれる
コマンドってあります?(VisualWorksにあるみたいな)
#Smalltalkのコードの見た目を如何にきれいにするか、未だに
#自分のスタイルが見つけられません。もうこの際、スタンダードな
#書き方に従ってしまおうかと。
- 532 :デフォルトの名無しさん:02/02/07 09:54
- >>531
あるよ。
acceptの代わりにmoreとか何とかいうのを選択すると、
それっぽい項目がある。
デフォルトではショートカットが設定されてなかったと思ったけど、
こういう頻繁に使う機能はデフォルトの状態から
ショートカットを設定して、できればacceptの近辺にしてほしかったな。
more...とかいちいち選んでらんないよな。
ま、自分でいじればいいからいいけど。
- 533 :デフォルトの名無しさん:02/02/07 10:52
- ParagraphEditor class >> initializeCmdKeyShortcuts
ParagraphEditor >> prettyPrint
ParagraphEditor の menu massages以下
ParagraphEditor の editing keys以下
を見てがんばる
変更したら
ParagraphEditor initialize
- 534 :デフォルトの名無しさん:02/02/07 13:44
- >>532
シフトキーを押しながらメニューを出す操作すれば、直接 more... に
いけるざます。
- 535 :デフォルトの名無しさん:02/02/07 13:50
- >>530
Squeakの場合、プリミティブもSmalltalkで記述されているというのではだめ?
Interpreter>>primitiveAdd とか。
- 536 :デフォルトの名無しさん:02/02/07 15:02
- >>535
いや、たぶん528は引数のあるメッセージセレクタには:をつけなきゃあかん
ということを言いたいのだろう。加減乗除の優先順位まで無視するならそこ
まで徹底しろよ、ゴルァと。
- 537 :デフォルトの名無しさん:02/02/07 15:02
- 初心者です。スマソ。
Squeakで、マウスの3つボタンの割当てを変更したいのですが、
どうすればいいでしょうか。
右クリックで do it したひ、、、。
- 538 :デフォルトの名無しさん:02/02/07 15:04
- >>537
マウスボタンのリマップはいろいろ弊害あるよ。できなくはないけど。
それよか、alt + d じゃダメ?
- 539 :531:02/02/07 15:05
- >>532 >>533 >>534
禿しくサンクス。
- 540 :デフォルトの名無しさん:02/02/07 15:05
- >>535
まあ、primitiveAddはいいんだけどさ、Smalltalkとしても読めるから。
結構、まんまCじゃん、ってプリミティブもあるけど(藁
ところで、以前Squeakでユーザ・プリミティブ書いたとき、
start to: end by: step do: [ :i | ... ]
みたいなSmalltalkのコードから
for (i = start; i <= end; i++) {...}
とか出力されちゃって、stepが負の時死んだ事があるよ。
ま、たしかに仕方ないことだとは思うのだが。
この件があってから、
「SqueakはプリミティブもSmalltalkなんだぜ!」
と強くいえなくなっちゃったよ。よわっちーな、俺。
- 541 :537:02/02/07 15:07
- >>538
イイ!
なんでもと早く教えてくれなかったの。
- 542 :537:02/02/07 15:10
- >>538
ついでにスマソ。
accept に対応するショートカットキーってあります?
っていうか、そういう一覧てどこかを見ればわかるのでしょうか、、、。
- 543 :537:02/02/07 15:12
- >>542
つーか、メニューにかっこ付きでかいてあるやん。
逝って来ます。
よってさげ。
- 544 :デフォルトの名無しさん:02/02/07 15:13
- >>541
(藁
メニュー項目の最後に括弧でくくって書いてあるアルファベットは
そのだぐいなのさ。大文字はシフトキー併用だから気を付けてね。
あと、メニューにないのもhelp...→command-key helpにいっぱい
あるから参照されたし。使い方がややこしいのもあるので分からな
かったら訊いてミソ。
- 545 :デフォルトの名無しさん:02/02/07 17:20
- >>536
優先順位をなくすなら、単項メッセージセレクタも廃止ですな。3 odd: nilとか。
つーか、528はキーワードメッセージだけがメッセージだと思っていたとか。
- 546 :デフォルトの名無しさん:02/02/07 17:32
- >>545
流れから、そのフシつよし。(w
- 547 :デフォルトの名無しさん:02/02/07 23:01
- 3.2以後のMVCどーなってんのじゃ
Esc押しただけでノーティファイアがあがりやがるぜ
もー使うなってことか?
- 548 :デフォルトの名無しさん:02/02/07 23:37
- >>547
ホントだ。これはひどいですね。とりあえずこれで逃げました。
!ParagraphEditor methodsFor: 'menu messages' stamp: 'nanashi 2/7/2002 23:35'!
offerMenuFromEsc: characterStream
^ true! !
- 549 :デフォルトの名無しさん:02/02/07 23:56
- >>547
すみません。ミスりました。548は入れないで以下の式をdo itしてください。
(ParagraphEditor classPool at: #CmdActions) at: 28 put: #selectCurrentTypeIn:
ちゃんと直すなら、ParagraphEditor class>>initializeCmdKeyShortcuts
- 550 :デフォルトの名無しさん:02/02/08 00:28
- Morphだけで使ってる分にはEscでメニューがあいて便利
- 551 :デフォルトの名無しさん:02/02/08 00:44
- >>548 はこんなふうにしたかったんじゃない?
!ParagraphEditor methodsFor: 'nonediting/nontyping keys' stamp: '2ch 2/8/2002 00:29'!
offerMenuFromEsc: characterStream
^ self selectCurrentTypeIn: characterStream! !
>>547
>もー使うなってことか?
この程度のノーティファイアでビビる程度のスキルなら答えは
“YES”だろうて(w。MVCフレームワークは死にゆく運命だから
逆にダン・インガルスは「殺したくなければ皆でフィックスして!」
ってボランティアを募っている。 >>550 も言っているけどMVCに
変な郷愁に駆られているのでもないかぎり、Morphicを使うが吉。
Morphicはここのところ急激に洗練されてきていると思うけど。
どうよ。
- 552 :550:02/02/08 01:07
- FileContentsBrowserまで壊れたまま放置(3.2gamma,3.3)されてるのを見て、これからのMVCは荒らされるだけだと思いましたね。
いちいち修正入れるのめんどくせーし、アプリのユーザーインターフェースはMophしか対応しねーし、もーいらないさね。
- 553 :デフォルトの名無しさん:02/02/08 14:17
- …と、言いつつ>>552はMVCに愛があると見た(w。
Browser>>systemCategoryListIndex:のself changed: #relabel.を
コメントアウトしてみそ。まあこれも最新ウプでFileListの
主要なメソッドがあぼーんされちまえば無駄なあがきだが……
- 554 :デフォルトの名無しさん:02/02/10 10:40
- >>553
552じゃないが、
まあSmalltalkに限らずOOやってればMVC的な美しさに憧れる時期はあるし、
けっこう引きずるもんだよな。
俺もMorph的なインスタンスベースの良さは認めつつも
やっぱりMVCのコードが動かなくなっていくのは寂しいよ。蔚。
- 555 :デフォルトの名無しさん:02/02/11 09:33
- AgeMorph openInWorld
- 556 :デフォルトの名無しさん:02/02/11 12:55
- >>555
いや、それを言うなら AgeMorph new openInWorld だってば(w
- 557 :デフォルトの名無しさん:02/02/11 21:37
- VC++のドキュメント・ビューアーキテクチャーってMVCのマネなんですか?
やっぱし。
- 558 :デフォルトの名無しさん:02/02/12 17:22
- 突然ですが、
コネクト4(立体4目並べ?)をSqueakで作りたいんです。
で、「穴が空いていて背景が透けて見えるようなMorph」を作りたいんですが、
どうしたらいいのでしょうか。
教えていただけますでしょうか。よろしくお願い致します。
- 559 :デフォルトの名無しさん:02/02/12 22:34
- >>558
穴が空いて透けて見えるっちゅうのはこんなの鐘?
| form dot |
form _ Form extent: 100 @ 100 depth: Display depth.
form fillColor: Color red.
smallRect _ Form extent: 10 @ 10.
50 timesRepeat: [form
copy: (0 @ 0 extent: smallRect extent)
from: smallRect
to: 100 atRandom @ 100 atRandom
rule: Form erase1bitShape].
(SketchMorph withForm: form) openInWorld
あと、手作業がいいんだったら、穴を開けたい部分を白で描いたgifを
FileListでopen in a windowする。もしくは読み込んだ後、穴の色を
赤ハロ→painting...→erase pixels of color...で指定などなど。
- 560 :デフォルトの名無しさん:02/02/13 14:28
- >>559
スマソ。穴を開けたい部分を白で描いたgif…は嘘。鬱。gif作成時に
透明にしておかなければダメ。お詫びにクラス定義&黒塗り図形で
穴部分指定→黒部分を透明化版を下に。
SketchMorph subclass: #SuketeruMorph
instanceVariableNames: ''
classVariableNames: ''
poolDictionaries: ''
category: 'Morphic-Basic'!
!SuketeruMorph methodsFor: 'initialization'!
initialize
| form dotSize side |
form _ Form extent: (side _ 100) @ side depth: Display depth.
form fillColor: Color yellow.
self initializeWith: form.
dotSize _ 20 @ 20.
20 timesRepeat: [originalForm getCanvas
fillOval: (side atRandom @ side atRandom
- (dotSize // 2) extent: dotSize)
fillStyle: Color black].
originalForm mapColor: Color black to: Color transparent
"SuketeruMorph new openInWorld"! !
- 561 :デフォルトの名無しさん:02/02/14 02:04
- >>559 >>560
(返事が遅くなってすまそ)
すごい、、、。ありがとうございます。
まさにそんな感じを期待していました。
漏れ、Smalltalkに憧れて、夜か週末だけSqueakいぢってるんですけど、まだまだクラスの海をさまよっているだけなんですよね。
パープルブックを読み進めていて、基本的なクラスの使い方ぐらいは
やっと分かって来たような気がしているんですが、Morphicなんかになると
もう全然、、、。Smalltalkって環境が優れているから参考書の類は必要無い、
って言い方をする方もいますけど、何か問題に当たったときに体系的に
解答にたどり着く術を見出せないでいます。(たとえば今回の問題もそう。)
Morphic関連だけでも何かいい参考書みたいなものないですかねぇ、、、。
もしくは問題解決(必要な機能に効率的にたどり着く)のための定石、みたいな
ものがあったら教えて頂きたいです。
、、、そんなもの無いのかも知れませんね。修行あるのみ、かな?
何にしてもSqueak(Smalltalk)ってすごく楽しいです!
これからもよろしくおながいします。
- 562 :デフォルトの名無しさん:02/02/14 02:27
- >>561
やっぱりソースを読むのが一番役にたちます。もっとも Morphic の基本的なところは John Maloney(オリジナルの開発者のひとり)がいくつかチュートリアル
っぽいドキュメントを書いているので目を通しておいて損はないと…。
Smalltalk はソースの読みやすさ、リソースブラウズのためのツール
の充実に古くから心を砕いているところがあるので、こうしたものを
駆使して歩き回ること、そして自分でもコードを書いてみることが一番の
近道でしょう。下手でもいいから書いてみる。それを終えてから、また
ブラウズするとそれまで見えなかったパターンが見えてきて、次は
もっとうまい方法を思いついたり、便利なメソッド、オブジェクト
を見つけて利用できるようになる…はず(w。
- 563 :デフォルトの名無しさん:02/02/14 02:37
- >>561
漏れも週末 Smalltaker だよ。
普段は C, C++, JAVA とか PHP, Perl とかを使うんだけど、
そんなんと違って、Smalltalk (Squeak)、無茶苦茶刺激的で面白いよ。
プログラミング行為そのものが楽しいのなんて、久しぶり。
もっと早くやっとくべきだった、後悔。。。
- 564 :デフォルトの名無しさん:02/02/14 02:41
- >>562
私もSqueak勉強中のものです。
World.WolrdSate.Hands[1].boundsをインスペクトして
カーソルの座標がリアルタイムに変わるのを見て
にあにあしています。
- 565 :デフォルトの名無しさん:02/02/14 02:59
- アドバイスありがとうございます。
「下手でもいいから書いてみる」、これ基本ですよねやっぱり。
元ネタからはズレますが。
”受験生症候群”とかいうって聞いたことありますけど、
仕事でプログラミングしているときも、
「どこかに綺麗な正解があるんじゃないか」
「もっとうまい書き方(パターン)があるんじゃないか」
とばかり考えてなかなかコーディングが始まらない、という罠に
はまっている自分に気が付くことが多くて。
残念ながら仕事じゃSmalltalkなんて使わないですけど、こういった
袋小路に風穴をあけてくれるダイナミックな雰囲気を期待して
Smalltalkをいぢりはじめたんです。
でも、ほんと、まだまだなんだなぁ。頑張ります。
- 566 :デフォルトの名無しさん:02/02/14 11:55
- >>564
そんなおちゃめさんには、これなんかどうYO?
World primaryHand assuredPlayer tearOffWatcherFor: #getX
- 567 :ちょっと偉そう:02/02/14 21:59
- たけのこ、あげ。
日本のプログラマもがんばってください。
- 568 :デフォルトの名無しさん:02/02/15 00:32
- Squeky Clean!
- 569 :デフォルトの名無しさん:02/02/15 02:01
- >567 ちょっと偉そう
クセ有るけど、あの人特有の励まし方でしょ。
そもそもあの人には、ああいうセリフ言う権利あるだろう。
実際偉業成してるんだから偉そうにしてもいいだろう。
>568 Squeky Clean!
ベタなネタだなあ。ここは英語板じゃないからウケないんでは。
(それともつづり間違ってるというところがネタなのかな。)
- 570 :デフォルトの名無しさん:02/02/15 02:12
- multiplying like Squeak.
- 571 :デフォルトの名無しさん:02/02/15 02:50
- >568 Squeky Clean!
ベタなネタだなあ。ここは英語板じゃないからウケないんでは。
(それともつづり間違ってるというところがネタなのかな。)
意味おしへて。
- 572 :お馬さん@名無しで人生アウト:02/02/15 05:57
- >>571
568じゃないけれど、清潔な、とか、完璧な、とかいった意味の
熟語だった筈。!が憑いている事を見ると、完璧だ!という感じ
だろうか。
- 573 :デフォルトの名無しさん:02/02/15 14:53
- >566
3.2gammaじゃないと動かないっス
- 574 :デフォルトの名無しさん:02/02/15 15:48
- >>573
3.0finalならこれだYO
World primaryHand assuredPlayer tearOffWatcherFor: #x
- 575 :東京Y嬢:02/02/15 17:33
- すみません。質問です。
「pcx」という拡張子がついた画像ファイルがフォトショップなどで
開かないのですが、開け方を知っているかたいらっしゃいますか?
調べたところでは「zsoft」というところが開発したファイルらしいのですが...。
- 576 :デフォルトの名無しさん:02/02/18 02:52
- (´−`).。oO(誤爆でとまってるし・・・)
- 577 :kill -9 MVC:02/02/19 13:57
- 入れて出すだけのものをなんで3つに分けやがるんだ!? さっさとなくなれ > MVC
- 578 :デフォルトの名無しさん:02/02/19 14:50
- >>577
入れる、出す、もの…ちゃんと3つあるじゃん。
- 579 :デフォルトの名無しさん:02/02/22 03:41
- >>577
冷蔵庫にキリンを入れるには、ドアを開けて象を出す人が必要です。
- 580 :デフォルトの名無しさん:02/02/23 11:15
- 'Squeak' asUpperThread
- 581 :デフォルトの名無しさん:02/02/24 00:25
- スレ盛り上げようじゃないか。
「自分で調べろよ!」
非難覚悟で、超面倒くさがりの俺が問う。
CとBasic,CとPascalの文法対比表ってのは良く見かけるんだけど、
CとSmalltalk って見たことない。
…オシエテクダサイ
- 582 :デフォルトの名無しさん:02/02/24 00:39
- 比較じゃなくて、両言語の解説になるから、見たこと無いのはしょうがないよ。
- 583 :デフォルトの名無しさん:02/02/24 02:06
- >>581
http://www.njk.co.jp/otg/Study/comp-language/smalltalk-cplus/
「C++ vs Smalltalk」でござる。かたじけない。
- 584 :デフォルトの名無しさん:02/02/24 02:08
- >>581
>>235-275
- 585 : :02/02/25 05:41
- クラスブラウザで、とりあえず良く見とけ!みたいな重要なカテゴリってどれですか?
KernelとCollectionsは必須?
- 586 :デフォルトの名無しさん:02/02/25 10:26
- >>585
こういう読み方をするとはまる。
アプリ側からsendersとimplementorsで攻める。
システムクラスはウィンストンやサクサクで。
下回りはどの処理系もほぼ同じ。
- 587 :age:02/02/27 21:18
- Lisp と Smalltalk の比較を見てみたい。
何かと濃ゆいファンの多いこの 2 言語、実は親戚同士だって言うし。
- 588 :デフォルトの名無しさん:02/03/02 12:58
- ProgrammingTechBBS at: 1 put: self
- 589 :デフォルトの名無しさん:02/03/05 10:27
- self become: ProgrammingTechBBS first
- 590 :デフォルトの名無しさん:02/03/08 16:12
- 純粋なオブジェクト指向言語ってのはどんなもんかと思ってSquekいじってみたけど
おもろいねコレ。
演算子も文の制御構造も全部メソッドなのね。
基本データ型、演算子、制御構造も自分で拡張できるって事か。
趣味でやる分には、かなり面白そう。
ところで実行速度はどうなんでしょう? Javaと同じ位?
- 591 :デフォルトの名無しさん:02/03/08 22:52
- >>590
Squeakは遅いよ。まともな最適化してないからね。
VisualWorksだと、Javaなんかより速いような気が
するけれど。
- 592 :デフォルトの名無しさん:02/03/08 23:06
- そのぶんあっちゃこっちゃで動く
- 593 :デフォルトの名無しさん:02/03/13 23:36
- >>590
起動以外、へたなネィティブプログラムより早い。
早く、VisualWorks7Bでないかな。
- 594 :デフォルトの名無しさん:02/03/14 13:26
- 質問。
Smalltalkではメソッドのoverloadはできないんでしょうか?
また、overloadができるSmalltalkの処理系がありましたら教えてください。
- 595 :デフォルトの名無しさん:02/03/14 13:35
- メソッドのoverloadって、
引数の型に応じて実行されるメソッドを切り替えたい
って事だよね?
だとしたらまず、
動的型付のSmalltalkでどうやってメソッドの引数の型を指定するか
考えてみよ〜!
- 596 :594:02/03/14 14:30
- ん〜、考えてみましたが引数の型に応じてメソッドを切り替えるには
action: anObject
(anObject class = Food) ifTrue: [self eat: anObject].
(anObject class = Drink) ifTrue: [self drink: anObject].
の様にやれば良いのかな?
しかし、Foodから派生した全てのクラス(例えばApple、Banana)に対してもeat:を呼ぶには、どうしたら良いんだろう??
- 597 :595:02/03/14 15:13
- isKindOf:
とはいえ、それってmulti-methodというよりtype discriminationのような。
どちらかというと、block closureのArrayを持っておいて、
各blockが引数の型に応じて処理するかどうかを決めて
処理されない場合は次のblockを試すってほうがmulti-methodっぽくていいかも。
action: anObject
^self performMulti: #action with: anObject
performMulti: selector with: anObject
| methods |
methods _ self class methodsAt: selector ifAbsent: [ ^self doesNotUnderstand: selector]
methods do: [:assoc |
(anObject isKindOf: assoc key) ifTrue: [ ^assoc value value: anObject ]].
^self doesNotUnderstand: selector
とか、どう?
- 598 :595:02/03/14 15:19
- あ、methodsAt:ifAbsent:を定義するの忘れてた。
とりあえずクラス変数MultiMethodDictionaryを定義してやって、
クラスメソッド
methodsAt: selector ifAbsent: errorBlock
^ MultiMethodDictionary isNil
ifTrue:
[errorBlock value]
ifFalse:
[MultiMethoddictionary at: selector ifAbsent: errorBlock]
とかで、どう?
- 599 :594:02/03/14 17:08
- 頑張ってみましたが、正直よく分かりませんでした。
smalltalkいじり始めて1週間、クラス変数を使った事も無し、
Dictionaryもまだ、block closureもまだよく分かってないです。
type discriminationって言葉も初めて訊きました。
わからん事づくしです。低レベルでスマソ。
Dictionary(IDとデータを組みにしたものの集合?)ってのを使ってswitch文のような処理をしてるんだろうか?
もっと勉強してから出直してきます。
- 600 :デフォルトの名無しさん:02/03/14 18:28
- >>594
素朴な疑問ですが、メソッドのoverloadってどんなときに使うのでしょうか?
C++やJavaでプログラムを組んだこと無いのでよく分かりません。
逆にoverloadなしだと困るケースというのでもいいです。
- 601 :594:02/03/14 20:59
- 無いと困るって事もないですが、
SmalltalkでもInteger>>+とかで以下のように
1 + 1 -> 2
1 + 1.0 ->2.0
1 + (1/2) -> (3/2)
引数の型に応じて違う処理をしてますよね。
そんな時あると便利です。
- 602 :デフォルトの名無しさん:02/03/14 23:54
- >>596
こんなときはダブルディスパッチを使ったほうがきれいでは。
action: aFood
aFood doAction: self
にしておいて、FoodのサブクラスでdoAction:を再定義して、eat:なりdrink:なりを呼ぶ。
if文もisKindOf:も使わないに越したことはないし。>>601の実装もこれ。
- 603 :595:02/03/15 01:07
- >>602
ダブルディスパッチは切り替え対象になる型が増えると
組み合わせが爆発的に増えちゃうよね。
メッセージ名を変えるのも美しくない。
そもそも、
5つの引数の型に応じて切り替えたい時とか、
どうするよ?
- 604 :595:02/03/15 01:16
- >>599
type discriminationとは、ユーザプログラムが実行時に型情報を使った処理をすること。
それに対してmulti-methodはあくまで処理系の仕事ね。
>>597-598 のプログラムは、
methodsが(型情報 x ブロック)の組を持っていて
do:ループの中で適切なブロックを選択しているところが肝。
で、1つのメッセージ名に対応するメソッド候補の集合を
管理しているのがMultiMethodDictionary。
MultiMethodDictionaryはデータ構造的に、例えば
key value
+ { (SmallInteger, [:x | ... ]), (Float, [:x | ...]), ... }
- { (SmallInteger, [:x | ... ]), (Float, [:x | ...]), ... }
action: { (Animal, [:a | ... ]), (Drink, [:d | ...]), ...}
って具合。これが各クラスにあると思っといて。
- 605 :594:02/03/15 06:55
- >>602
そうですね。Integerクラスをブラウザで眺めてて、そのほうがすっきりするなと思いました。ダブルディスパッチって用語が既についてるんですね。
actionに対応してないオブジェクトを引数にした時に例外処理をしたい場合は、ObjectクラスにdoActionを追加して、そこに例外処理を書いてしまって良いんでしょうか? Objectクラスをいじるってのに何か抵抗を感じますが。
>>604
ふむふむ、ご丁寧な解説ありがとうございます。
こういうブロック式自体をデータとして扱えるって何か新鮮です。
SmalltalkがLISPから影響を受けているって話を聞いた事がありますが、
この辺がそうなのかなぁ。
このスレって盛り上がりはイマイチですが、
私のような低レベルな質問にも丁寧に答えていただけるし、荒れることもないし、
なんかイイですね。
- 606 :595:02/03/15 08:18
- >>605
> actionに対応してないオブジェクトを引数にした時に
handle:do:で例外処理するか、あるいはあらかじめrespondsTo:でチェックしておく。
> SmalltalkがLISPから影響を受けているって話を聞いた事がありますが、
> この辺がそうなのかなぁ。
うん。BlockClosureはLISP系言語から持ってきた概念の代表例だね。
あとはリフレクションとかメタプログラミング関係もLISP系から。
もうじきこれに継続(call/cc)も加わるよ。
BlockClosureが「これから実行する処理」を表わすのに対して
call/ccは「過去、これから実行しようとしていた処理」を表わす。
おもしろいよ。
- 607 :デフォルトの名無しさん:02/03/15 10:20
- >>605
http://www.mamezou.com/tec/Tips/doubleDispatch/doubleDispatch.html
http://www.sra.co.jp/smalltalk/SML/1001-2000/mails/1701-1800/1794.txt
- 608 :594:02/03/15 12:08
- >>607
なるほど、Double Dispatchingって、ごく基礎的なテクニックなんですね。
プログラミングするのはX68000でCをやって以来数年ぶり、
最近になってDelphiで3ヶ月ほど、Smalltalkはまだ1週間やっただけのしろうとプログラマーなんで、オブジェクト指向に関する基本的な知識が全く無いっす。
やはりWebで調べるだけでなく、少しは本でも買って読んでみたほうが良いかな。
たしか「憂鬱なプログラマーのオブジェクト指向」だったかな?って本がよく薦められてたんで、
とりあえず買ってみようとおもいます。
ほとんど意味は無いが、ジャンケンをDoubleDispatching(とは言いがたいか?)を使って書くとこんな感じだろうか?
JyankenChoiceクラスからGoo Choki Paaクラスを派生。
Goo>>judge: enemyChoice
^enemyChoise judgeWithGoo.
Goo>>judgeWithGoo
^#draw
Goo>>judgeWithPaa
^#lose
Goo>>judgeWithChoki
^#win
- 609 :デフォルトの名無しさん:02/03/16 01:52
- >>608
Smalltalkerといえばオブジェクト思考を極めた人たちばかりと思ったいたので
まだ勉強中の私のお仲間がいたということはうれしい限り。
あとDoubleDispatchingは、あまり使わないほうがいいかも。本の受け売りですが
まだ読書中だけどいい本です。
でも入門書じゃないよなこの本
Java言語で学ぶデザインパターン入門
http://www.amazon.co.jp/exec/obidos/ASIN/4797316462/
プログラムデザインのためのパターン言語
http://www.amazon.co.jp/exec/obidos/ASIN/4797314397/
リファクタリング―プログラムの体質改善テクニック
http://www.amazon.co.jp/exec/obidos/ASIN/4894712288/
XPエクストリーム・プログラミング導入編
http://www.amazon.co.jp/exec/obidos/ASIN/4894714914/
>>606
Squeakでは継続が使えなかったかな?
ここの過去ログにあるような・・・・
- 610 :デフォルトの名無しさん:02/03/17 14:41
- >>609
>>465 のページで書かれている "Continuation" は、
「これから実行する処理」を BlockClosure で渡すという
コーディングスタイル。
call/cc で扱う「過去、これから実行しようとしていた処理」とは別物。
- 611 :606:02/03/17 15:30
- >>610
ついでにいうと、call/ccが実装されつつあるのがSqueak。
最近ちゃんと追っかけてないんだけど、もう正式リリースVMに入ったのかな?
- 612 :610:02/03/17 22:34
- >>611
もしかして Squeak の BlockContext も BlockClosure に進化するんですか?
‥‥‥それとも、もうしてる?
♯最新は追っかけてないからなー。
- 613 :デフォルトの名無しさん:02/03/17 23:15
- >>612
>>466
http://minnow.cc.gatech.edu/squeak/2119
- 614 :610:02/03/18 20:28
- BlockClosure キタ━━━━━━(゚∀゚)━━━━━━ !!!!!
- 615 :デフォルトの名無しさん:02/03/19 05:55
- >>610
継続もクロージャも遅延評価という意味ではまったく一緒なのでは?
- 616 :デフォルトの名無しさん:02/03/19 14:00
- 継続は遅延評価というよりも、
実行コンテキストを保存しておいて実行するものです。
過去の実行コンテキストを保存しておいて、
その保存されたコンテキストから現在までのコンテキストを破棄して
保存されたコンテキストを再実行することも含まれます。
例えば以下のようなコンテキストの時
MySender>>doPrivateJob
MyServer>>doSomeService
MyServer>>doSomething →ここで継続として保存
MyClient>>doSomething
ここでMySender>>doPrimitiveJobで継続を評価すると、
MyServer>>doSomethingの時点に遡って実行を再開します。
また、保存された実行コンテキストの評価が終了しても破棄せずに
あとでその保存された時点までコンテキストを復元して
再実行することも含まれます。
上記のコンテキストが評価が進んで
MyServer>>doSomethingまで返ってくると、
通常はMyServer>>doSomethingなどのコンテキストは破棄されるのですが、
継続はMyServer>>doSomethingとそのsenderのコンテキストを保存しておいて
コンテキストのスタックを
MyServer>>doSomething
MyClient>>doSomething
のように復元してMyServer>>doSomethingの評価を再開します。
これらの芸当はクロージャでは無理です。
- 617 :615:02/03/20 00:54
- >>614
詳しい解説有難うございます。
継続ってマルチタスクに似てますね。
もちろん意味的には全然違いますが、継続という機能とマルチタスクを
実現する機能を実現する実装がという意味です。
- 618 :616:02/03/20 03:44
- >>618
その通りです。
実際、関数型言語SMLではマルチプロセスは継続(call/cc)を使って実装されています。
簡単に言うと、SmalltalkでいうProcessor yieldはスケジューラに継続を登録してから
制御をスケジューラに戻します。
そしてスケジューラは継続を1つ取り出して、その継続を評価します。
- 619 :デフォルトの名無しさん:02/03/21 19:48
- Visual Works NC版でも日本語使えるんだ。知らんかった。
www5.plala.or.jp/tsakworks/smalltalkFrame/dst.html
- 620 :デフォルトの名無しさん:02/03/22 00:10
- >>619
JpLocaleを使えばね。
http://openlab.ring.gr.jp/kyasu/smalltalk/
- 621 :デフォルトの名無しさん:02/03/22 00:40
- >>620
それ、VWNC5i3 でも使えるみたいだね。
ttp://www.geocities.co.jp/SiliconValley-Cupertino/6957/smalltalk.ja.html
同じ所の Smalltalk への感想にも同感。
- 622 :デフォルトの名無しさん:02/03/22 17:51
- JpLocaleは5i.4だと、CharacterEncoder>>encoderNamed:を
おかしくしてしまうんだよね。入れた後にちょっといじれば
大丈夫なんだけれど。
そろそろ出て来るとかいう7だと、どうなのかねえ。
- 623 :デフォルトの名無しさん:02/03/22 20:25
- >>622
パーセルのロードでこけるので、いじるのは入れる前です。
http://www.sra.co.jp/smalltalk/SML/5001-6000/mails/5301-5400/5333.txt
7はまだ分かりません。
- 624 :デフォルトの名無しさん:02/03/22 21:51
- >>623
いや、JpLocaleがCharacterEncoder>>encoderNamed:を5i.4のものと
互換性の無い形に上書きしてしまうのがまずいの。そのやり方より、
パーセルロード中のノーティファイアで、ChacacterEncoder>>encoderNamed:
の中の適切な場所に、asLowercaseを突っ込んだ方が良いと思う。
5i.4をJpLocaleに合わせるより、JpLocaleを5i.4に合わせる方が
健全でしょ。
- 625 :デフォルトの名無しさん:02/03/26 00:13
- スレが出来たのが8月下旬。いまは年明け3月下旬。
7ヶ月で620レスですか。
この調子だと、1周年も初代スレで迎えられそう。
盛り上がれよゴルァ(゚Д゚)
- 626 :デフォルトの名無しさん:02/03/26 00:20
- >625
ネタ出せや
- 627 :デフォルトの名無しさん:02/03/28 03:36
- UMEJAVA さんのサイトにこのスレへのリンク発見。
あの人、色々知ってて凄いですよね。
全然関係ないけど、JVM 上で動く Smalltalk 環境って無かったっけ?
前に見たような気がするんだけど、今探したら見つからなかった。
- 628 :デフォルトの名無しさん:02/03/28 10:28
- >>627
そこのリンクにあるよ。Smalltalk/JVMとか。
ttp://www.mars.dti.ne.jp/~umejava/smalltalk/stNews/
- 629 :名無しさん@Emacs:02/03/28 19:09
-
手元にSmalltalkイディオムって本があるのですが、
これで教わるにはやっぱりVisualWorksの方がいいんでしょうか?
- 630 :デフォルトの名無しさん:02/03/28 19:21
- >>629
いい。VWNC3.0がおすすめ。
http://wiki.cs.uiuc.edu/VisualWorks/DOWNLOAD/
- 631 :名無しさん@Emacs:02/03/28 22:53
- >>630
どうもです。
ありがたく参考にさせていただきます。
(なるべく事後報告しマース。)
- 632 :名無しさん@Emacs:02/03/28 23:14
-
一番一般的な環境を構築するためには
VWNC30-a.ZIP
VWNC30-b.ZIP
VWNC30-c.ZIP
VWNC30-d.ZIP
をダウンロードすればよいみたい。
- 633 :名無しさん@Emacs:02/03/28 23:14
-
ちなみに、それぞれ、
「解答するときにファイル名と同じ名前のフォルダを作らない」
設定で解凍すると、vwnc30というフォルダが出来ます。
同じフォルダになるように解凍ソフトを設定したり、
エクスプローラでコピってあげてください。
- 634 :デフォルトの名無しさん:02/03/28 23:30
- ttp://www.sra.co.jp/people/h-asaoka/study/VisualWorksInstall/VisualWorksInstall.html
VisualWorksのインストール手順はここが一番わかりやすいぞー
- 635 :名無しさん@Workspace:02/03/29 01:24
- >634
あなたそれどうやって見つけてきたのよ...
- 636 :デフォルトの名無しさん:02/03/29 23:52
- >>635
じゅんforSmalltalkの公式ページ
>> インストール方法はマニュアル......
>> Jun for Smalltalk インストール
ついでにGoogleでも一発だなー
ttp://www.google.co.jp/search?q=VisualWorks+%83C%83%93%83X%83g%81%5B%83%8B&hl=ja&btnG=Google+%8C%9F%8D%F5
いー仕事すると人目につくのなー
- 637 :名無しさん@Workspace:02/03/30 01:04
- >635
見返すと、割れながら、何かいちゃもんつけてるみたい。そゆ意図ないよ。
VisualWorksの話ならSMLを追ってればだいたいわかるつもりでたけど、
なんか知らないHP出てきたからアレどっからそういう情報をとってくるのと思ったんだよ。
これからVisualWorksのインストールをしてみようというときに、じゅんの公式ページに行くことは思いつかないよ?
インストールしてじゅんとかいろんなライブラリを使ってみた後だったら思いつくこともあるだろうけど。
Smalltalkイディオムの本読んでて、まず最初に行きそうなページは、
ttp://www.sra.co.jp/people/aoki/SmalltalkIdioms/
あたりというのはいいでしょ?ここからインストール方法を探すつもりでリンクをたどると、
ごく普通に
ttp://www.sra.co.jp/people/aoki/SmalltalkIdiomsForVWNC30/index.html#P011
につながって、別に634や636のようなこと必要なく終わっちゃうよ。
これ経験談(爆)
ちなみにこの青木さんのページでもインストール方法問題なかったよ。
- 638 :名無しさん@Emacs:02/03/30 01:59
-
ちょっとさ。マッタリしたいナ。
- 639 :デフォルトの名無しさん:02/04/04 22:19
- お父さん、土曜8時はテレビの前に座っちゃうぞー
- 640 :デフォルトの名無しさん:02/04/06 02:09
- Little Smalltalk って微妙にバージョン上がってる?
http://www.smalltalk.org/versions/LittleSmalltalk.html
- 641 :デフォルトの名無しさん:02/04/06 19:04
- >>639
ttp://www.nhk.or.jp/future/yoteihyo.htm
- 642 :仕様書無しさん:02/04/06 20:21
- BSでアラン・ケイが子供たちにスクィークを教えてる
- 643 :デフォルトの名無しさん:02/04/06 20:42
- アラン・ケイ、堪能しました。
- 644 :デフォルトの名無しさん:02/04/06 20:43
- しまった! 番組見忘れたあ。
・・・再放送見よっと。
こんどは青木氏の偉そうなソフトウェア文化論放映してください。
>NHK
- 645 :デフォルトの名無しさん:02/04/06 20:44
- すごく楽しそう...
- 646 :デフォルトの名無しさん:02/04/06 20:53
- すげ−よかった。SquaekっていいながらeToysばっかだったけど。
日本でも子どもにもっと普及して欲しいね。
SCEあたりでSqueakマシンでも作らないかな−。
最初の方見逃したから、再放送もみようかな。
>>639
その書き方で、見逃したひともたくさんいると思われ ;-)
- 647 :デフォルトの名無しさん:02/04/06 23:22
- 今日教育テレビで見て初めて知った
やってみよう
- 648 :日本語:02/04/07 01:50
- すんません。
http://www.kk.iij4u.or.jp/~y-kamite/squeak/multilingual_squeak.html
見てSqueakを日本語化しようとしたのですが、
install3_0.st
をfileInしても、数分待たされず、すぐ終ってしましいました。
"(FileStream oldFileNamed: 'RomeJiToKana.9.cs') fileIn."!
"(FileStream oldFileNamed: 'Taro.2.cs') fileIn."!
って出てるのがなんかまずいのかと思うのですが、
うまく日本語化できた人いますかー?
バージョンは、
Squeak3.0 of 4 February 2001
latest update: #3552
です。あうー。
- 649 :デフォルトの名無しさん:02/04/07 03:16
- くそ、squeakland.comでダウンロードしようとしたら、
ブラウザのUser-Agent見てOS判断してやんの
ほかのOS用のがダウンロードできないぞ、くそ
ほんと、オブジェクト指向馬鹿だな
- 650 :デフォルトの名無しさん:02/04/07 10:20
- >>649
飛ばされた先に他OS用ダウンロードページへのリンクがあるけど?
- 651 :デフォルトの名無しさん:02/04/07 11:32
- >>648
たぶんfileInしてないんじゃないかな?
ファイルダイアログ見たなウィンドウからfileInしてる?
- 652 :648:02/04/07 11:43
- >>651
あーーーーー、そうなのかもしれないです!
あれって、表示されただけなのか。ハズカシイ・・・
もいっかいやってみますです。
- 653 :648:02/04/07 11:49
- >>651
すびばせん。その通りでした。
ファイルダイアログみたいなところから、fileIn選んだらできました。
ありがとうございました。
- 654 :デフォルトの名無しさん:02/04/12 00:24
- 再放送は4/13(土) 11:00-11:45 NHK教育
http://www.nhk.or.jp/future/yoteihyo.htm
- 655 :デフォルトの名無しさん:02/04/12 02:01
- 画面上のオブジェクトをいじってスクリプトが組めるようになってたけど、
かなり昔のマックにもあったよね、こんなの。あほらし。
こんなので教育されたら、たまらんな。
むしろ教育用なら、基本となるロジックをオブジェクトとして用意して
おくべきだし、階層やアクセス制限といった概念もあっていいはず。
こどもたちにVB厨の轍を踏ませるつもりか。
なんかアラン・ケイは実は何も進歩的でないような気がしてきたぞ。
- 656 :デフォルトの名無しさん:02/04/12 04:55
- >>655
あんたが無知なだけ。
- 657 :648:02/04/12 07:16
- >>654
わーい。情報どうもです。
研究室のみんなに布教したいと思います。
- 658 :デフォルトの名無しさん:02/04/12 07:22
- >>656
無知っつーか、
>>655を教育するためには何が必要なのか、アランケイに聞いてみたい (藁
- 659 :デフォルトの名無しさん:02/04/12 11:33
- マターリマターリ。
こことか読んでみるといいかも。>>655
ttp://sumim.no-ip.com:8080/morphiclesson
- 660 :デフォルトの名無しさん:02/04/12 21:05
- >>655
>画面上のオブジェクトをいじってスクリプトが組めるようになってたけど、
>かなり昔のマックにもあったよね、こんなの。あほらし。
HyperCardのことかな?
Toysは昔、教育用言語として流行ったLogoの高級版だと思えば良いのでは?
見える物が、プログラムどおり動くというのが、プログラミングという
物を理解するのに一番の近道では無いでしょうか?
>むしろ教育用なら、基本となるロジックをオブジェクトとして用意して
>おくべきだし、階層やアクセス制限といった概念もあっていいはず。
Toys(Morphic)の裏にはSmalltalkという立派なロジックがあります。
階層はMorphicにもあるし、アクセス制限もロジックできます。
(でも655さんてSpueak使ったこと無い人なんだろーな。C++やJavaの人かな?)
>なんかアラン・ケイは実は何も進歩的でないような気がしてきたぞ。
でしょうねー。アラン・ケイさんがSmalltalkという環境を考えたのは20年も
前のことですから。
655さん、きっとあなたなら素晴らしい物を作っているのでしょう。
どんなものですか?教えてー。
- 661 :デフォルトの名無しさん:02/04/12 23:03
- >>655 美味しすぎ...
- 662 :655:02/04/12 23:19
- Smalltalkの応用としてはおもしろくても、教育用としてはどんなもんかな
と思っただけ
プログラミング(コーディング)の教育としては出来がいいと思えないし
(あらかじめそういう方面の思考ができる子供を対象としているのはあきらか)
それ以外の教育目的には使えないし
- 663 :デフォルトの名無しさん:02/04/12 23:30
- http://www.zdnet.co.jp/macwire/0204/11/c_ppoi.html
http://www.zdnet.co.jp/macwire/0204/12/c_ppoi.html
- 664 :デフォルトの名無しさん:02/04/12 23:34
- 元祖を亜流と比較しているから、美味しすぎ
- 665 :デフォルトの名無しさん:02/04/12 23:39
- 煽るつもりはないけど、アラン・ケイに進歩がないのは確かだと思う。
あの教材、教え方でどんどん自分で考え、プログラムを作れるのは
よっぽど頭が良くて創造的な、ごくごく一部の上澄み生徒だけだと
思う。
メンサに入るようなエリートのためのもの、とかいうならまだいいけ
ど、いつまでも頭がフラワーチルドレン世代みたいな、万人のための
コンピュータだ、教育だといわれると、さすがに時代が違うんじゃ、
といいたくなる。
本国でもあんな番組やるほど認められている人なの? 今の時点で。
とたまにはアンチの視点もよいのではないかと思って、低レベルな
あおりを書いてみました。
- 666 :デフォルトの名無しさん:02/04/12 23:42
- >>665
煽るつもりはないけど、最後で煽りだというのは矛盾ではないか?
- 667 :デフォルトの名無しさん:02/04/12 23:45
- >>663
この元ネタって
>>364-368
だよね。
- 668 :デフォルトの名無しさん:02/04/13 00:14
- >>662
>(あらかじめそういう方面の思考ができる子供を対象としているのはあきらか)
>それ以外の教育目的には使えないし
どんな子供やねん。
だいたい、そんな子供にプログラミングの教育が必要だと思えない。
へんなこと言う人だなー。
- 669 :デフォルトの名無しさん:02/04/13 00:17
- http://squeak.hoops.ne.jp/
- 670 :デフォルトの名無しさん:02/04/13 00:23
- >>665
> あの教材、教え方でどんどん自分で考え、プログラムを作れるのは
> よっぽど頭が良くて創造的な、ごくごく一部の上澄み生徒だけだと
> 思う。
その考えは「正解を導かなければならない」というドグマに汚染されてはいないか?
あと、教育には
1. 教師が子供を導くという方法と、
2. 子供が自分で何を学ぶかを模索するという方法と、
3. 教師と子供が互いに教え学びあうという方法
があるが、squeakは1だけでなく2や3にも有効な教材であることにも注意。
> 本国でもあんな番組やるほど認められている人なの? 今の時点で。
計算機環境を個人の手に移した人物として非常に高い評価を受けています。
現在の個人向け計算機環境の構築に貢献した人を3人挙げろと問えば
多くの研究者がアランケイをそのうちの1人に挙げるでしょう。
- 671 :デフォルトの名無しさん:02/04/13 00:27
- >>665
子供の知識の吸収力や思考の柔軟性を甘く見すぎです。
子供の頃に創造力や想像力を置いてきてしまったようですね。
もしくは自分自身の教育する力が不足しているのでは無いでしょうか?
- 672 :665:02/04/13 00:29
- >2. 子供が自分で何を学ぶかを模索するという方法と、
>3. 教師と子供が互いに教え学びあうという方法
>があるが、squeakは1だけでなく2や3にも有効な教材であることにも注意。
うんうん、この辺りにですね、なんか理想主義でちょっと胡散臭い
感じがするわけですよ。
特に3なんて実に稀な幸福な出会いというか、ほんとにそんなことあるの?
という感じさえする。
ああいう番組みて学校へのコンピュータの導入はすばらしい、とか勘違い
するやつがいるなら、現実の小・中に導入された「パソコン教室」というの
が如何に不毛な時間を子供に強制しているのか知ってほしい。
結局楽器や画材の劣化した代用品でしかないんだよな。本物の感動は得られ
ない。で、SqueakやLOGOみたいなものは絶対上手くいかない。上手くいくのは
テレビスペシャルでケイみたいな理想の教師が来たときだけ。
もう論旨あれまくりだなあ(笑)。酔っ払ってるんでスマソ。
- 673 :665:02/04/13 00:34
- >現在の個人向け計算機環境の構築に貢献した人を3人挙げろと問えば
>多くの研究者がアランケイをそのうちの1人に挙げるでしょう。
これはそうだろうね。俺もその恩恵を受けている。
でも、あのNHKの番組が取り上げるような位置をアメリカでもしめてるの?
もう「シリコンバレー物語」みたいなお話にでてくる白黒写真のような過
去の人ではない? 現実にSqueakを授業に取り入れる意味などあるのかな?
- 674 :デフォルトの名無しさん:02/04/13 00:35
- Squeakとは関係ないネタでゴメソ
>>670
>1. 教師が子供を導くという方法と、
>2. 子供が自分で何を学ぶかを模索するという方法と、
>3. 教師と子供が互いに教え学びあうという方法
良い教育は、この3つの方法をミックスしているのではないでしょうか?
2の方法で学習を始め、3のように学習を発展させている様に見せかける。
そして一定の方向に導いてあげれる先生が良い先生。
まあ、ここまで出来る先生は、そうそう居ないでしょうがね。
- 675 :665:02/04/13 00:38
- >そして一定の方向に導いてあげれる先生が良い先生。
これは賛否両論ありそうだな。
- 676 :デフォルトの名無しさん:02/04/13 00:45
- >>672 >>673 >>655
貴方が言いたいことが良くわかりません。
「現実、現状は常に良くないということ」は当たり前のことじゃないですか?
それを修正していくことがプロとして求めれていることじゃないですか。
>>2. 子供が自分で何を学ぶかを模索するという方法と、
>>3. 教師と子供が互いに教え学びあうという方法
>>があるが、squeakは1だけでなく2や3にも有効な教材であることにも注意。
>うんうん、この辺りにですね、なんか理想主義でちょっと胡散臭い
>感じがするわけですよ。
理想に走りすぎているという点は判りますが
現実問題として不可能なことではないですよね?
先生によってはね。(←馬鹿。この点が665さんが非難していることじゃないか)
- 677 :デフォルトの名無しさん:02/04/13 00:48
- 今、そういう環境で教わってる子供の中から、将来、いい先生が出てくるんだよ。
結論は、20年後に。
- 678 :デフォルトの名無しさん:02/04/13 00:52
- >>675 >>665
>>そして一定の方向に導いてあげれる先生が良い先生。
>これは賛否両論ありそうだな。
自分の思想を感染させると言う点では教育と洗脳は似ている。
- 679 :デフォルトの名無しさん:02/04/13 01:11
- age
- 680 :デフォルトの名無しさん:02/04/13 02:03
- http://www.logob.com/dolittle/
- 681 :デフォルトの名無しさん:02/04/13 03:05
- 今まで、極小数の先生がSmalltalkがさもスバラシイもののように
語っていたのを聞いて、「なにそんな古い言語の話してんだ?
時代はJavaだろう」と思っていましたが、
NHK見て、初めてSmalltalk(というかSqueak)触った直後の感想は、
「Javaなんてうんこ」でした。
- 682 :デフォルトの名無しさん:02/04/13 08:23
- >>673
> でも、あのNHKの番組が取り上げるような位置をアメリカでもしめてるの?
> もう「シリコンバレー物語」みたいなお話にでてくる白黒写真のような過
> 去の人ではない? 現実にSqueakを授業に取り入れる意味などあるのかな?
アメリカにいるからそのNHKの番組は見てないから
「NHKで取り上げた位置」ってのはよくわからないけど、
コテコテのコンパイラ屋さんとかがどう見ているのかは知らないが、
認知科学や教育学などと計算機科学の学際的な研究をしている人達から見れば
アランケイは全然過去の人ではないよ。
彼はアップルからディズニーに移って、現在はディズニーから離れているんだけど、
ディズニーが彼を招いたのは計算機と子供の関係の未来像を捉えている第一人者だからだと思うし、
アランケイがディズニーに移ったのはディズニーのアニメーションやテーマパークが
「現在の計算機環境が持っていない何か」を持っていると思ったからだと思う。
- 683 :デフォルトの名無しさん:02/04/13 21:00
- >1つ言いたいのは、教養のある、教育のある人とは、どういう人かということだ。
>本当に教養が身につけば、「私は教養がある」とは言わなくなる。ある点を過ぎると、
>本当に世界のことを何も知らない、これから学ぶことが多すぎると、分かってくる。
>そして、その一点を過ぎると、教育のある人は生涯学習者になる。ここまできたら
>教育終わり、はい教養人というわけではない。教育とは1つの旅のようなものだ
>
>アラン・ケイ氏
プログラミング言語(環境)も同じようなことが言えますよね、ケイ先生。
- 684 :デフォルトの名無しさん:02/04/13 21:27
- これは、2002年の賞を与えられる会社である。
世界中の最も大きいリクルーターはまだこれについて知らない。
あなたがこれから数日ですることは永久にあなたの生活を
変えることができる。
世界的にスタートする。300以上の国が参加。
どうかこの機会を逃さないでください。
西暦2002年に私に合流して、そしてネットワークマーケティングの
歴史だけではなく世界的なビジネス歴史を作りなさい。
5億以上のコミッション。他の人は頭がおかしいと思うでしょう。
今あなたの最初のステップはサイトに行って、
そして登録することである。
そして、無料のポジション。
あなたは1350ドルの即刻の現金収入を得るであろう。
1日であなたが4500ドルの収入を得ることができたときから、
あなたは疑わない。
★以下登録方法です。=下記をクリック
http://dehio.oneqwest.com
@ページが開き音楽が鳴りだして光がでたら光をクリック。
A画面が変わり一番上の右端のSignUpの字の下にマウス矢印の先端を合わせクリック
BPre-Registration の横のClik here to pre-reqisterをクリック
C First Nameは 名前
D Middle Nameは 空白、エラーが出る場合はn/a
ELast Nameは、 みょうじ
F Company Name(会社名)は任意 (Optional)
G E-mail Addressは メールアドレス
H Confirm Email もう一度同じメールアドレス
I 次は下の赤の文字(mm/dd/yy)は誕生日= 月/日/年(例:7/20/1960)
J次も下の赤い文字 (US citizens only)は空白(または n/a)
K Country of Residencyは Japanを選択
L次も下の赤い文字 (name only, no spaces)は
ユーザー名(ハンドルネーム)を入力:必ず書き込む
M次も下の赤い文字(name only,no spaces)は
マウスの矢印を「書き込み欄」に合わせてクリックすると
上下の「書き込み欄」にユーザー名が自動で入る。
NPasswordはパスワード(自分の好きなもの半角4〜8文字)を記載
OConfirm Passwordは、もう一度同じパスワードを記載
P下の Continue to next step をクリック
Q次に画面が変わる Address Typeは Homeをクリック
R Address 住所 11-111 ●●●-cho ●●●-gun
SCityは都道府県(例=Totigi-ken)
21 State / Provinceはそのまま
22 Postal Codeは郵便番号(例:111-1111)
23 Countryは Japan 選択
24 Continue to next step をクリック
25 Phone Typeは Homeをクリック
26 Phone NumberはTEL番号:(例:0111-11-1111)
27 Continue to next step をクリック
28 確認画面が出る
29 Continue to next step をクリック
30 長い文章の一番下の I Agree をクリックで登録完了。
貴方のホームページアドレスが直ぐ送られてきます。
- 685 :デフォルトの名無しさん:02/04/13 23:30
- >>683
呼びかけてもアラン・ケイはここ読んでないと思います。
- 686 :デフォルトの名無しさん:02/04/13 23:36
- がちょ〜ん
谷啓
- 687 :デフォルトの名無しさん:02/04/14 00:02
- じっ けんっ くんっ
清水(以下略)
- 688 :デフォルトの名無しさん:02/04/15 01:05
- 天才プログラマー支援、「パソコンの父」が審査
http://www.nikkei.co.jp/news/keizai/20020414CEEI081213.html
http://news.2ch.net/test/read.cgi/newsplus/1018782061/l50
- 689 :デフォルトの名無しさん:02/04/16 07:42
- 誰かケイ氏に日本人のための日本語版Squeakの開発を提案して下さい。
- 690 :デフォルトの名無しさん:02/04/16 10:48
- >>689
>>669
- 691 :名無しちゃん:02/04/16 17:21
- >>673
Viewpoints Research Instituteを見たら今でも彼が支持されてるのが
わかるでしょう。
>>681
いいこと言った! ほんものの楽しいプログラミングってのはこれだよ。
- 692 :デフォルトの名無しさん:02/04/16 22:38
- 最近 NHK で特集があったらしいね。クソスレ 2つほど立ったけど。
見たかったなぁ。再放送とかある?
- 693 :トットコハム子 ◆olJZZGWw :02/04/17 09:58
- 1)自動車を走らせる 2)風船を飛ばす
この二つしかできないんですけど、ほかに何かできますか?
- 694 :デフォルトの名無しさん:02/04/17 11:09
- >>693
3)タイコをたたく
4)Wikiを立ち上げる
5)Smalltalkのプログラムを書く
- 695 :ハム子 ◆olJZZGWw :02/04/17 11:41
- >>694 頭良いね。Wiki ってどこにあるの?
- 696 :デフォルトの名無しさん:02/04/17 15:05
- >>695
ちょっと(っつか、だいぶ)古いバージョンでよければデフォルトではいってるよ。
- 697 :デフォルトの名無しさん:02/04/17 18:49
- >695
ttp://minnow.cc.gatech.edu/swiki/15
ここから落とせ
ちゅうか自分でまず調べるクセをつけろ
- 698 :ハム子 ◆olJZZGWw :02/04/17 20:44
- >>697 ありがと。ダウンロードした。確かにデスクトップに「ComSwiki.2」
と言うファイルが有る。さて、これをどうしたものか???クリックしても
なんともならないようだ。ダブルクリックしてもダメみたい。不思議な物体だ。
逝ってきます。sage
- 699 :デフォルトの名無しさん:02/04/17 23:02
- >698
squeak.imageをVM(Win系ならSqueak.exe)にドロップするんだよ
したら、Swikiの説明書きが出てるからよ
そいつ読め
- 700 :デフォルトの名無しさん:02/04/17 23:19
- >>699
つーか、ハム子はSwikiがなにをするものか知らないような。
NHK見たなら、このあたりから読むのが吉(既出だけど)。
http://sumim.no-ip.com:8080/morphiclesson
- 701 :デフォルトの名無しさん:02/04/18 01:39
- >>692
ハイビジョンなら4月22日に再放送があるよ。
http://www.nhk.or.jp/future/room/alan.htm
- 702 :デフォルトの名無しさん:02/04/18 01:43
- http://www.kanshin.com/index.php3?mode=keyword&id=13921
- 703 :デフォルトの名無しさん:02/04/18 01:49
- ハム子スレ
http://pc.2ch.net/test/read.cgi/tech/1018868924/l50
同類
http://pc.2ch.net/test/read.cgi/tech/1018917093/l50
- 704 :デフォルトの名無しさん:02/04/19 22:18
- age
- 705 :a:02/04/21 01:58
- age
- 706 :デフォルトの名無しさん:02/05/01 20:28
- あげておこう
- 707 :デフォルトの名無しさん:02/05/04 20:46
- SMLより
--------------------------------------------------
青木@江東筍寺です。
「じゅん for Smalltalk」のテキストブックを連載したいと思いま
す。もちろん、Smalltalk(VisualWorks 5i.x および 3.x)の解説
を含みます。Smalltalk のインタラクティブ性を前面に押し出して
書き表わします。本当のオブジェクト指向プログラミングのマジカ
ルワールド(秘密の庫)の扉を開いてみましょう。
バッタもんじゃないオブジェクト指向プログラミングに触れてみた
い、これから Smalltalk の勉強を始めたい、もしくは Smalltalk
をやり直したい、3次元グラフィックスを学んでみたい、ムービー
やサウンドなどのマルチメディアの取り扱い方法をマスターしたい
と思う方々は、どうぞおつき合いくださいませ。
モチーフを「論よりコード」と「百の偽物よりも一つの本物」とし
ます。Smalltalk のインタラクティブ性を、インタラクションデザ
インに応用したり、エクトリームプログラミングの中心にすえたり
することを念頭に置きます。
テキストとプログラムを私がドンドン書き進めて、じゅんチームの
新鋭さんがビジュアルを付加し、もっとわかりやすいウェブページ
に仕立て上げて公開してゆきます。
----------------------------------------------------------
ばったもんとは、ひどい言い方.
SMLに入っていると,どんどん青木さんが嫌いになるんですけど.
- 708 :デフォルトの名無しさん:02/05/04 22:52
- Smalltalkもじゅんもいつまでたっても超マイナーな存在なので
鬱憤が溜まってるんでしょう.
- 709 :デフォルトの名無しさん:02/05/04 22:53
- そうそう,嫌味をいいたくなる人間はろくなものじゃないそうです
- 710 :デフォルトの名無しさん:02/05/04 23:41
- ばったもんの方が、使われやすいのかも。
人間も不純なものだから
- 711 :デフォルトの名無しさん:02/05/05 01:36
- 「じゅん」もさ,CADを憂うんだったら現場で使えるものを
作ってみて欲しいものだ.
だだ飯喰って研究している身でいうことが偉そうなんだよね.
- 712 :デフォルトの名無しさん:02/05/05 01:46
- 確かに青木導師はかなりいやみったらしい感じはする。
衒学趣味な感じはする。
どうでもいい引用が多くて読みづらい気はする>書籍
と書くと擁護派が現れるはず。
- 713 :デフォルトの名無しさん:02/05/05 03:08
- VisualWorks7のPre-Release版がようやくリリースされたですよー
ttp://www.cincom.com/scripts/smalltalk.dll//downloads/index.ssp?content=visualworks
198MBって嫌がらせ
連休明けにでも太い回線で落とすかな
- 714 :デフォルトの名無しさん:02/05/05 03:17
- >>713
今落としてるちう。 1.5M ADSLだけど、16kbpsで残り3時間だって…
- 715 :デフォルトの名無しさん:02/05/05 04:01
- >713
落としました。
Cygwin、SqueakのDecompressで展開できないです。
ついさっき、vwncにこんなのがポストされてました。
I've just download - three different times to different computers - the
new 7 beta iso image from the web site. When I decompress it I get an
'unexpected end of file' error. Anyone else?
しばらく様子見です。
- 716 :714:02/05/05 04:32
- あらら…
- 717 :714:02/05/05 09:12
- やっぱ、だめぽ…
- 718 :デフォルトの名無しさん:02/05/05 12:37
- ですから、プログラマになれる人は、プログラムを読むことができ
る人の中のほんのひとにぎりの人たちなんですね。誰でもプログラ
ムが作れるとか、サルでもできるプログラミングとか、奇妙なこと
が世の中で言われていますが、どうか戯言に惑わされないようにお
願いしたいと思います。
- 719 :デフォルトの名無しさん:02/05/05 12:44
- >>718 嘘つけ。
- 720 :デフォルトの名無しさん:02/05/05 19:22
- >>719 そんなこと言っていいのかな?○木さんにいってやろ!
- 721 :デフォルトの名無しさん:02/05/05 20:35
- >>718
これらの文書が裏づけになるな。
ただ、誰でもプログラムは作れるようにはなれる。
プログラマにはなれなくとも。
ソフトウェア職人気
http://www.pearsoned.co.jp/washo/software/wa_soft09-j.html
プログラミングを独習するには10年かかる
http://www1.neweb.ne.jp/wa/yamdas/column/technique/21-daysj.html
- 722 :デフォルトの名無しさん:02/05/06 00:24
- 話は変わるけれど、VisualWorksで、xorとかandとかの、特殊な
描画をするには、RasterOp使うしかないの?GraphicsContextに
直描き出来ないのがかなり嫌なんだけれど。
- 723 :デフォルトの名無しさん:02/05/07 10:16
- Smalltalk インタープリタの作成を解説している Web サイトはありませんか?
- 724 :デフォルトの名無しさん:02/05/07 12:20
- >>723
http://users.ipa.net/~dwighth/smalltalk/bluebook/bluebook_imp_toc.html
- 725 :デフォルトの名無しさん:02/05/07 21:07
- >ですから、プログラマになれる人は、プログラムを読むことができ
>る人の中のほんのひとにぎりの人たちなんですね。
そういうのが対象なら俺は興味ないな。
自分の息のかかったまな弟子たちがいっぱい増えるといいね。
なんか家元制みたいでヤなんだよな。
- 726 :デフォルトの名無しさん:02/05/08 00:07
- >>725
そういったイヤーなところは生温い目で見つめることにして、興味のあるところだけ見ればいいさ。
GCCやemacsはRichard M. Stallmanが嫌いな人も使ってるよん。
- 727 :デフォルトの名無しさん:02/05/08 10:02
- >>725
Smalltalkを子供でも使えるものひしようとしているアランケイのことを
批判しているのかなと思われ.
- 728 :デフォルトの名無しさん:02/05/08 13:20
- >727
視点が違うのでは?
批判も賞賛もしていないと思われ
- 729 :デフォルトの名無しさん:02/05/08 15:22
- いや、いい線だと思う。
- 730 :デフォルトの名無しさん:02/05/08 17:57
- ところで復刊ドットコムでこういうの見つけたんですが、
投票しません?
http://www.fukkan.com/vote.php3?no=7979
http://www.fukkan.com/vote.php3?no=7980
- 731 :デフォルトの名無しさん:02/05/08 21:16
- >730
コレクションにするならかまわないが、実用的かというと、そうではないと思うぞ
特にオレンジブックのほう
ベテランな方々、もっと役立つ、復刊したら嬉しい本はないですか?
- 732 :デフォルトの名無しさん:02/05/09 14:23
- >>731
昔ASCIIから出ていた本持ってる。
高校生の時に小遣いで買った記憶が(苦笑)
- 733 :デフォルトの名無しさん:02/05/10 03:29
- >732
してその価値はどーなのよ
- 734 :デフォルトの名無しさん:02/05/10 12:45
- >>731
なにをもって「実用的」とするかによるけど(たとえば、VisualWorks
でばりばりやりたい…とかね)、Squeakで遊んだり、昔はこうだった
んだなぁ…って思うくらいならかなり役立つと思うぞ。特にオレンジ
ブックのほうw いや、個人的にはこれナシにはSqueakの使い方は
理解できなかったかな。
SqueakはSmalltalk-80 v1(オレンジやブルーブックが対象にしてい
るv2の一つ前のバージョン)の仮想イメージをベースにしているから
かえって、まだ実装されていない機能とかあったりして笑える。「古い」
どころかむしろ「新しい」記述としてね。
ちなみにこれはmvcがまともに動いた頃(v2.x)の話で、v3.1以降事実
上標準になったmorphicの足しにしたければ、とりあえず言語として
のSmalltalkを勉強してからSelfでひととおりMorphicを学ぶとよいかも。
http://research.sun.com/self/release/Self-4.0/Tutorial/
- 735 :732:02/05/10 17:16
- >>733
積極的に探す意味は無いかと。
なんせオブジェクト指向って言葉が殆ど知られていない時代の本なので、概念の解説に拡張Pascal使ったり、
GUI志向のプログラミング(マウスの使い方など)を解説するといったレベルのものに紙面のかなりを割いている。
- 736 :デフォルトの名無しさん:02/05/11 14:08
- >Smalltalkを子供でも使えるものひしようとしているアランケイのことを
>批判しているのかなと思われ.
アラン・ケイのスタンスに完全に同意するわけじゃないけど、これは
かなり当たっている気がする。
上の書き込みの引用部分からも分かるように彼はプログラミングの楽
しさを広く知って貰いたいというより、選ばれた人だけができる、秘
儀のようなものにしたいという指向が強いのでは?
そもそも「弟子」呼ばわりするとこが、もうどうにも、イヤーな感じ。
良く冗談ですぐ「師匠」とか呼ぶ奴いるけど、そういう冗談とも違っ
てかなり本気でしょ?
>視点が違うのでは?
>批判も賞賛もしていないと思われ
そんなことはないでしょう。
- 737 :デフォルトの名無しさん:02/05/11 15:00
- >>736
選ばれた人だけができる秘儀のようなものにしたいのなら、
なぜTextbookのようなものを公開するんだと思う?
青木氏とアラン・ケイのスタンスの違いは、「銀の弾丸」でいうところの
ソフトウェア開発の「本質的困難(essential difficulty)」と「過失的困難(accidental difficulty)」について
アラン・ケイが過失的困難を小さくしようとしているのに対して
青木氏は本質的困難を多くの人が理解することで克服しようとしているのでは?
- 738 :デフォルトの名無しさん:02/05/11 15:01
- Squeak/Smalltalkの入門サイトもさ、「ほうら、こんなに簡単にできちゃうよー」
じゃなくて、「こんなのも作れるぜ」「俺はこんなの作って見た」
というところ、見せてほしいよ。
使い物にならない、しょーもないサンプルばかりじゃん
- 739 :デフォルトの名無しさん:02/05/11 16:07
- VisualWorksの話ね.
ttp://smalltalk.iwarp.com/
ここのサイトにあるFreebieCodeを色々ためしてるんだけど,
ArborFreebiesのGUIExtensionsとWidgetExtensionsで
コードに色つけれた人いる?
検索や置換(replace)とexplainはpopupmenuに追加されるんだけど.
コードに色つけるダイアログが出なくて困ってる.
IntellimouseSupportとwarpspaceってのはすごく便利なので,
こっちのほうも是非使いたいんだけど.
VisualWorksの3.1NC版使ってます.
上のArborFreebiesのパーセル読むときに警告がでるんだけど
それかな.
- 740 :デフォルトの名無しさん:02/05/11 17:50
- >738
探し方がまずいんじゃない
- 741 :デフォルトの名無しさん:02/05/11 22:40
- >>740
なるほど、探し方に問題があるわけじゃないんですね。
「探しかたまずいんじゃない!」
- 742 :739:02/05/12 03:45
- explainとreplaceってもとからあるな… (鬱
- 743 :デフォルトの名無しさん:02/05/14 00:25
- Amazon見たけど今流通してないSmalltalk本はどれも古いね
これなら洋書買ったほうがよさそうだね
- 744 :739:02/05/14 02:29
- >739
VisualWorks5i4で試して見たところ
warpspaceで特に問題なくemphasisメニューがでてきてテキストに色つけできた.
3.1用のはバージョンが古いのか,warpspaceの形も少し違ってた.
3.1では無理なのかな.
まださわり始めたばかりで全然わからないんで,勉強して出直してくる.
"5i4は雰囲気がちがったので3.1で我慢します."
- 745 :渡邊克宏(SML”管理”人):02/05/14 18:06
- Smalltalk に興味のあるオマエら、こんにちは。興味ないキサマら、もっとこんにちは。
この場をお借りして Smalltalkers' Salon Mailing List の紹介をいたします。
Smalltalkers' Salon Mailing List(内輪での略称は SML)は、日本語で
Smalltalk やオブジェクト指向技術を含めたソフトウェア一般について
おしゃべり(smalltalk)をするための mailing list です。現在 500 名弱の
参加者を得て、日々お気楽な放言やら真面目な考察やらが飛び交っています。
参加方法など、詳しいことは以下のページをご参照あれ:
http://www.sra.co.jp/smalltalk/SML/
過去のおしゃべりのアーカイブも公開されております。subscribe するほどでは
ねんだども内容をチと覗いてみっぺか?という方はぜひご参照ください:
http://www.sra.co.jp/smalltalk/SML/archives/
SML に関して質問があれば強く歓迎します。
この「スレ」に投稿するか、私 <sml-admin@sra.co.jp> にメールを下さいまし。
- 746 :デフォルトの名無しさん:02/05/14 18:09
- >>745
こんな所に、突然何を……。
……ひょっとして、偽者?
- 747 :渡邊克宏:02/05/14 18:27
- >745
2ちゃんねる内でSmalltalkers' Salon Mailing Listの広報活動に適当な場所があるかどうか
よくわからないでいたのですが、案ずるより来てみるほうが早かったようです。
そのものずばりのSmalltalk/Squeak用スレがあって、しかも結構濃い話がバンバン出てますね。
件のSMLも、ご紹介申し上げるまでもなく頻出のようで、もしかしてオヨビじゃなかったのかも。
それにしても、知人がいそうで怖いっちゃ〜。
- 748 :渡邊克宏:02/05/14 18:36
- >746
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
本人です。この投稿(shift jis)を
http://www.sra.co.jp/people/katsu/pgp.txt
とご照合ください。
アーカイブを整備したのを契機に、宣伝して回ろうかと思ったんです。
文章はネットニュースに流したのの使いまわし...いえいえ、そんなことは決して。
2ちゃんねるのためにこころを込めて打った文章をネットニュースにも
流しておきました。
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.4 (GNU/Linux)
Comment: For info see http://www.gnupg.org
iD8DBQE84NnjjLiRVj+RmEcRAsNTAJ4yHeIRAOVP/0TlGbTTwSpHCD23GgCfVpXY
XtPiCUXc2HBDan4EwtZfark=
=GjGD
-----END PGP SIGNATURE-----
- 749 :導師万歳:02/05/15 23:04
- >ですから、プログラマになれる人は、プログラムを読むことができ
>る人の中のほんのひとにぎりの人たちなんですね。誰でもプログラ
>ムが作れるとか、サルでもできるプログラミングとか、奇妙なこと
>が世の中で言われていますが、どうか戯言に惑わされないようにお
>願いしたいと思います。
そのとおりだよ。プログラマになれるのはほんの一握りの上澄みだけ
なんだ。本当のプログラマは2ちゃんで質問なんかしないんだよ。
Smalltalkもお前らみたいなサルが触ると穢れるからもうやめろ。
VBでもやっとけ。
- 750 :デフォルトの名無しさん:02/05/15 23:46
- 多くの人は、世界最高のテキストエディタはゼロックスのパロアルト研究所が
Alto と Dorado コンピュータで使うよう書いたもの[3]だと考えている。残念な
がら、本物のプログラマならば誰も SmallTalk などという名前のオペレーティン
グシステムはけっして使わないし、コンピュータとマウスで対話したりすること
もけっしてないだろう。
http://www.genpaku.org/realprogrammerj.html
- 751 :デフォルトの名無しさん:02/05/15 23:48
- 1980年台後半、一人の smalltalk プログラマがいた。
彼は僕の知っている唯一の smalltalk プログラマであるが、当時、その生産性には驚いた。
「こんなツールがあったら便利なのにね」
「ここにこう線が引けて図がかければいいね」
「このデータ解析、調査だけでもどれだけ時間があっても足りないよ」
口にして、一晩明けると、前の日に話題にのぼったプログラムが目の前で動いていた。
(中略)
彼こそが職人であった。彼こそやはり、「本物のプログラマ」だった。
だだ、smalltalk に魅せらせた彼が、smalltalk で身を立てていけているかどうか、実のとこ
ろ僕にはわからない。
http://member.nifty.ne.jp/samidare/pgmr/m008.html
- 752 :デフォルトの名無しさん:02/05/16 00:05
- >>750
Smalltalkの開発当時の状況や歴史を書いた本を探していたのですが、
最近良い本を古本屋で見つけました。(昔流行った本だけど、当時読んでなかった)
「ワークステーション原論」アスキー刊
この本で、XEROX PARCの技術的中心人物の一人、バトラー・ランプソンが、
似たような事を説明していました。(今手元に本がないから要約すると)
・Alto上のOSとしては、Alto OSの他、Smalltalk、Cedar、Lisp用のOSが開発された。
これらのOSは、ワールド・チェンジとかいう機構で、2秒程でSWAP切り替えできた。
ただし、プログラム間の連携はほとんどファイル・ベースでしか行えない上、
研究所のニーズもなかったので、(予想外の事だが)データベースの研究は行われなかった。
・Altoのソフトウェア開発では、対話処理の可能性に目を奪われたため、
もうひとつの可能性 - UNIXのshellのようなプログラミング能力のあるバッチ処理 -
の追求はあまりなされなかった。
- 753 :752:02/05/16 00:56
- 自宅に戻って確認したら、少々間違いがあったんで訂正しまーす
1.「ワークステーション原論」 → 「ワークステーション原典」
http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=utf8&oe=utf8&querytime=pM&q=%E3%83%AF%E3%83%BC%E3%82%AF%E3%82%B9%E3%83%86%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E5%8E%9F%E5%85%B8
2. Ceder...用のOS → (Cederは次の世代だから関係なし)
3. UNIXのshellのようなプログラミング能力のあるバッチ処理
→ UNIXシェルやEmacs Lispのような体系的なプログラミング機能
>>750
プログラミング機能のないWYSIWYGって、
拡大率1の拡大鏡みたく、あんまり知的能力の拡張として役立たない
ってニュアンスなら、同意
- 754 :デフォルトの名無しさん:02/05/19 14:48
- 日本語版(但電子遊具限定)登場記念 age
- 755 :デフォルトの名無しさん:02/05/19 14:50
- >>754
http://squeak.hoops.ne.jp/
- 756 :デフォルトの名無しさん:02/05/19 15:21
- >>750
そりゃそうだ。SmallTalkなんて言語はないからなあ。
(正しくはSmalltalk)
- 757 :デフォルトの名無しさん:02/05/19 18:00
- >>756 → >>753を買って嫁
- 758 :デフォルトの名無しさん:02/05/19 18:22
- >>756
そして読み終わったらオレにくれ。
探してるが見つからん、て言うか有っても法外な値段だったり。
- 759 :デフォルトの名無しさん:02/05/19 21:49
- 神田明倫館で定価の半値位で買えたけど。
結構在庫もあるんじゃないかな、古い本だし
- 760 :デフォルトの名無しさん:02/05/19 21:54
- >>752
http://research.microsoft.com/~lampson/38-AltoSoftware/Acrobat.pdf
http://www.metaobject.com/papers/Smallhistory.pdf
- 761 :デフォルトの名無しさん:02/05/19 22:14
- DECから、MSに逝ったLampson. 鬱だ...
- 762 :752-753:02/05/19 22:23
- >>760 THX! 38-AltoSoftware/Acrobat.pdf の 3ページ目後半ですね、私が引用したのは。
#しかし、ファイル名 "Acrobat.pdf"って(藁
#バトラー・ランプソンって、Adobeの祖先だよね(藁
- 763 :デフォルトの名無しさん:02/05/22 20:27
- age
- 764 :デフォルトの名無しさん:02/05/24 07:52
- thisContext って何?
- 765 :デフォルトの名無しさん:02/05/24 11:25
- 疑似変数。現在実行中のコンテキストが入る。
とても便利。thisContext sender recieverとか(Squeakの場合)。
- 766 :デフォルトの名無しさん:02/05/24 11:43
- もう少し詳しく。
- 767 :デフォルトの名無しさん:02/05/24 11:46
- 一時変数の値も参照できたりする。
- 768 :デフォルトの名無しさん:02/05/24 11:51
- 実際に試してみて、それでも分からなかったら、使う必要なし。
- 769 :デフォルトの名無しさん:02/05/25 21:50
- Emacsライクなエディタ操作をサポートするものを見つけました。
http://www.ops.dti.ne.jp/~cake-smd/wiki/EmacsLikeKeysForSqueak.html
- 770 :デフォルトの名無しさん:02/05/25 22:35
- そう良かったね。
がいしゅつだけど。
- 771 :746:02/05/25 23:51
- >>747(亀レスだ、ごめんなさい)
そうでしたか。MLの管理、お疲れ様です。
>>750
それ、この時代に見るとギャグさながらだね。
- 772 :デフォルトの名無しさん:02/05/27 16:27
- >>387
Webでこの記事ハケーン。
Squeakを知りたいっ!
ttp://squeak.hoops.ne.jp/1213SqHirai/
- 773 :デフォルトの名無しさん:02/06/02 02:11
- 「Server容量が一杯です」などとケチなこと言ってないで
はやくVWNC7アップしてくれんかのう
- 774 :デフォルトの名無しさん:02/06/06 16:36
- Hacking GTK+ apps in LOGO
http://developer.gnome.org/news/summary/2002_May25-June01.html#2
- 775 :デフォルトの名無しさん:02/06/07 01:44
- yourself ってな〜に?
- 776 :デフォルトの名無しさん:02/06/07 06:21
- ブロックを受信したオブジェクト自身
- 777 :デフォルトの名無しさん:02/06/07 09:41
- >>776
正しくはyourselfメッセージを受信したオブジェクト自身
- 778 :デフォルトの名無しさん:02/06/07 10:25
- >>777
を帰す事が期待されるメソッド。
- 779 :デフォルトの名無しさん:02/06/07 10:39
- >>778
が提供するメッセージ名
- 780 :デフォルトの名無しさん:02/06/07 10:46
- >>779
つーか、単項メッセージセレクタ。
- 781 :デフォルトの名無しさん:02/06/07 12:17
- >>775
Object>>yourselfの定義をみれ
- 782 :博之馬〜鹿死ね:02/06/07 12:26
- / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
/\ /\ < ×クズ粕 博之×← 死んで人の為になりなさい お前にとって人生初めてのな 環境保護の意味でも死ね ! 博之よ。
\_/ \ ∧_∧ // \_________
/◯)// \(´∀` )//
/=// (⌒ ○= )//
/⌒// VV /__ ノノ⌒
(( // ) ⊆/〓〓( ○ )
\\_/ \_/
東京都北区 赤羽北2-31-16-1311 西村博之 ←これが社会の害虫 "糞ひろゆき"
- 783 :デフォルトの名無しさん:02/06/08 00:37
- >>776-781
Thanks.
メソッドだったのね(藁)
- 784 :デフォルトの名無しさん:02/06/08 00:43
- FileListとかって、みんなMorphicみたいだけど Morph のサブクラスじゃないですよね。
どういう仕組みで実装してるのかな? 教えて!
- 785 :デフォルトの名無しさん:02/06/08 02:19
- >784
見れ
FileList class >> opneAsMorph
ついでに『MVC』の『M』と『V』と『C』ってなんのことか調べれ
- 786 :デフォルトの名無しさん:02/06/08 14:30
- >785
納得。美しい。Thanks.
- 787 :デフォルトの名無しさん:02/06/14 01:14
- world のメニューから、'send contents to printer' としても、プリンタから出るのは白紙ばかりなの(泣き)。
'save contens to file..'では、HTMLフォーマットで出力されるんだけど。
どうしたらいいの?? 教えて!!
- 788 :デフォルトの名無しさん:02/06/14 01:17
- >787 worldじゃなくて、browserでmethodを表示してる時です。
- 789 :デフォルトの名無しさん:02/06/15 00:36
- >>787, 789
環境。バージョン。
- 790 :デフォルトの名無しさん:02/06/22 12:18
- Stack追加記念age
ttp://hw001.gate01.com/~thoru/squeak/funsqueak.html
- 791 :デフォルトの名無しさん:02/06/23 16:48
- >790 すごい!!
Morphic方面は芸達者がそろってきたな。
本でも出せば売れそう。
- 792 :デフォルトの名無しさん:02/06/23 23:04
- アラン・ケイの番組放映したりすると、しばらくはMLやこの掲示板とかが活発に
なるけど、すぐ収まっちゃうよね。
やっぱ長続きする人がすくないのかな?
- 793 :名無しさん@Emacs:02/06/23 23:08
- 異論もあるだろうけど、もうちっとましな GUI にならんかね。
- 794 :デフォルトの名無しさん:02/06/23 23:27
- >>793
Zurgleとかどう。3.2gamma-4881からはテーマも使えるし。
http://minnow.cc.gatech.edu/squeak/2469
- 795 :デフォルトの名無しさん:02/06/25 00:30
- >793
長続きする方がおかしいよ。
全部英語だし。
正式には日本語を使えないし。
英語に強い人がシコシコやるっきゃないよ。
- 796 :デフォルトの名無しさん:02/06/26 02:00
- SMLの管理人が変わったみたいだけど、
近藤さん(だっけ)って、どんなキャリアの人かな。
えらい若い人みたいな記憶があるけど(@いいかげん)。
- 797 :become::02/06/28 03:29
- >796 近藤さん
Googleで検索したら一番最初に出てきたYo。
ttp://www.sra.co.jp/public/sra/personnel/people/question/wakate/00_04.html
顔写真つき(・∀・)だ。ちょっとかわイイ。かモナー?ちょっとな。ちょっとだぞ。
- 798 :sage:02/06/28 16:29
- smalltalkモナー
略して
SMモナ
- 799 :デフォルトの名無しさん:02/06/28 21:24
- VisualWorks5i.4 ports化記念age
- 800 :デフォルトの名無しさん:02/06/28 21:25
- 800!
- 801 :デフォルトの名無しさん:02/06/29 00:25
- 801!
- 802 :デフォルトの名無しさん:02/06/29 02:15
- てかvwnc7は出んのかおらぁ
- 803 :デフォルトの名無しさん:02/06/29 02:45
- >>802
The Cincom Smalltalk Summer 2002 release will be available this month. We will be releasing ObjectStudioR 6.7 and VisualWorksR 7.0.
ttp://www.cincom.com/scripts/smalltalk.dll//Community/Digest/June/index.ssp?content=summer
- 804 :デフォルトの名無しさん:02/06/29 10:51
- >>803
Thanks!
ttp://groups.google.com/groups?dq=&hl=en&lr=&ie=UTF-8&group=comp.lang.smalltalk.advocacy&safe=off&selm=fb7a6d0f.0206261802.139a9ed%40posting.google.com
- 805 :sage:02/07/06 02:27
- Strongtalk ?
www.cs.ucsb.edu/projects/strongtalk
- 806 :デフォルトの名無しさん:02/07/14 14:29
- ageBlock value
- 807 :デフォルトの名無しさん:02/07/14 18:12
- .
232 KB
■ このスレッドは過去ログ倉庫に格納されています
★スマホ版★
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver 05.04.02 2018/11/22 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)