ΨΨΨ Smalltalk/ Squeak 教えろゴルァ ΨΨΨ
1 :
◆oRQMZiP6 :
2001/08/22(水) 10:33 質問スレだゴルァ
Squearkって何ですか?
これはこれ。
4 :
デフォルトの名無しさん :2001/08/22(水) 11:07
まず正しい名前から覚えて下さい。
5 :
デフォルトの名無しさん :2001/08/22(水) 11:08
6 :
デフォルトの名無しさん :2001/08/22(水) 11:08
Squeakとは「おっととどっこい、ハム太郎」の鳴き声のことです。
三三三三三三 ミ _ 三三三三三三 三三三三三三 〔|ミ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…
言語/処理系のスレだからたててもいいじゃん。
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
13 :
デフォルトの名無しさん :2001/08/22(水) 16:03
>>10 トゥル−タイプフォントを使えたらだいぶいいんですけどね。
>>11 あのUIってWIn3.1時代のままですよね。操作性だったらSqueakのほうがまだいいような。
14 :
デフォルトの名無しさん :2001/08/22(水) 16:04
>>10 マウスの真ん中ボタン(なければAlt or Ctrl+クリック)で丸いメニューアイコンがいくつか出るからそのうちの×を押せばいいです。
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
Smalltalkの無料かつ、日本語の開発環境ってないですか?
文字入力キャレットの色を赤に変える Preferences insertionPointColor: (Color red). 色を自分で選びたかったら、 Preferences chooseInsertionPointColor.
SqueakもVisualWorksも、ちょこっと手を入れれば 日本語が扱えるようになるけど、ダウソしたまんまで 日本語が使えるものってあったかな〜?
23 :
22 :2001/08/23(木) 00:59
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'.
でどうですか。
調べながら書いてるから間違っていたら訂正して下さい>識者
3ボタンエミュレーションにした場合、 もともと右クリックででていたメニューを出すには? 赤いメニュみたいなアイコンだと違うメニューが出るし…
もうひとつ。 ピックアップで取り出したオブジェを 元に戻すにはウィンドウを 開きなおすしかありませんか。
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 繋がるよ。
ドキュンなページが出てきた。
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で実行できなかったら嫌だなと思って。
その本は超おすすめ。 ウィンドウやグラフィック関係はそのままでは動かないけど、 もっと根本的な部分でためになること多し。
>>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 あまりにも小さくてマジビクーリ
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と同じ場所にいれてみたけど無理だったヨ...
www.cincom.com/downloads/gz/CSTNCFeb2001.iso.gz
>>63 rpmはLinux版
>>63 vwnc31all.zipを落とすべし。
>>64 のに入ってるのは5i.3なので、要注意。
67 :
デフォルトの名無しさん :01/08/26 11:56
これって、visualnc.exe を起動するときに visualnc.im をドラッグして起動しないといけないの? 実行時引数でイメージファイル名を渡すの面倒なんだけど… みんなバッチファイル作ってるのかな。
.im を visualnc.exe に関連付けすれば イメージファイルのダブルクリックでオッケー。
>>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 ホイールを転がさずにぐっと押し込むと、
中ボタンクリックになります。
>>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
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 ..."
だそうです。
>>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
86 :
Del :01/08/29 08:35 ID:NbMZgfhU
プログラミング怪の裏原宿なのに このスレなんでこんなに盛り上がらないんだ? Smalltalk がマイナーなのか…
87 :
デフォルトの名無しさん :01/08/29 10:27 ID:Ero40vXE
88 :
デフォルトの名無しさん :01/08/29 10:31 ID:Ero40vXE
89 :
デフォルトの名無しさん :01/08/29 12:41 ID:C/RyLmG.
>Smalltalk がマイナーなのか…
日本では、ね。
>アラン
少し前まではSqueakCentralがDisney内の組織だったから、Disney所属だったけれど、
SqueakCentralがDisneyを離れたからね。それ以降にsqueak-devに流れたメールの
From:は、
[email protected] になってる。Squeakから離れてはいない様子だが、
SqueakFoundationのメンバーには入ってない。詳しいことは大島さんにでも聞くしか
無いのでは。
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はサパーリ使えない人だが)
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
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
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のソースが書かれているところを想像して。
updateやってたらデバッガーに落ちてしまった。TextナントカのAddLastが無いとかで。 国際化imageではうまくないのかな。素のimageをupdateして、それから国際化かませばいいのだろうか? それともVM本体が古いからだめなの?(VMは3.0)
おいらもまだ見れてないのだけど。
それって、あの上下左右矢印の付いたコンボボックスみたいなのでソースのワード群が囲まれてるって感じ??
>>112
115 :
デフォルトの名無しさん :01/09/01 19:18 ID:74THsOQE
単語をクリックすると、その場所に隠れていた コンボボックスがでてきたり、 エディットボックスがでてきたりする感じ。 Delphiでいうオブジェクトインスペクタの右側の列、 VBでいうプロパティエディタの右側の列が もっと強烈になったような…
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
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
131 :
デフォルトの名無しさん :01/09/04 21:47 ID:7PcHmx0U
>>128 いや、歴史的な事情の方が大きいと思うな。Smalltalkは重い処理系だったから、
速い計算機が必要だったわけ。だから、研究室あたりで触れなかったら、ずっと
出会わないままで終わってしまう。しかも、結構なお値段がしたわけで、日本の
大学の研究室ではなかなか予算がつかなかったでしょう。Smalltalkそのものの
研究以外には使い物にならなかっただろうしね。
で、一度ついた流れが止まらないまま、今日に至る、と。
今はPDAでもある程度動くようになったから、巻き返しに出る条件は整ったとは
思う。Squeak本の翻訳が出てからが勝負かな。
132 :
信奉者 :01/09/05 02:28 ID:lY7cXRwo
Squeak本、装丁とかも今後の売れ行きを左右する気がする。 パッと見で地味な本じゃ絶対売れない。 いんちき臭いくらい派手な目立つ装丁にして欲しい。
「できるSqueak」とか?
135 :
デフォルトの名無しさん :01/09/05 05:20 ID:Te2ijjgw
>>124 >X11font 文字字間隔が詰まりすぎるぞゴルァ
多国語化してないイメージでやったらうまくいった。
このへん直らないかな。
136 :
デフォルトの名無しさん :01/09/05 09:30 ID:hlqwZkXQ
Smalltalk って private とか public とかのアクセス制御がないっぽいけど、 すべてに対してすべてを公開するという思想?
>>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ではメソッド呼び出しの扱いがプログラマに任されている ということかな。
ざうちゅうのえらいひとと△鳩 for Squeakの作者は どちらもおおしまさんですがなにか関係ありますか?
>>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
147 :
デフォルトの名無しさん :01/09/06 20:54
148 :
デフォルトの名無しさん :01/09/07 17:00
VisualWorksで実行できてしまいました。 | ア整数 | ア整数 := 1. ^ア整数 + ア整数 ==> 2 「ア整数」より「ある一つの整数」としたほうがより明確ではないかと 一部で議論になったのですが、ここは簡潔さや従来の慣習に敬意を表し、 あえて外来語としてそのまま採り入れました。 ちなみにSymbolのクラス階層は Object() Collection() SequenceableCollection() ArrayedCollection() CharacterArray() String() Symbol() だそうです。(クラス名の後ろの括弧はなんじゃ?)
#スレ違い気味だけど、 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
154 :
デフォルトの名無しさん :01/09/16 08:47
よりによってなんでvi・・
156 :
デフォルトの名無しさん :01/09/16 21:11
キーバーインドの変更ならParagraphEditorをいじるよろし。
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嫌いじゃないなら、使ってみる宜し。
>>155 え?viは合理的で素晴らしいぞ?
なんせあんなに沢山のキーが「カーソルキー」に変身してくれるんだからな。
将棋のコマより遥かに多彩な移動パターンが醸し出せるのは自明だろう。
あとはそれに慣れれば、モードレスゆえにカーソル移動でいちいち
変なキーを押さないと/併用しないとならない他のエディタの
アーキテクチャの馬鹿さ加減が、ひしひしと理解できるというものであらふ。
キーボードの上で眠ったら「必ず」文章を破壊するエディタなんか、要らないって。
viなら入力モードに移行するキーを押さない限り(つまり確率)、大丈夫だ。
確かに、寝ぼけて :q! しちゃったことはないな。
163 :
デフォルトの名無しさん :01/09/18 01:44
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のような構成管理ツールを使った方が楽です。
でも事実上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って食ってけますか。 趣味程度にしといた方がいいですか。
>>174 会社らしい会社が無いだろ今は。
なので、分母が少な過ぎるんで、どっちも言えぬ。
ちょうどいい。キミが時代の最先端(つまり人柱)になってみないかね?ん?
176 :
デフォルトの名無しさん :01/09/29 18:41
(素人) SqueakとMySQLってドッキングできませんでしたっけ? データベースとセットでならビジネスになりません?
SRA は Smalltalk 関係で仕事とってるんだろうか。
>>177 去年の OO シンポジウムで青木さんの講演を聴いたよ。
まず、グラフィック環境「じゅん」の宣伝(Smalltalk 版と Java 版がある)。
それと政府関係の仕事をしてるという話だった。
(はったりも含めて)結構できる人のようです。
179 :
デフォルトの名無しさん :01/10/01 04:10
Smalltalkイディオムはなんかすごい
180 :
デフォルトの名無しさん :01/10/01 04:29
lispと違ってSmalltalkは結構仕事あるよ。 カッコとの差か(w
>>180 そういえばASCIIからLisp(しかもマック上のらしい)の本出てたな。
最近流行っているの?>Lisp
九大病院はどうなったー?
183 :
デフォルトの名無しさん :01/10/02 21:43
>>183 「九大病院!?」
そこでまたブチ切れですよ。
185 :
デフォルトの名無しさん :01/10/04 13:11
>>178 あのひと、元MACオタクの超人です
BSC>FXIS>SRA
(元後輩)
186 :
デフォルトの名無しさん :01/10/05 23:27
187 :
名無しさん :01/10/05 23:51
( ゚Д゚)アヒャヒャ
188 :
デフォルトの名無しさん :01/10/06 00:21
SqueakOSっていまどーなってんの?
self age
190 :
デフォルトの名無しさん :01/10/08 23:22
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
あれ?動きますか。 打ち間違いかな。
ダウンロードしたファイルをfileInしたらちゃんと動きました。 やっぱり打ち間違いでした。
195 :
デフォルトの名無しさん :01/10/11 22:52
>SqueakOS VMWareのゲストOSとして食べさせたら、VMWareが落ちました(T_T)
>>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見えないあげ
Squeak本っていつごろ出るの?
201 :
デフォルトの名無しさん :01/10/19 03:42
201
>>201 も、もしかして2月1日に出るという符丁ですか?
203 :
デフォルトの名無しさん :01/10/21 03:46
下記の条件にあった Smalltalk 環境はないでしょうか? 1. Unix 系の OS で動作する 2. Non Commercial 3. コマンドラインと親和性が高い 4. GUI も作成可能 2 までだと、Squeak でも良さそうですが、コマンドラインで操作でき、尚且つ GUI も作成できるという物は見つかりません。 どなたかご存知でしたらお教えください。
イメージ的には、トランスクリプト、ワークスペース、各種ブラウザが コマンドラインコンソールに統一された趣です。 emacs のようなインターフェースの Smalltalk 環境があると便利な人も いるんじゃないかな、と思ったんですけど、無いですかね?
そのままemacs使えよ
206 :
デフォルトの名無しさん :01/10/21 13:46
207 :
デフォルトの名無しさん :01/10/21 23:15
"Hello?" "shine shine shineshineshineshine shinjimae~"
>>204 トランスクリプトとワークスペースはコンソールに近いけど、各種
ブラウザってのはコンソールでどうやるんだろ? イメージわかない。
SqueakやVisualWorksにはヘッドレスというGUIなしのバッチモード
(httpサーバーとして起動する時などに使う)があるから、標準入力を
評価するプログラムを書いて起動するとかで、コマンドラインからの
操作もできそうな気はする。
あとコマンドラインとEmacs風インターフェースというのは微妙に違うと
思う‥‥‥。
ああ分かった。 cursesとかのキャラクタ端末ベースのインターフェースが欲しいってことね。 80x25のキャラクタ画面で4分割ペインとか表示されても狭くない?
「放送大学 教養学部 発達と教育専攻」 は、もしかして受講してるだけですか? どこかの研究室勤めかとばかり思ってた。
211 :
デフォルトの名無しさん :01/10/22 18:29
Solaris 上のSqueak で OpenGL プログラミングをしようとしています。 現在、FFI の X11 の例題がうまく動かず苦戦しています。 FFI の資料を探しています。 詳しい方、よろしくお願いします。 JunのSqueak版があるとうれしいのですが、ありますか? また、UNIX 上の Squeak で OpenGL を使っている人いますか? (Windows上のSqueakなら、動く例題がいくつかありました。) 何か分かったらお知らせします。
GNU Smalltalk のコンパイルに失敗した。ちょっと鬱。
Smalltalk/X もダメだった。
>>209 さん
そんな感じです。
214 :
デフォルトの名無しさん :01/10/23 18:03
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クラスのインスタンス)
. がキーワードメッセージ式の終りを示す終端記号
文字列は 'シングルクォート' でコメントが "ダブルクォート" です。
219 :
デフォルトの名無しさん :01/10/25 11:31
>>216 「show: 'HEEEEELP!!!'」がメッセージで、
「show:」がメッセージセレクタ(キーワードメッセージセレクタ)、
「'HEEEEELP!!!'」が引数なのはOK、
「.」はメッセージ式とメッセージ式の区切り文字だと思います(したがって、この例では不要)。
訂正ありがと。 '.' はターミネータ(Cの';')ではなくセパレータ(Pascalの';')でしたね。
221 :
デフォルトの名無しさん :01/10/25 19:35
Squeak ですが、 WorldMorph クラスってどこにあるんですか? PasteUpMorph と WorldMorph の関係を教えて下さい。
222 :
デフォルトの名無しさん :01/10/26 09:32
みんないいなあ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とかと比べて速くなりましたか?
お前らSmalltalk/Squeak教えてください。
>>224 モバイルギアで動かしているので、うっかりMorphicプロジェクトに
飛びこむと、遅くて死にそうになります。
画面が狭いのでメニューが下にはみ出して、選択できないし。
角度とか。
>角度とか。 これなあに?
アドレスが変わっている。 ブックマークで飛んでくるから、分からなかった。
231 :
デフォルトの名無しさん :01/10/26 23:14
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
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: '落ちないように'
>>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. では、なぜうまくいかないのでしょうか。
>>244 Transcript show: 'computer', (#(GU CHOKI PA) at: computer); cr.
にかえてみそ。
「;」じゃなくて「,」っつーことね。
246 :
デフォルトの名無しさん :01/10/30 15:39
なるほど。 カンマは文字列の連結か区切りなのですか? でもcr は改行 \n ですよね。 改行の直前は ; だし… あ cr は改行文字ではなく、改行命令ですか? それならば納得がいきます。 cr は show に対しての cr ではなく、 Transcript に対して cr しているという事ですか。
>>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)にメッセージを投げる。
プログラムが見にくくなるから俺は好きじゃないけど。
Squeakいじってると、代入記号は ':=' ではなく '←' (ASCIIの'_') のほうが見やすいと感じるようになってしまった。
250 :
デフォルトの名無しさん :01/10/30 19:20
>>249 僕は、Prolog(:- ばっかり出てくるやつ) を使っていたから、
:= の方が違和感がない。
251 :
デフォルトの名無しさん :01/10/30 23:47
>>240 PopUpMenu inform: aString
Object>>inform:も切ってあるので、レシーバは任意のオブジェクトでも可。
でも、これはやり過ぎかも。
>>246 ,はレシーバの集合と引数の集合を結合した「新しい」集合を返すメソッドのための二項メッセージセレクタ。
なんでもクラスにしてしまうヲレ。 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: は、ポップアップメニューのキャプションを 設定するプロパティではないのですか?
なるほど、 | 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
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に限らないけど。
要らない音が鳴るようになりました 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)
>>263 倉庫行きを食い止め アーンド 少しでも盛り上げるつもり だったり。
266 :
デフォルトの名無しさん :01/11/01 11:15
>>264 > [:each ||sound| .... ] value: result.
のくだり、自分が書いたら #WIN と #LOOSE の処理を最初から分けちゃう気が
するのですが、Smalltalkではこういう書き方が定跡なんでしょうか?
>>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:を避ける。
コードをよ〜く眺めたら、 > [:each ||sound| .... ] value: result. のブロック中の each を result に置き換えればブロックいらない じゃないですか。お〜い、書いた人〜。
>>269 これは後でメソッドにする時に便利だよ。
俺もたまにやる。
271 :
デフォルトの名無しさん :01/11/01 16:19
>>264 これって、クラスメソッドの定義ですよね。
これを利用するためには、
systembrowser を open
↓
カテゴリに My-Games を add item
↓
>>264 を上書き paste↓全て選択して accept ですよね。
何故か Janlen class>>play でエラーらしき
メッセージが表示されてしまうのですが。
>>270 なるほど…。
「そのうち分割するつもりだけど最初は一箇所にまとめとこう。」
みたいな見通しでこういうコードを書くわけですね。
勉強になるなあ。
273 :
デフォルトの名無しさん :01/11/01 16:46
>>271 ``Janken class>>play'' から``Janken class>>''を除いた、
``play'' 以下をコードペインに貼りつけて下さい。
``クラス名>>メソッド名'' は「どのクラスのどのメソッドか」を
表現するための記法で、コードを記述する時は使いません。
それから accept するとき全選択の必要はないです。
じゃんけんゲームで勝つことは特別な出来事です (藁
>>268 そっか、遅延させるだけで良しなんだ。 ありがとね。
まだ ブロックがフツーの括弧に見える時がある 264より。
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)
self halt
ほんとに一日スレッドが止まっちゃってたよ。(w そんなつもりじゃなかったのに〜。
278 :
デフォルトの名無しさん :01/11/03 00:24
squeak でグラフィック描画ってどうすればできますか。 line: from #(0,0); to #(100,100). みたいな感じですか。
279 :
デフォルトの名無しさん :01/11/03 01:50
電車とかでの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
286 :
デフォルトの名無しさん :01/11/03 23:52
>>284 Bob'sSuperSwikiあたりのプロジェクトリストを眺めれば
Squeakを使ったスライドがころがってるよね。
あんな感じ?
287 :
デフォルトの名無しさん :01/11/04 19:37
ウィンストンのSmalltalk買った。 一応Smalltaker(笑)。記念あげ。
>>287 あ、takerになっちゃった。talkerね。
289 :
デフォルトの名無しさん :01/11/05 01:35
お、お父さん…
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が出るので、
その中から目のアイコンを押して出すことができる。
あとは図と説明の通りにやってみてね。
>>281 情報ありがとうございます。
SigmarionとかJornadaって機能は魅力的なんですが、パームサイズの
PDAでSqueakが動くというところに惹かれるんですよね、、、。
それと、(予算の関係で)購入は年末ぐらいを予定しているので、
現在の候補としては、NECのPocketGearかiPAQ、もしくはザウルス
あたりを考えています。
#iPAQの3800シリーズ日本語版のリリース予定ってあるんでしょうか。
もうひとつ質問ですみません。
基本的にPocketPC 2002マシンであってもSqueakは動作すると考えていて
よろしいのでしょうか。
>>289 最初にAscii24の記事内の写真を見たとき、なんだか冴えない表情をして
いたように思ったので、アラン・ケイ本人が退屈していたのかなと
ちょっと心配だったのですが、プレゼンテーションも盛況だった様子で、
うれしく思います。
講演に実際に行かれた方、大変うらやましいです!
296 :
デフォルトの名無しさん :01/11/07 00:46
297 :
デフォルトの名無しさん :01/11/07 14:43
Webブラウザやメーラは日本語が使えるそうですが、 IRCクライアントは日本語化されてるんでしょうか?
298 :
デフォルトの名無しさん :01/11/07 21:38
299 :
デフォルトの名無しさん :01/11/07 22:13
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を使いたいのですが、 勉強になるページを知っていたら教えてください。 (ソースは入手いたしました。これからコンパイルしてみます)
>ダイナブックの名称の盗用で東京浜松町電気訴えてみては? あれは当時許可を取ったということだったはずだが? というか当時、よく「あんなもん」にケイが許可出したもんだ?っていうほうが 激しい驚きだったな。ノートpcというものの登場は確かに画期的だったが、 それをいきなりケイの理想の「ダイナブック」と関連付けるってのは あまりにも馬鹿というかネタというか。出来るわけでもないのに。 頼む某社も某社なら受けるケイも…。 時は流れて、今のPCなどなら力技でなんとでもなるだろうな。 だからこそSqueakが出てきてPDAでも動くなんていう状況を 「彼は」作ってくれたわけだろうな。 力を正しい方向に使えば本物のダイナブックも夢じゃないということで。
306 :
デフォルトの名無しさん :01/11/12 00:05
307 :
デフォルトの名無しさん :01/11/12 00:23
>>306 1 枚目の写真の方が気になる。肩に手が・・・。
GNU Smalltalk の Windows 版があるらしいんだけど、
どなたか知りませんか?
308 :
デフォルトの名無しさん :01/11/12 00:49
>>308 Morphicには馴染めないけど、Consoleには馴染める、
そんな人にはGNU Smalltalk.
310 :
デフォルトの名無しさん :01/11/12 03:14
>>306 の go.jpの方、
>ただ今サーバが混み合っています。しばらくしてから接続して下さい。
としか出んzo!
311 :
デフォルトの名無しさん :01/11/12 22:52
312 :
デフォルトの名無しさん :01/11/13 10:50
313 :
デフォルトの名無しさん :01/11/14 00:37
314 :
デフォルトの名無しさん :01/11/15 00:51
315 :
デフォルトの名無しさん :01/11/15 01:21
squeakを勉強し始めるのにお勧めの書籍はなんですか?
Squeak触ってみた。テキストを選択して do it が衝撃的だった。 やばい、カッコイイじゃないか。
319 :
デフォルトの名無しさん :01/11/16 12:34
頭狂アンダーグラウンド(爆)ゴルァ 頭狂アンダーグラウンド(爆)ゴルァ 頭狂アンダーグラウンド(爆)ゴルァ
320 :
デフォルトの名無しさん :01/11/17 03:44
Jun for SmalltalkをSqueakに移植するって話あんまり聞かない気がするけど (おれだけ?)取り組んでいる人っているのかな。 青木さんがあんまりSqueakを(少なくともSmalltalk入門用としては)すすめて ないみたいだから、ある意味タブーなんだろうか。 すごーく興味あるんだけど。
おれ、こそーりとrendering contextを実装してたりする。 named user primitive定義したりして。 Baloon3D使ってもできることだから、 まだ公開しようか悩んでるけど。 興味あったら思いあたる人にメイルしてみそ。 (一部の人には正体がバレるかな、こりゃ)
322 :
デフォルトの名無しさん :01/11/17 07:53
Ruby >>>>>>>>>>>> smalltalk
>>321 いいですねー。
でもおれ、まだまだSmalltalk歴浅いし、知合いとか思い当たる人いなんですよね、、、。
VisualWorksでJunのソース眺めながら勉強してたんですけど、
Squeakがすごーく楽しいから、不意にそう思っただけなんです。
でも、青木さんが折にふれて言っていることも正しいと思うし、
しばらくはVW環境で勉強を続けることにします。
といいつつ、
Squeakに移植したぜーとかいう人で公開してもいいと言う人、是非
アナウンスきぼんw)。
324 :
デフォルトの名無しさん :01/11/17 09:09
>>322 反応するという意味ではないが、こういうのや、他すれでの下らん言語論争を見てたりすると、Smalltallerって唯我独尊って感じでいいなぁとかおもふよ。達観してるつーか。
(ちなみに漏れはSmalltalkerになりたいJava厨)
Squeakにもともとある3D系のライブラリって、筍とどのくらい被るんですか。 立方体が回ってるデモなんか、ウィンドウの周りにダイヤルがあったりして、 見た目は非常に影響を受けてるなーという気がするんですが。
326 :
デフォルトの名無しさん :01/11/17 12:13
>>325 あのホイール(っていうのかな)は筍がオリジナルってんでもないんじゃない?
おれはSGIのInventorとかいうフレームワークライブラリで初めて見た
ような気がしてるんだけど。違ってたらスマソ。
327 :
デフォルトの名無しさん :01/11/17 12:57
328 :
デフォルトの名無しさん :01/11/17 19:53
<独り言> SmallTalk + Lisp みたいなワケのわからないキモイ言語を 作成中です。いじょ。 </独り言>
329 :
デフォルトの名無しさん :01/11/17 20:17
その言語に命名してやるよ。 Smalltalkに対抗して「ひとりごと」。これどうよ?
じゃあ、そのコードを書く事は「ひとりごつ」か。
>>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 君、古文苦手だったでしょ?
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 。 グラフィック周りのバグかな。それともハードの所為なのか。 他のソフトではこんなにならないのに。
>>338 そういってもらえて、なにか吹っ切れた気分だ。
341 :
デフォルトの名無しさん :01/11/20 01:41
>>339 >うちのノートパソコンで Squeak 使おうとすると、キーンという甲高い音が
>して困ってるんだけど、
いや、そりゃSqueakっていうぐらいだから・・・ってもしかしてネタ?
>>341 いや、ノートによってはそういうことがある。
CPU負荷が高くなると何故か甲高い音が聞こえてくる。
>>339 そういうときは2・3回ノートを叩くとなおる。
いつもそれでなおしてるので、実証ずみ。
そうそう。 わたしたちが電気製品をこしらえると同時に 発見し、育んできた、愛情の裏返しの Bug fix 技術ですね。(w
345 :
デフォルトの名無しさん :01/11/20 11:20
346 :
デフォルトの名無しさん :01/11/20 15:54
Balloon3D の日本語の解説サイトお教え下さい。 ソース読んでも、ちんぷんかんぷんです。 検索しても英語のサイトしか見つかりません。 英語読めない私は、ダメですか?
347 :
デフォルトの名無しさん :01/11/20 22:55
348 :
デフォルトの名無しさん :01/11/21 09:52
>>347 もうすこし、つっこんだ解説サイトがあるとうれしいです。
適当な検索語などありましたらお教えください。
BlockContext>>whileTrue:aBlockの実装が ^ [self value] whileTrue: [aBlock value] になってるけど、どうしてこれでうまくいくのか分からない
>>350 コンパイラがインライン展開していて
実際にはそのメソッドが実行されるわけじゃないから。
って、BlockContext>>whileTrue:のコメントにも書いてあるけど。
| 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 '
メッセージのカスケード ";" ってコンパイルしてみるとスタックを 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
やっぱ、わかんないや>whileTrue: 普通はインライン展開されるとはいえ、そういうことしなくても動くわけでしょ? …なんか、根本的に勘違いしてそうだ、漏れ
357 :
デフォルトの名無しさん :01/11/23 14:08
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:
[email protected] @0;
vertex: 1@0@0.
].
rend flush.
よろしくお願いします。
361 :
デフォルトの名無しさん :01/11/25 16:58
age
>>358 TrueやFalseの中のifTrue:ifFalse:も通常、インライン展開されるけど
インライン展開されなくても動くでしょ?
で、whileTrue:もインライン展開されなかったとしたら
あのコードでどう動くのかがよく分からないんですよ
で、どう理解すればいいのかなぁと思ってね…
あと、
>見かけは再帰してるけど、実際には再帰してないから
とありますが、見かけと実際が乖離している理由がわかりません
っていうか、そもそも、インライン展開も分かってないですけどね、僕は
本当なら、コンパイラもライブラリにあるので読んでみるのが筋なんでしょうけど
僕には、ちょっとわからないんですよね
>>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]
って感じにしても動くけど、毎回メッセージ送信が発生して、遅くなっちゃうでしょ。
SmallTalk の開発環境がただで…。 いい時代だ。 関係ないが、 オブジェクト指向プログラミングって、 SmallTalkプログラミングっていった方が理解しやすいと思うが、 どうですか?
>>364 その質問の前にSmalltalkをSmallTalkと誤記するのをやめよう。
>>365 ドキュメントとかにも、SmallTalk って書いちゃってるよ。
やばいよ。でも、もう、時効ですよね。
こんなこと知らなくても、プログラミングできるってところがすごいと思った。
367 :
デフォルトの名無しさん :01/11/26 19:52
368 :
デフォルトの名無しさん :01/11/26 20:04
>>366 しかし、知らないとまずいこともあります。例えば次の式は通りません。
SmallTalk at: #Object
369 :
デフォルトの名無しさん :01/11/26 20:20
>>367 は英語が読めている。よって、嫉妬する。
>>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
中身ってどこいっちゃったんだろ…
>>370 そのinspectorの中でhome method symbolicをinspectすべし。
startpc: 26なら、26からがそのBlockContextのバイトコードね。
ちなみにVisualWorksではBlockClosureが自分のバイトコードをちゃんと持ってる。 こういう造りはやっぱSqueakよりVisualWorksのほうがしっかりしてるね。
>>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週間ちょいしか触ってない超初心者な者で…⊂⌒~⊃。Д。)⊃
>>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でできるか、できないかだけおしえて下さい。
>>374 なるほど、できました
他に、オブジェクトをいろんな角度で調べるための
お勧めの基本的なメッセージってどんなのがありますか?
>>376 instVarAt:とか、デバッガとかの環境を作るんでない限り
お行儀のいい人はあんまり使うもんじゃないよ。
あとisKindOf:とかrespondsTo:とかも同様かな。
instVarAt:に比べれば、しょうがなく使う場合が比較的多いけどね。
この手のオブジェクトの化けの皮を剥ぐメッセージは多用しないほうがいいよ。
俺的にSmalltalkの学習で一番鮮烈だったのは、
OrderedCollectionがサイズを増やすためにbecome:してるのを見たときだったな。
Squeakでは違う実装になってるけど。
なんか、簡単なプロジェクトの実際のコード(イメージ)を見てみたい
>>378 Bob's super swikiで適当なプロジェクトを探してみたら?
下にある橙色のタブのFIND...を押してみそ。
380 :
名無しさん@XEmacs :01/11/30 20:40
>>378 プロジェクトのコード? イメージ?
SystemBrowserを立ち上げると、コードはイヤというほど詰まってます。
システムのコードとアプリケーションのコードが分かれていないっちゅうか、
一緒くたに入っているので。
>>380 知ってるからこそ、微妙な聞き方になったんだよね
知りたいのは「簡単な」コードはどんなのがあるか?ってことだけど、
そもそも環境と開発コードが一緒なので、「(イメージ)」みたいな言い方になっちゃって…
380さんもかなり微妙な表現になってるしw
より正確には、もとのライブラリ(と呼んで良いのかどうか…)はいじられていなくて、
付け足されたコードは理解が容易なもの
…っていうか、なんか都合の良いこと言ってるなぁ
自分で何か作ってみるのが一番早いかもね
>>379 また、しらない機能だ…
ちなみに、「下にある橙色のタブのFIND...を押して」みるまで、
約1時間かかった(よく分からなくてw)
382 :
デフォルトの名無しさん :01/12/02 13:31
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のプロジェクトを開いてもエラーに
なってしまうのですが、これも何が悪いのか良く分かりません。
教えてばかりで悪いけど、参考になるページとかありましたら、
教えてください、ゴルァ
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を単体で動かしていろいろ遊んでみることにします。
SqueakってMacOS Xで動くのでしゅか? アラン・ケイはPowerbookでいろいろデモってた様ですが・・・???
399 :
デフォルトの名無しさん :01/12/16 08:19
>>398 動くっす。squeak.orgを参照。
>>399 for Cocoa まであるじゃん!
for Classic or for Carbon or for Cocoa まじどれがええねん???
401 :
デフォルトの名無しさん :01/12/16 13:48
402 :
ななしさん :01/12/16 16:07
>>402 VMのベンチマークと体感速度は随分違うっす。
403 :
デフォルトの名無しさん :01/12/16 18:49
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の関係ははじめて知ったよ。方言っていうには、津軽弁とフランス語くらい違う気もするけど、ま、いいや。 最近のアラン・ケイ、テッド・ネルソンが重なって見えてくるのはワシだけ、だろうな。
>>414 分かるところだけレス。
Alto については、PARC に Jobs 自らが見学に行って、Alto を見て PARC の人材
を引き抜いて来て Macintosh が生まれた。
同じ頃にゲイツも PARC に見学に行ったらしいけど、ゲイツがそれについて語って
いる記録を読んだこと無いので、あまり感銘を受けなかったのかも。
Simura については Smalltalk は Simura 系列になっているのは知っているけど、
PARC の Lisp 系( MIT 出身?)の人材が Smalltalk の実装に深く関わったらしい
のでそっちを影響を強く見る人のほうが多いみたい。ブロックとクロージャ等。
LOGO は実装レベルでの話。インタープリタが Scheme の影響が濃ゆいみたい。
文法も結構似ていると思ってるんだけど、どっちも初心者なので何とも言えない。
長文連続カキコスマソ。
>>415 何か変なハンドルになってるけど忘れて下さい。
>>414 テッド・ネルソンと言えば Xanadu プロジェクトは今どうなってるんだろう?
アラン・ケイも最近は伝道師というよりは殉教者みたいで悲しいです。
ビル・アトキンソンが Alto の影響で、っていうのは聞いたことがありませんでしたが
ありそうな話。その後のハイパーカードに活かされたとか。
アトキンソンも復活して欲しいな。
ここら辺の話はダグラス・エンゲルバードとか興味深い人が沢山いて凄い面白いですよね。
>>415 ふむふむ、なるほど。
まぁ、言いかたと見かたによるってことね。
そう、Lispがどうなってるかはしらないけど、Smalltalkのブロックは、
定義されてるメソッド(っていう言い方も賛否あるけど)の環境を受け継ぐのに、
ブロック自身のバイトコードは、それを定義してるメソッドのバイトコードに
埋め込まれてるのが「!」だったなぁ。
Lispはどーなの?
>>416 Xanaduは、慶応大学で似たようなプロジェクトがあって、そのために客員教授
として招かれたってうわさ聞いたけど、よくわからないです。
いまだに宣教中なんでしょう。
419 :
デフォルトの名無しさん :01/12/20 02:49
>>410 パイレーツ・イン・シリコンバレー
という映画ミレ。 アラン・ケイは出てこんが、コンピュータの歴史の
勉強(の一助)にはなるよ。結構ドラマチックで面白かったし。
420 :
デフォルトの名無しさん :01/12/20 02:56
>>419 うん、それ、漏れも面白かったと思います。
でも、一緒に見た奥さんが、それ以来Steve Jobs嫌いになって
しまいました。いつかMac買おうと思ってたけど障害発生。はは。
>>415 Windows1.0のネタになった的な話は読んだ記憶があるけど...後付けかな(笑)>ゲイツの訪問
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
>>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
431 :
デフォルトの名無しさん :01/12/28 07:15
Sueak面白そうなんですけど、日本のコミュニティの雰囲気ってど うなんですか? 神がかった教祖様に偉そうな態度で洗脳されてし まうことはないですか? 万物はオブジェクトである、とか曼荼羅なんとかとか・・・。 そーゆーのは苦手です。
432 :
デフォルトの名無しさん :01/12/28 11:14
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とかありますけど、
日本でそれ目的で使ってる人っていますか?
441 :
デフォルトの名無しさん :01/12/31 19:48
16進数16rFFのrって、どういう意味ですか?
radix
なるほど。。。
444 :
デフォルトの名無しさん :02/01/04 04:39
三が日過ぎたage
445 :
デフォルトの名無しさん :02/01/04 15:12
僕は、数値計算は sqkcakit を使っています。 みなさんは何を使っていますか?
reduce
447 :
デフォルトの名無しさん :02/01/04 16:27
ループの中でcのようにcontinueとかbreakとかできますか?
448 :
デフォルトの名無しさん :02/01/04 16:44
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
青木 淳って、superASCII創刊のころSmaltalkの連載してたひと??
91年6月号から1年間「Smalltalkソフトウェア開発」っていうのを連載してたね。
459 :
デフォルトの名無しさん :02/01/09 00:08
460 :
デフォルトの名無しさん :02/01/09 00:11
461 :
デフォルトの名無しさん :02/01/09 00:15
イメージのシュリンクって何ですか?
ぷれ〜り〜ちゃ〜ん どっぐちゃ〜ん
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
466 :
デフォルトの名無しさん :02/01/09 11:11
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
471 :
デフォルトの名無しさん :02/01/13 00:14
self display
473 :
デフォルトの名無しさん :02/01/18 11:39
self displayOn: programmingTech at: 1
474 :
ドキュンユーザー :02/01/20 17:17
青木導師の「Smalltalkイディオム」買いましたが、やっぱこれ、逝ちゃって ませんか? さまざまな文献からの綺羅星のごとき引用も、変化自在な例え話も、「ために する」感じがして読み手のこと考えているのかなと。 例えば城砦都市の話とかでセキュリティの話をしているかとおもうと、それが Smalltalkのオブジェクト間の通信の自由さと比較されたり。 それってぜんぜん別の話じゃあ・・・? 引用も多すぎて、なんか引用が多すぎる文章をからかった、パロディみたいだ と思いました。本気ならコワイ。 でも内容は高度で、Smalltalk関連情報に飢えている心の隙間を埋めてくれる 良書であるとは思います。 結論:自意識過剰
>>474 直接しゃべると楽しそうだよね>青木氏
Smalltalkerとしてもすごいんだけど、それ以上に雑学博士だ
476 :
デフォルトの名無しさん :02/01/23 19:57
self class threadSunkException handle: [ :ex | self age ] do: [ self ROM ]
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
↑間違えちゃった・・・。
>>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しかしソケットインスタンスって一度できたらきえないんでそうか…まだまだ未熟(-_-;べんきょしよ
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ではそうはなってないの?
self get: 500
> 通常はweak referenceを使ってGCされる時に自動的に開放させるよね。 > Visual WorksのPixmapもそうなってるし、 それは、普通にOSの資源を掴んでいたら、開放されないから、 ライブラリ側でそう実装しているんでしょ。言語仕様上では 開放されないで正しい。Squeakのライブラリがどう実装して いるか知らないから、ちょっと書いておいたんだけれど。 > しかも参照がないから開放することすらできない。 Behavior>>allInstancesがあるでしょ。ObjectMemoryも触れるし。 Smalltalkの環境内にuntouchableな場所は無いじゃんか。
>>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 は比較的簡単だと聞きますが、如何でしょうか。 もし難しいとしたらどこら辺がそうなのか是非教えて下さい。
497さんと499さんのGC議論は非常に興味深い。 続けてくださいマシ。
>>503 Smalltalkって、大抵の実装はインタプリタなんだけど…
コマンドラインベースな実装の事を言いたいんだという仮定で話すと、
コマンドラインなもの(GNU Smalltalkとか)を作るのは別に難しくないと思う。
ただ、それじゃあSmalltalkのよさが活きてこないということでしょう。
506 :
デフォルトの名無しさん :02/02/01 10:02
507 :
デフォルトの名無しさん :02/02/02 00:46
GUIがらみの実装から、Browserをつくるまでがめんどくせぇからパスってことなんじゃあないの
>>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の頃よりきつい。
>>509 あのブラウザって必須なんですかね。
無ければ無いで何とかなりそうなのに。
要はメソッドやらクラスやらを検索する別の仕組みがあれば
良いんですよね。
514 :
デフォルトの名無しさん :02/02/02 02:06
>>508 つーか、VMにバイトコードインタプリタが入ってるんですが。インタプリタであること、即ちインタラクティブじゃないです。
その意味で「インタプリタ言語」という呼び方は曖昧。
515 :
デフォルトの名無しさん :02/02/02 02:26
517 :
デフォルトの名無しさん :02/02/02 08:17
>>516 本来的には特別メモリ喰いってことはないけど
Smalltalkの開発環境のよさはGUIに負う所が多くて
GUIを持ち込むとやっぱどうしても…
「じゅん」ってどうなのよ? 使ったことある人。 すれ違いすかね?
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
>>522 、524
青木導師に睨まれるってこと?
もしかして、日本Linux界の生越みたいな存在?
526 :
デフォルトの名無しさん :02/02/05 23:55
>>525 いや、そうじゃなくて、移植の必要性が薄いのよ。
ただでさえ、人的資源の足りてないSmalltalk界で、
動機づけが薄いとなったら、立ち上がりすらしない
のは自明かと。
タイトル見て ayu スレかと思った…
528 :
デフォルトの名無しさん :02/02/06 23:22
+とか-がメッセージになってないのが、妥協していると思います。 だから純粋なオブジェクト指向言語ではないのです。 3 plus: 4とか3 +: 4にすればよいのれす。 アラン・ケイに電話しておきます。 よってあげ。
529 :
デフォルトの名無しさん :02/02/06 23:30
>>528 「+」は2項メッセージセレクタで、「+ 4」はメッセージ、「3 + 4」はメッセージ式ですが。
>>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 じゃダメ?
>>535 まあ、primitiveAddはいいんだけどさ、Smalltalkとしても読めるから。
結構、まんまCじゃん、ってプリミティブもあるけど(藁
ところで、以前Squeakでユーザ・プリミティブ書いたとき、
start to: end by: step do: [ :i | ... ]
みたいなSmalltalkのコードから
for (i = start; i <= end; i++) {...}
とか出力されちゃって、stepが負の時死んだ事があるよ。
ま、たしかに仕方ないことだとは思うのだが。
この件があってから、
「SqueakはプリミティブもSmalltalkなんだぜ!」
と強くいえなくなっちゃったよ。よわっちーな、俺。
>>538 イイ!
なんでもと早く教えてくれなかったの。
>>538 ついでにスマソ。
accept に対応するショートカットキーってあります?
っていうか、そういう一覧てどこかを見ればわかるのでしょうか、、、。
>>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
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はここのところ急激に洗練されてきていると思うけど。
どうよ。
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
>>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...で指定などなど。
>>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)ってすごく楽しいです!
これからもよろしくおながいします。
>>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をインスペクトして
カーソルの座標がリアルタイムに変わるのを見て
にあにあしています。
アドバイスありがとうございます。 「下手でもいいから書いてみる」、これ基本ですよねやっぱり。 元ネタからはズレますが。 ”受験生症候群”とかいうって聞いたことありますけど、 仕事でプログラミングしているときも、 「どこかに綺麗な正解があるんじゃないか」 「もっとうまい書き方(パターン)があるんじゃないか」 とばかり考えてなかなかコーディングが始まらない、という罠に はまっている自分に気が付くことが多くて。 残念ながら仕事じゃSmalltalkなんて使わないですけど、こういった 袋小路に風穴をあけてくれるダイナミックな雰囲気を期待して Smalltalkをいぢりはじめたんです。 でも、ほんと、まだまだなんだなぁ。頑張ります。
>>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! ベタなネタだなあ。ここは英語板じゃないからウケないんでは。 (それともつづり間違ってるというところがネタなのかな。)
multiplying like Squeak.
>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
すみません。質問です。 「pcx」という拡張子がついた画像ファイルがフォトショップなどで 開かないのですが、開け方を知っているかたいらっしゃいますか? 調べたところでは「zsoft」というところが開発したファイルらしいのですが...。
(´−`).。oO(誤爆でとまってるし・・・)
入れて出すだけのものをなんで3つに分けやがるんだ!? さっさとなくなれ > MVC
>>577 入れる、出す、もの…ちゃんと3つあるじゃん。
>>577 冷蔵庫にキリンを入れるには、ドアを開けて象を出す人が必要です。
580 :
デフォルトの名無しさん :02/02/23 11:15
'Squeak' asUpperThread
581 :
デフォルトの名無しさん :02/02/24 00:25
スレ盛り上げようじゃないか。 「自分で調べろよ!」 非難覚悟で、超面倒くさがりの俺が問う。 CとBasic,CとPascalの文法対比表ってのは良く見かけるんだけど、 CとSmalltalk って見たことない。 …オシエテクダサイ
比較じゃなくて、両言語の解説になるから、見たこと無いのはしょうがないよ。
583 :
デフォルトの名無しさん :02/02/24 02:06
584 :
デフォルトの名無しさん :02/02/24 02:08
クラスブラウザで、とりあえず良く見とけ!みたいな重要なカテゴリってどれですか? KernelとCollectionsは必須?
586 :
デフォルトの名無しさん :02/02/25 10:26
>>585 こういう読み方をするとはまる。
アプリ側からsendersとimplementorsで攻める。
システムクラスはウィンストンやサクサクで。
下回りはどの処理系もほぼ同じ。
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なんかより速いような気が
するけれど。
そのぶんあっちゃこっちゃで動く
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でどうやってメソッドの引数の型を指定するか 考えてみよ〜!
ん〜、考えてみましたが引数の型に応じてメソッドを切り替えるには action: anObject (anObject class = Food) ifTrue: [self eat: anObject]. (anObject class = Drink) ifTrue: [self drink: anObject]. の様にやれば良いのかな? しかし、Foodから派生した全てのクラス(例えばApple、Banana)に対してもeat:を呼ぶには、どうしたら良いんだろう??
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 とか、どう?
あ、methodsAt:ifAbsent:を定義するの忘れてた。 とりあえずクラス変数MultiMethodDictionaryを定義してやって、 クラスメソッド methodsAt: selector ifAbsent: errorBlock ^ MultiMethodDictionary isNil ifTrue: [errorBlock value] ifFalse: [MultiMethoddictionary at: selector ifAbsent: errorBlock] とかで、どう?
頑張ってみましたが、正直よく分かりませんでした。 smalltalkいじり始めて1週間、クラス変数を使った事も無し、 Dictionaryもまだ、block closureもまだよく分かってないです。 type discriminationって言葉も初めて訊きました。 わからん事づくしです。低レベルでスマソ。 Dictionary(IDとデータを組みにしたものの集合?)ってのを使ってswitch文のような処理をしてるんだろうか? もっと勉強してから出直してきます。
>>594 素朴な疑問ですが、メソッドのoverloadってどんなときに使うのでしょうか?
C++やJavaでプログラムを組んだこと無いのでよく分かりません。
逆にoverloadなしだと困るケースというのでもいいです。
無いと困るって事もないですが、 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 の実装もこれ。
>>602 ダブルディスパッチは切り替え対象になる型が増えると
組み合わせが爆発的に増えちゃうよね。
メッセージ名を変えるのも美しくない。
そもそも、
5つの引数の型に応じて切り替えたい時とか、
どうするよ?
>>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 | ...]), ...}
って具合。これが各クラスにあると思っといて。
>>602 そうですね。Integerクラスをブラウザで眺めてて、そのほうがすっきりするなと思いました。ダブルディスパッチって用語が既についてるんですね。
actionに対応してないオブジェクトを引数にした時に例外処理をしたい場合は、ObjectクラスにdoActionを追加して、そこに例外処理を書いてしまって良いんでしょうか? Objectクラスをいじるってのに何か抵抗を感じますが。
>>604 ふむふむ、ご丁寧な解説ありがとうございます。
こういうブロック式自体をデータとして扱えるって何か新鮮です。
SmalltalkがLISPから影響を受けているって話を聞いた事がありますが、
この辺がそうなのかなぁ。
このスレって盛り上がりはイマイチですが、
私のような低レベルな質問にも丁寧に答えていただけるし、荒れることもないし、
なんかイイですね。
>>605 > actionに対応してないオブジェクトを引数にした時に
handle:do:で例外処理するか、あるいはあらかじめrespondsTo:でチェックしておく。
> SmalltalkがLISPから影響を受けているって話を聞いた事がありますが、
> この辺がそうなのかなぁ。
うん。BlockClosureはLISP系言語から持ってきた概念の代表例だね。
あとはリフレクションとかメタプログラミング関係もLISP系から。
もうじきこれに継続(call/cc)も加わるよ。
BlockClosureが「これから実行する処理」を表わすのに対して
call/ccは「過去、これから実行しようとしていた処理」を表わす。
おもしろいよ。
607 :
デフォルトの名無しさん :02/03/15 10:20
>>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
610 :
デフォルトの名無しさん :02/03/17 14:41
>>609 >>465 のページで書かれている "Continuation" は、
「これから実行する処理」を BlockClosure で渡すという
コーディングスタイル。
call/cc で扱う「過去、これから実行しようとしていた処理」とは別物。
>>610 ついでにいうと、call/ccが実装されつつあるのがSqueak。
最近ちゃんと追っかけてないんだけど、もう正式リリースVMに入ったのかな?
>>611 もしかして Squeak の BlockContext も BlockClosure に進化するんですか?
‥‥‥それとも、もうしてる?
♯最新は追っかけてないからなー。
613 :
デフォルトの名無しさん :02/03/17 23:15
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の評価を再開します。 これらの芸当はクロージャでは無理です。
>>614 詳しい解説有難うございます。
継続ってマルチタスクに似てますね。
もちろん意味的には全然違いますが、継続という機能とマルチタスクを
実現する機能を実現する実装がという意味です。
>>618 その通りです。
実際、関数型言語SMLではマルチプロセスは継続(call/cc)を使って実装されています。
簡単に言うと、SmalltalkでいうProcessor yieldはスケジューラに継続を登録してから
制御をスケジューラに戻します。
そしてスケジューラは継続を1つ取り出して、その継続を評価します。
Visual Works NC版でも日本語使えるんだ。知らんかった。 www5.plala.or.jp/tsakworks/smalltalkFrame/dst.html
620 :
デフォルトの名無しさん :02/03/22 00:10
621 :
デフォルトの名無しさん :02/03/22 00:40
622 :
デフォルトの名無しさん :02/03/22 17:51
JpLocaleは5i.4だと、CharacterEncoder>>encoderNamed:を おかしくしてしまうんだよね。入れた後にちょっといじれば 大丈夫なんだけれど。 そろそろ出て来るとかいう7だと、どうなのかねえ。
623 :
デフォルトの名無しさん :02/03/22 20:25
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周年も初代スレで迎えられそう。 盛り上がれよゴルァ(゚Д゚)
>625 ネタ出せや
UMEJAVA さんのサイトにこのスレへのリンク発見。 あの人、色々知ってて凄いですよね。 全然関係ないけど、JVM 上で動く Smalltalk 環境って無かったっけ? 前に見たような気がするんだけど、今探したら見つからなかった。
628 :
デフォルトの名無しさん :02/03/28 10:28
629 :
名無しさん@Emacs :02/03/28 19:09
手元にSmalltalkイディオムって本があるのですが、 これで教わるにはやっぱりVisualWorksの方がいいんでしょうか?
630 :
デフォルトの名無しさん :02/03/28 19:21
>>630 どうもです。
ありがたく参考にさせていただきます。
(なるべく事後報告しマース。)
一番一般的な環境を構築するためには VWNC30-a.ZIP VWNC30-b.ZIP VWNC30-c.ZIP VWNC30-d.ZIP をダウンロードすればよいみたい。
ちなみに、それぞれ、 「解答するときにファイル名と同じ名前のフォルダを作らない」 設定で解凍すると、vwnc30というフォルダが出来ます。 同じフォルダになるように解凍ソフトを設定したり、 エクスプローラでコピってあげてください。
634 :
デフォルトの名無しさん :02/03/28 23:30
635 :
名無しさん@Workspace :02/03/29 01:24
>634 あなたそれどうやって見つけてきたのよ...
636 :
デフォルトの名無しさん :02/03/29 23:52
637 :
名無しさん@Workspace :02/03/30 01:04
ちょっとさ。マッタリしたいナ。
639 :
デフォルトの名無しさん :02/04/04 22:19
お父さん、土曜8時はテレビの前に座っちゃうぞー
640 :
デフォルトの名無しさん :02/04/06 02:09
641 :
デフォルトの名無しさん :02/04/06 19:04
BSでアラン・ケイが子供たちにスクィークを教えてる
643 :
デフォルトの名無しさん :02/04/06 20:42
アラン・ケイ、堪能しました。
644 :
デフォルトの名無しさん :02/04/06 20:43
しまった! 番組見忘れたあ。 ・・・再放送見よっと。 こんどは青木氏の偉そうなソフトウェア文化論放映してください。 >NHK
645 :
デフォルトの名無しさん :02/04/06 20:44
すごく楽しそう...
すげ−よかった。SquaekっていいながらeToysばっかだったけど。
日本でも子どもにもっと普及して欲しいね。
SCEあたりでSqueakマシンでも作らないかな−。
最初の方見逃したから、再放送もみようかな。
>>639 その書き方で、見逃したひともたくさんいると思われ ;-)
647 :
デフォルトの名無しさん :02/04/06 23:22
今日教育テレビで見て初めて知った やってみよう
すんません。
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
です。あうー。
くそ、squeakland.comでダウンロードしようとしたら、 ブラウザのUser-Agent見てOS判断してやんの ほかのOS用のがダウンロードできないぞ、くそ ほんと、オブジェクト指向馬鹿だな
650 :
デフォルトの名無しさん :02/04/07 10:20
>>649 飛ばされた先に他OS用ダウンロードページへのリンクがあるけど?
651 :
デフォルトの名無しさん :02/04/07 11:32
>>648 たぶんfileInしてないんじゃないかな?
ファイルダイアログ見たなウィンドウからfileInしてる?
>>651 あーーーーー、そうなのかもしれないです!
あれって、表示されただけなのか。ハズカシイ・・・
もいっかいやってみますです。
>>651 すびばせん。その通りでした。
ファイルダイアログみたいなところから、fileIn選んだらできました。
ありがとうございました。
654 :
デフォルトの名無しさん :02/04/12 00:24
画面上のオブジェクトをいじってスクリプトが組めるようになってたけど、 かなり昔のマックにもあったよね、こんなの。あほらし。 こんなので教育されたら、たまらんな。 むしろ教育用なら、基本となるロジックをオブジェクトとして用意して おくべきだし、階層やアクセス制限といった概念もあっていいはず。 こどもたちにVB厨の轍を踏ませるつもりか。 なんかアラン・ケイは実は何も進歩的でないような気がしてきたぞ。
656 :
デフォルトの名無しさん :02/04/12 04:55
>>654 わーい。情報どうもです。
研究室のみんなに布教したいと思います。
>>656 無知っつーか、
>>655 を教育するためには何が必要なのか、アランケイに聞いてみたい (藁
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
Smalltalkの応用としてはおもしろくても、教育用としてはどんなもんかな と思っただけ プログラミング(コーディング)の教育としては出来がいいと思えないし (あらかじめそういう方面の思考ができる子供を対象としているのはあきらか) それ以外の教育目的には使えないし
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
668 :
デフォルトの名無しさん :02/04/13 00:14
>>662 >(あらかじめそういう方面の思考ができる子供を対象としているのはあきらか)
>それ以外の教育目的には使えないし
どんな子供やねん。
だいたい、そんな子供にプログラミングの教育が必要だと思えない。
へんなこと言う人だなー。
670 :
デフォルトの名無しさん :02/04/13 00:23
>>665 > あの教材、教え方でどんどん自分で考え、プログラムを作れるのは
> よっぽど頭が良くて創造的な、ごくごく一部の上澄み生徒だけだと
> 思う。
その考えは「正解を導かなければならない」というドグマに汚染されてはいないか?
あと、教育には
1. 教師が子供を導くという方法と、
2. 子供が自分で何を学ぶかを模索するという方法と、
3. 教師と子供が互いに教え学びあうという方法
があるが、squeakは1だけでなく2や3にも有効な教材であることにも注意。
> 本国でもあんな番組やるほど認められている人なの? 今の時点で。
計算機環境を個人の手に移した人物として非常に高い評価を受けています。
現在の個人向け計算機環境の構築に貢献した人を3人挙げろと問えば
多くの研究者がアランケイをそのうちの1人に挙げるでしょう。
671 :
デフォルトの名無しさん :02/04/13 00:27
>>665 子供の知識の吸収力や思考の柔軟性を甘く見すぎです。
子供の頃に創造力や想像力を置いてきてしまったようですね。
もしくは自分自身の教育する力が不足しているのでは無いでしょうか?
>2. 子供が自分で何を学ぶかを模索するという方法と、 >3. 教師と子供が互いに教え学びあうという方法 >があるが、squeakは1だけでなく2や3にも有効な教材であることにも注意。 うんうん、この辺りにですね、なんか理想主義でちょっと胡散臭い 感じがするわけですよ。 特に3なんて実に稀な幸福な出会いというか、ほんとにそんなことあるの? という感じさえする。 ああいう番組みて学校へのコンピュータの導入はすばらしい、とか勘違い するやつがいるなら、現実の小・中に導入された「パソコン教室」というの が如何に不毛な時間を子供に強制しているのか知ってほしい。 結局楽器や画材の劣化した代用品でしかないんだよな。本物の感動は得られ ない。で、SqueakやLOGOみたいなものは絶対上手くいかない。上手くいくのは テレビスペシャルでケイみたいな理想の教師が来たときだけ。 もう論旨あれまくりだなあ(笑)。酔っ払ってるんでスマソ。
>現在の個人向け計算機環境の構築に貢献した人を3人挙げろと問えば >多くの研究者がアランケイをそのうちの1人に挙げるでしょう。 これはそうだろうね。俺もその恩恵を受けている。 でも、あのNHKの番組が取り上げるような位置をアメリカでもしめてるの? もう「シリコンバレー物語」みたいなお話にでてくる白黒写真のような過 去の人ではない? 現実にSqueakを授業に取り入れる意味などあるのかな?
674 :
デフォルトの名無しさん :02/04/13 00:35
Squeakとは関係ないネタでゴメソ
>>670 >1. 教師が子供を導くという方法と、
>2. 子供が自分で何を学ぶかを模索するという方法と、
>3. 教師と子供が互いに教え学びあうという方法
良い教育は、この3つの方法をミックスしているのではないでしょうか?
2の方法で学習を始め、3のように学習を発展させている様に見せかける。
そして一定の方向に導いてあげれる先生が良い先生。
まあ、ここまで出来る先生は、そうそう居ないでしょうがね。
>そして一定の方向に導いてあげれる先生が良い先生。 これは賛否両論ありそうだな。
>>672 >>673 >>655 貴方が言いたいことが良くわかりません。
「現実、現状は常に良くないということ」は当たり前のことじゃないですか?
それを修正していくことがプロとして求めれていることじゃないですか。
>>2 . 子供が自分で何を学ぶかを模索するという方法と、
>>3 . 教師と子供が互いに教え学びあうという方法
>>があるが、squeakは1だけでなく2や3にも有効な教材であることにも注意。
>うんうん、この辺りにですね、なんか理想主義でちょっと胡散臭い
>感じがするわけですよ。
理想に走りすぎているという点は判りますが
現実問題として不可能なことではないですよね?
先生によってはね。(←馬鹿。この点が665さんが非難していることじゃないか)
今、そういう環境で教わってる子供の中から、将来、いい先生が出てくるんだよ。 結論は、20年後に。
>>675 >>665 >>そして一定の方向に導いてあげれる先生が良い先生。
>これは賛否両論ありそうだな。
自分の思想を感染させると言う点では教育と洗脳は似ている。
679 :
デフォルトの名無しさん :02/04/13 01:11
age
今まで、極小数の先生が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
がちょ〜ん 谷啓
じっ けんっ くんっ 清水(以下略)
688 :
デフォルトの名無しさん :02/04/15 01:05
689 :
デフォルトの名無しさん :02/04/16 07:42
誰かケイ氏に日本人のための日本語版Squeakの開発を提案して下さい。
690 :
デフォルトの名無しさん :02/04/16 10:48
>>673 Viewpoints Research Instituteを見たら今でも彼が支持されてるのが
わかるでしょう。
>>681 いいこと言った! ほんものの楽しいプログラミングってのはこれだよ。
最近 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
>>697 ありがと。ダウンロードした。確かにデスクトップに「ComSwiki.2」
と言うファイルが有る。さて、これをどうしたものか???クリックしても
なんともならないようだ。ダブルクリックしてもダメみたい。不思議な物体だ。
逝ってきます。sage
699 :
デフォルトの名無しさん :02/04/17 23:02
>698 squeak.imageをVM(Win系ならSqueak.exe)にドロップするんだよ したら、Swikiの説明書きが出てるからよ そいつ読め
700 :
デフォルトの名無しさん :02/04/17 23:19
701 :
デフォルトの名無しさん :02/04/18 01:39
702 :
デフォルトの名無しさん :02/04/18 01:43
704 :
デフォルトの名無しさん :02/04/19 22:18
age
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
>>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? しばらく様子見です。
あらら…
やっぱ、だめぽ…
718 :
デフォルトの名無しさん :02/05/05 12:37
ですから、プログラマになれる人は、プログラムを読むことができ る人の中のほんのひとにぎりの人たちなんですね。誰でもプログラ ムが作れるとか、サルでもできるプログラミングとか、奇妙なこと が世の中で言われていますが、どうか戯言に惑わされないようにお 願いしたいと思います。
720 :
デフォルトの名無しさん :02/05/05 19:22
>>719 そんなこと言っていいのかな?○木さんにいってやろ!
話は変わるけれど、VisualWorksで、xorとかandとかの、特殊な 描画をするには、RasterOp使うしかないの?GraphicsContextに 直描き出来ないのがかなり嫌なんだけれど。
723 :
デフォルトの名無しさん :02/05/07 10:16
Smalltalk インタープリタの作成を解説している Web サイトはありませんか?
724 :
デフォルトの名無しさん :02/05/07 12:20
725 :
デフォルトの名無しさん :02/05/07 21:07
>ですから、プログラマになれる人は、プログラムを読むことができ >る人の中のほんのひとにぎりの人たちなんですね。 そういうのが対象なら俺は興味ないな。 自分の息のかかったまな弟子たちがいっぱい増えるといいね。 なんか家元制みたいでヤなんだよな。
>>725 そういったイヤーなところは生温い目で見つめることにして、興味のあるところだけ見ればいいさ。
GCCやemacsはRichard M. Stallmanが嫌いな人も使ってるよん。
727 :
デフォルトの名無しさん :02/05/08 10:02
>>725 Smalltalkを子供でも使えるものひしようとしているアランケイのことを
批判しているのかなと思われ.
>727 視点が違うのでは? 批判も賞賛もしていないと思われ
729 :
デフォルトの名無しさん :02/05/08 15:22
いや、いい線だと思う。
731 :
デフォルトの名無しさん :02/05/08 21:16
>730 コレクションにするならかまわないが、実用的かというと、そうではないと思うぞ 特にオレンジブックのほう ベテランな方々、もっと役立つ、復刊したら嬉しい本はないですか?
>>731 昔ASCIIから出ていた本持ってる。
高校生の時に小遣いで買った記憶が(苦笑)
>732 してその価値はどーなのよ
>>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/
>>733 積極的に探す意味は無いかと。
なんせオブジェクト指向って言葉が殆ど知られていない時代の本なので、概念の解説に拡張Pascal使ったり、
GUI志向のプログラミング(マウスの使い方など)を解説するといったレベルのものに紙面のかなりを割いている。
736 :
デフォルトの名無しさん :02/05/11 14:08
>Smalltalkを子供でも使えるものひしようとしているアランケイのことを >批判しているのかなと思われ. アラン・ケイのスタンスに完全に同意するわけじゃないけど、これは かなり当たっている気がする。 上の書き込みの引用部分からも分かるように彼はプログラミングの楽 しさを広く知って貰いたいというより、選ばれた人だけができる、秘 儀のようなものにしたいという指向が強いのでは? そもそも「弟子」呼ばわりするとこが、もうどうにも、イヤーな感じ。 良く冗談ですぐ「師匠」とか呼ぶ奴いるけど、そういう冗談とも違っ てかなり本気でしょ? >視点が違うのでは? >批判も賞賛もしていないと思われ そんなことはないでしょう。
737 :
デフォルトの名無しさん :02/05/11 15:00
>>736 選ばれた人だけができる秘儀のようなものにしたいのなら、
なぜTextbookのようなものを公開するんだと思う?
青木氏とアラン・ケイのスタンスの違いは、「銀の弾丸」でいうところの
ソフトウェア開発の「本質的困難(essential difficulty)」と「過失的困難(accidental difficulty)」について
アラン・ケイが過失的困難を小さくしようとしているのに対して
青木氏は本質的困難を多くの人が理解することで克服しようとしているのでは?
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のパーセル読むときに警告がでるんだけど
それかな.
>738 探し方がまずいんじゃない
741 :
デフォルトの名無しさん :02/05/11 22:40
>>740 なるほど、探し方に問題があるわけじゃないんですね。
「探しかたまずいんじゃない!」
explainとreplaceってもとからあるな… (鬱
Amazon見たけど今流通してないSmalltalk本はどれも古いね これなら洋書買ったほうがよさそうだね
>739 VisualWorks5i4で試して見たところ warpspaceで特に問題なくemphasisメニューがでてきてテキストに色つけできた. 3.1用のはバージョンが古いのか,warpspaceの形も少し違ってた. 3.1では無理なのかな. まださわり始めたばかりで全然わからないんで,勉強して出直してくる. "5i4は雰囲気がちがったので3.1で我慢します."
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 に関して質問があれば強く歓迎します。
この「スレ」に投稿するか、私 <
[email protected] > にメールを下さいまし。
>>745 こんな所に、突然何を……。
……ひょっとして、偽者?
>745 2ちゃんねる内でSmalltalkers' Salon Mailing Listの広報活動に適当な場所があるかどうか よくわからないでいたのですが、案ずるより来てみるほうが早かったようです。 そのものずばりのSmalltalk/Squeak用スレがあって、しかも結構濃い話がバンバン出てますね。 件のSMLも、ご紹介申し上げるまでもなく頻出のようで、もしかしてオヨビじゃなかったのかも。 それにしても、知人がいそうで怖いっちゃ〜。
>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-----
>ですから、プログラマになれる人は、プログラムを読むことができ >る人の中のほんのひとにぎりの人たちなんですね。誰でもプログラ >ムが作れるとか、サルでもできるプログラミングとか、奇妙なこと >が世の中で言われていますが、どうか戯言に惑わされないようにお >願いしたいと思います。 そのとおりだよ。プログラマになれるのはほんの一握りの上澄みだけ なんだ。本当のプログラマは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のようなプログラミング能力のあるバッチ処理 -
の追求はあまりなされなかった。
754 :
デフォルトの名無しさん :02/05/19 14:48
日本語版(但電子遊具限定)登場記念 age
>>750 そりゃそうだ。SmallTalkなんて言語はないからなあ。
(正しくはSmalltalk)
757 :
デフォルトの名無しさん :02/05/19 18:00
>>756 そして読み終わったらオレにくれ。
探してるが見つからん、て言うか有っても法外な値段だったり。
神田明倫館で定価の半値位で買えたけど。 結構在庫もあるんじゃないかな、古い本だし
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
770 :
デフォルトの名無しさん :02/05/25 22:35
そう良かったね。 がいしゅつだけど。
>>747 (亀レスだ、ごめんなさい)
そうでしたか。MLの管理、お疲れ様です。
>>750 それ、この時代に見るとギャグさながらだね。
772 :
デフォルトの名無しさん :02/05/27 16:27
773 :
デフォルトの名無しさん :02/06/02 02:11
「Server容量が一杯です」などとケチなこと言ってないで はやくVWNC7アップしてくれんかのう
775 :
デフォルトの名無しさん :02/06/07 01:44
yourself ってな〜に?
ブロックを受信したオブジェクト自身
>>776 正しくはyourselfメッセージを受信したオブジェクト自身
780 :
デフォルトの名無しさん :02/06/07 10:46
781 :
デフォルトの名無しさん :02/06/07 12:17
>>775 Object>>yourselfの定義をみれ
/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ /\ /\ < ×クズ粕 博之×← 死んで人の為になりなさい お前にとって人生初めてのな 環境保護の意味でも死ね ! 博之よ。 \_/ \ ∧_∧ // \_________ /◯)// \(´∀` )// /=// (⌒ ○= )// /⌒// VV /__ ノノ⌒ (( // ) ⊆/〓〓( ○ ) \\_/ \_/ 東京都北区 赤羽北2-31-16-1311 西村博之 ←これが社会の害虫 "糞ひろゆき"
783 :
デフォルトの名無しさん :02/06/08 00:37
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を表示してる時です。
790 :
デフォルトの名無しさん :02/06/22 12:18
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
795 :
デフォルトの名無しさん :02/06/25 00:30
>793 長続きする方がおかしいよ。 全部英語だし。 正式には日本語を使えないし。 英語に強い人がシコシコやるっきゃないよ。
796 :
デフォルトの名無しさん :02/06/26 02:00
SMLの管理人が変わったみたいだけど、 近藤さん(だっけ)って、どんなキャリアの人かな。 えらい若い人みたいな記憶があるけど(@いいかげん)。
797 :
become: :02/06/28 03:29
smalltalkモナー 略して SMモナ
799 :
デフォルトの名無しさん :02/06/28 21:24
VisualWorks5i.4 ports化記念age
800!
801!
てかvwnc7は出んのかおらぁ
Strongtalk ? www.cs.ucsb.edu/projects/strongtalk
806 :
デフォルトの名無しさん :02/07/14 14:29
ageBlock value
.
808 :
デフォルトの名無しさん :02/07/17 13:13
809 :
デフォルトの名無しさん :02/07/17 21:17
810 :
いつでもどこでも名無しさん :02/07/20 10:07
Squeakよりも、アスキーのツクールシリーズの方が子供に良いクセー。
811 :
デフォルトの名無しさん :02/07/25 04:06
来月、再来月のSoftwareDesignにSqueak入門なる記事が掲載される予定らしいね
812 :
デフォルトの名無しさん :02/07/25 06:52
駄目駄目Rubysaikou 1!!!!
突然ですが、Squeakって、日本語訳すると「厨、厨」ですか
たまにはage
816 :
デフォルトの名無しさん :02/08/15 04:35
Smalltalkerって日本語訳すると「雑談野郎」ですが何か?
818 :
零亭ピーコ、パーコ :02/08/15 20:35
Smalltalker=落語家ケテーイ
819 :
デフォルトの名無しさん :02/08/15 22:24
>>818 なぜか小野寛顕センセ思い出しちまったーよ
820 :
デフォルトの名無しさん :02/08/15 22:27
◎晰 ×顕
821 :
デフォルトの名無しさん :02/08/16 02:40
>816 >817 野郎かよっ!Politically Incorrectじゃん。女はどうすんだ?
822 :
デフォルトの名無しさん :02/08/16 02:48
ゴメン、プログラムやてるクレバじゃない女は、 俺の中では「野郎」の一種なんだ…
823 :
デフォルトの名無しさん :02/08/17 03:41
Morph,もうだめぽ.っつ〜か,ちゃんと,まともに書いてくれよ>di, tk, sw, raa, etc
824 :
デフォルトの名無しさん :02/08/17 14:18
>817 多分日本人にしかわからない感覚のような気がします。 small talkという名詞(句)にsuffixのerをつけたのだから、英語圏の人はこれと 落語あるいは噺(story telling)を結び付けて考えられないんじゃないでしょう。 というわけで Politically incorrectです。 >821 P.C.についてツッコむなら、>814の時点で既にツッコむ余地が存在します。 厨房は中坊(中学生坊主)からderiveされたので男性を指す気がします。 (実のところ私は厨房という単語の女性形を知りません。) って、2chって、まじレスするときって断らないと失礼にあたるんでしょうか? 面倒なので、実はこのレスは冗談ネタということにしておきます(←この言明は このレス全般すなわちこの行自身までを含んだ言明である)。
>797 ちょっとかわイイ。かモナー?ちょっとな。ちょっとだぞ。 ちょっとかよ! あの写真は「ちょっと」映りが悪いと思うな。「ちょっと」な :-)
827 :
デフォルトの名無しさん :02/08/19 23:28
828 :
デフォルトの名無しさん :02/08/21 02:40
smalltalk=「小言」というのを以前bitの悪魔の辞典で読んだ気が。 C=「恣意」 fortran=「歩、王取らん」 cobol=「こぼ(れ)る」 他は忘れた。
実行速度が速いSmalltalkを実装するための技法をいろいろ教えて下さい。
831 :
デフォルトの名無しさん :02/08/28 01:20
>830 普通に組んでから、MessageTallyとかMessageSpyを使ってプロファイルとるのがよいと。 あとはアルゴリズム再検討するなり、カプセル化崩すなりしてくれと。
832 :
become: :02/08/28 05:14
>831 たぶんSmalltalk codeの話じゃなくて、Smalltalk VMの実装の話なんじゃない? といいつつ、まず遅いところを同定して、それからそこを速くするという点はまったく831のいう通りだな。 830はSmalltalkのどこが遅いと思ってるのかな? 俺はnumber crunchingとりわけ整数演算が遅いと思ってる。 でもここをいまより早くしようとしたら、多分言語仕様をいじりたくなってSmalltalkじゃない言語になっちゃうもんな。
833 :
isMeta :02/08/28 06:06
>>832 で、遅いところを同定するためには、
どんなテストデータ(この場合Smalltalkプログラム)を使うか、
ちゃんと適切に選定しないとね。
整数演算が遅いのはその通りなんだけど、
それが
>>830 が適用したいドメインでどれぐらい占有しているか
その辺が問題だね。
>830 例えばSqueakならVMのソース吐き出して176(加算)あたりのcaseブロック見てみれ, あとはSPJ読むなりして好きにしてくれ.をれはVWNCのスピードで満足.
835 :
デフォルトの名無しさん :02/09/03 15:38
むずかしいはなしをしてるときにすみません。 VisualWorksで動くテキストエディタってありますか? まずはSmalltalkで改造できるエディタとして 仕事に使っていこうとおもったのですが、 こういう使い方っておかしいのでしょうか?
836 :
私自身も編集機能よく知らないんですが :02/09/04 02:51
専用のエディターはあまり見ないけど、コントロールキーにいろんな機能を割り当てるという話は聞きます。 こうすればEmacsのような雰囲気になるYo!なんていう説明もどこかで見た気がします。 VisualWorksだと、どのクラスを見ればコントロールキーの一覧が出るんでしたっけ?
>836 ParagraphEditorってVIsualWorksにあったっけ? >835 それって,lispをsmalltalkと置き換えたEmacsみたいなの? 聞いたことないな〜.面白いかもしんないけど,実用性はあんまし期待できなさそう.でも,作ってて楽しければベストだよね. とりあえず,WorkSpaceとCodePane自信と,それがrefしてるクラス群の中を歩き回って見れば. できたら教えてね.
838 :
デフォルトの名無しさん :02/09/04 15:54
レスどうもです。
>>837 さんのおっしゃるSmalltalk版Emacsみたいなものが
欲しかったのですが、ないっすか・・・
勉強のためにも、少しずつ作ってみようと思います。
ありがとうございました。
>836 Emacsのような雰囲気になるYo! これは、単にCtrl-Aで行頭に行くとか、Ctrl-Pで前の行にいくとか、Ctrl-Sで文字列検索のdialogが出るとか、 そういうキー割り当てだけのセコイ話だったんです。 プログラミング言語と環境を提供するとかいう、そーいうスゴイ(でもSmalltalk使いにはそれが普通か)話じゃないです。
841 :
デフォルトの名無しさん :02/09/05 04:48
>>839 Workspace自体が簡易エディタだからね。
がんがれ!
>841 あ,そういやVisualWorks, Squeak, GNU-Smalltalkならlisp動くやん.それをEmacs-lisp相当にまで拡張するってぇのは? Smalltalkとlisp両方身についてウマ〜ってならんかな.
844 :
名無しさん@Emacs :02/09/08 06:00
GNU Smalltalk をインストールしたら普通にコマンドライン編集や TAB 補完が出来て驚きました。さすが FSF 謹製。 EUC がそのまま通るのも良いです。 Smalltalk は詳しくないので、まずはチュートリアルを読んで色々 といじっとります。 ファーストインプレッションは、SQL で DBMS を操作しているみた いだなという感じ。 ちょっと疑問なんですけど、Smalltalk printNl ! しても何も表示 されないのはなんででしょう? チュートリアルによると飽きる程ずらずら辞書の中味が表示される はずなんですが。 st> Smalltalk printNl ! Execution begins... Smalltalk returned value is nil 1343 byte codes executed which took 0.001 seconds, giving 1343000 bytecodes/sec 81 primitives, percent 6.03 self returns 21, inst var returns 0, literal returns 3 43 method cache lookups since last cleanup, percent 3.20 17 method cache hits, 26 misses, 39.53 percent hits
845 :
デフォルトの名無しさん :02/09/08 07:22
846 :
デフォルトの名無しさん :02/09/08 11:46
>>844 奇遇ですね、丁度同じ疑問を持っていました。
どなたか解説きぼんぬ。
847 :
デフォルトの名無しさん :02/09/14 18:32
(´-`).oO(なんで VisualWorks って2つずつバージョンが上がるんだろう…)
>>848 1.0, 2.0, 2.5は? (小数点2桁以下は省略)
850 :
デフォルトの名無しさん :02/09/19 23:23
Smalltalk76→78→80 の間をいつか埋めたいから。
どうでもいいけどVWNCのCDKEY入らないの送るのはどうかと小一時間(鬱
イメージファイルをSqueakに読みこませたときに、最初に実行される メソッドってなんなんでしょうか? もし調べる方法がありましたら教えてください
855 :
デフォルトの名無しさん :02/09/26 13:37
アラン来日age 14:30から講演
856 :
デフォルトの名無しさん :02/09/26 15:39
Etoyは見たことあるからなあ…
857 :
デフォルトの名無しさん :02/09/26 20:13
858 :
デフォルトの名無しさん :02/09/26 20:14
なんで
860 :
デフォルトの名無しさん :02/09/27 19:48
>>854 読みこむイメージファイルは、以前に保存したもの。
保存はその瞬間のスナップショット。
ということは、イメージを保存するメソッド中のファイルに書き出した直後からインタプリタが
回り始めると考えてみたら。
861 :
デフォルトの名無しさん :02/09/29 01:00
VWNC7.0落としたけど、Aqua L&Fがない... せっかくMacOSXVMが安定して動くのに!!
>> 862 ない。
864 :
デフォルトの名無しさん :02/09/29 14:20
>>861 GHMacOSXLookFeel.pclをロードしたら大丈夫だよ?
862,864,865 すみません、ありました。Goodiesをいれるの忘れていました。
867 :
デフォルトの名無しさん :02/10/01 20:58
User Interruptのコマンドは、Squeakなら Alt + ピリオド ですよね で、知りたいのは他の環境ならどんなコマンドを叩くのかということなのですね VisualWorksとか、Dolphinとか、Smalltalk/Xとかとかとかですね Squeak以外の環境をいじっていて、無限ループに入るたびに タスクマネージャから無理やり落として一からやりなおすのは堪えがたいものでして ご存知のかた、教えていただけませんか?
>>867 それって、PARC直系/傍系 smalltalkで共通でないの?
Smalltalk/Xのユーザ割り込みは、した事ないから忘れたけどぉー。
869 :
デフォルトの名無しさん :02/10/01 21:46
870 :
デフォルトの名無しさん :02/10/01 22:41
↑何で判りもしないでレス付けるのさー。 勘違いしてない?
このくらい自力で調べられないとSmalltalkでは生きていけない罠
copyのショートカットと衝突することを嫌った。弱気。
874 :
デフォルトの名無しさん :02/10/02 00:50
>>867 VWNC3 で勉強中の素人ですが、
Ctrl+y で User Interrupt 発生しましたよ。
>>871 どの辺で定義してるのかヒントくださいー
UIFeelPolicyにはなかったよー
InputState にあった・・・ スレ汚しスマソ
DolphinはCtrl+ScrollLockで効いたですよ
レジストすりゃいいじゃないの 何に困ってんのかよく分らん
>>878 あ、舌足らずでした。
レジスト画面で[submit]しても、
また同じ画面に戻る、の巻きです。
>>879 >
>>878 > あ、舌足らずでした。
> レジスト画面で[submit]しても、
> また同じ画面に戻る、の巻きです。
今、もう一度やったら、レジスト出来ました。
産休。
>>880 、、、でもダウンロードはできない。
ふぅ。
・JavaScriptをON ・パスワードに記号を含めない 俺はこの2つにハマったかな。
>879 レジスト画面で[submit]しても、 また同じ画面に戻る レジストしたら、いったんそこまでのWeb上での作業は忘れてください。 レジストのページから継続してSmalltalkをGetする形にはなっていないんです。 レジストが完了すれば、登録したアドレスにメールが送られてくると思います。 それにCincom SmalltalkをGetするための本当のページのURLが記載されているはずです。
>>883 フムフム。なるほど、なるほど。
で、
Thank you for requesting Cincom Smalltalk Non-Commercial. Please visit this page:
というメールが到着しました。
↓
そこに記載されているアドレスにアクセス。
↓
(ダウンロードページが表示される)
Use these links to download the product(s)
↓
リンクをクリックしてダウンロードしようとすると、
パスワードの入力を求められる。
ので、メールアドレスに記載されているパスワードでアクセス。
↓
パスワードが違うらしい。。。。
885 :
デフォルトの名無しさん :02/10/08 13:19
メールに記載されているのはCD KEYですよ。
パスワードは登録の際に
>>884 さんが
ご自身で入力されたものを使えば、ログイン可能なはずです。
>>877 「Smalltalk始めよう」ってだけなら,VWNC3(.1)で十分なんじゃないの? 軽いし早いし,ダウンロードも手間要らず.
>>886 Smalltalk始めようでVW3.1動かしたいとおもったらOSXじゃ動かない罠(死。
Classic入れる余裕はないしOSXじゃないと不味いとVW7しか選択肢がないという。
>>887 うげげげ.そ〜ゆ〜オチがあったとわ…… ペケだと3.0使えんのか.これは痛いぞ.ポリタンク新調するのやめよかな……
>>888 Classicが動く環境なら問題はなし。OSX純粋環境だとVWNC7で、いくしか。
でもOpenGLサポートないんでJunはまともには動かず(鬱
↑あ、あくまでもウチの環境ではです>OpenGLサポートない(要するにソフトレンダリングになっちゃうんでOSXではOpenGLないのと同じ)。 ポリタンクとか持ってる人はじゃんじゃか遊んでやってください(ノートじゃビデオカードすげ替えるわけにもいかん)。
SD age
でもまぁ,もうなんでもエエわ.もうMacに拘る必要もないわ.最近買ったVaio C1にJunとSqueak入れて遊んでますわ. しかし,モバイル・マシンでMorph/Junが遊べるなんて,エエ時代になったのぉ〜.
Objective-C サイコー
894 :
デフォルトの名無しさん :02/10/28 15:03
ヲレのG-FORTでSqueak動いた記念age
お、お父さん…
896 :
デフォルトの名無しさん :02/10/31 22:57
897 :
デフォルトの名無しさん :02/11/02 03:01
Squeakいいね。こんな速いとは思わなかった。
WikiWorksが動かしたくて 今日やっとこさに3から7に移行しますた! 使ってる人いますか? やっぱ皆SWiki?
900 :
デフォルトの名無しさん :02/11/07 07:51
このスレまだ生きてるの?
902 :
デフォルトの名無しさん :02/11/07 14:29
Self on Linuxって使ってる方います? サンプル画面だとIDEらしきものがあるようですが、 どうやって起動するんですか? # ./Self だと、インタプリタのプロンプトが出てくるだけなんですが。
>>899 レスありがdです。日記も読んでみますた。
JpLocaleも含めて色々問題あるみたいっすね…
今はWikiWorksの前に俺コードを移植しとります。
Namespace対応ついでに
Controllerをevent-drivenにしたりとか
とりあえずSmalltalkマンセー!
>>902 ./Self -f Demo.snap
905 :
デフォルトの名無しさん :02/11/08 15:55
OOPSLAに来ています。camp.smalltalkの人たちは毎日々々朝から晩まで会場の一角に陣取ってコーディングしています。怖くて輪に入れません。
906 :
デフォルトの名無しさん :02/11/08 16:39
もっと実況してー。
>>904 サンクス。
しかし-fじゃなくて-sだった。
908 :
デフォルトの名無しさん :02/11/09 10:03
>>906 英語ですが。
http://www.smalltalkconsulting.com/html/OOPSLA2002d1.html ビル・ゲイツの招待講演にもSmalltalkということばが出てきました(たぶんSmallScriptのこと)。
デモではXPのペアパートなにAiboをつかうというのが面白かったです(Dolphinで実装。しょぼいコードを書くと突っ込まれる。リファクタリングに成功するとハイタッチ)。
SqueakBOFではStableやModuleの連中がCentralに対する怒りをぶちまけていました(誇張あり)。彼らのSqueakMapで少しはイメージがクリーンになりそうです。
いま話題のSelf絡みでは、そのVM実装技術を応用し、強い型付けを導入したStrongTalkのデモもありました。VisualWorksの3倍速いとか。ただしこれにはCincom陣営の反論もあるようです。
910 :
デフォルトの名無しさん :02/11/11 23:49
Squeak面白い。 でもこれってワークスペースみたいなGUIから抜けれないのかな。 単体EXEみたいなの(別にランタイム+イメージでも良い) 作りたいんだけど。
911 :
デフォルトの名無しさん :02/11/12 17:12
>>910 ObjC へいらっしゃい。
あるいは C へのトランスレータがあるらしいので使ってみるとか。
Pocket Smalltalk とかそんな感じなのかな?
>>911 前に調べたら、リナザウで動くのは X 版と FB 版があるみたい。
Qt/E 版は無いと思われ。
913 :
デフォルトの名無しさん :02/11/13 01:18
現実の窓もオブジェクトとみなしてハロとか付けたり、 回転拡大縮小できたらいいね。 リージョン区切るの重そうだけど。
>>908 Selfが今話題になっちゃってるんですかぁー。はぁー
915 :
デフォルトの名無しさん :02/11/14 16:06
916 :
デフォルトの名無しさん :02/11/14 22:24
>>912 Pocket SmalltalkってDolphinで作ったんじゃなかったけ?
Dolphin日本語の情報はあまりないけど
海外では結構メジャーなんだよね確か
917 :
デフォルトの名無しさん :02/11/15 14:07
>>916 Squeak に移行したとか、してないとか・・・。
919 :
デフォルトの名無しさん :02/11/16 14:51
920 :
デフォルトの名無しさん :02/11/17 02:31
これエディタ日本語つかえるの? 関数名補完とかできたら最強じゃん
922 :
デフォルトの名無しさん :02/11/18 08:27
Squeakって全部Smalltalkで書かれてるの? 描画やけに速くない?
923 :
名無しさん@Emacs :02/11/18 23:36
昔に比べたら現実的な速度になってるのに やっぱ言語がSmalltalk ということで敷居が高いのか。 動的言語の老舗なのにね。日本語の資料がもっと欲しい気はする。
>>924 このスレから盛り上げてイコーヨ
MLはなんか苦手だし
そういえば日本語Squeak本の話はどうなった?
捨てる神あれば拾う神あり。
929 :
名無しさん@Meadow :02/11/19 12:44
>>923 フォントはたぶんラスタ系のものを用意する必要があったと思う。
k14とかkanameとか?
TrueTypeと名のつくクラスはあったと思うけれど、描画エンジンも自前なので
OS のフォント系APIを借りることはしてないような。
923 で挙げた画面のフォントってヒラギノかと思ったんだけど、 違うのかな? フォントあまり詳しくなくって。
そろそろ次スレですね。 ところで、Smalltalk で1つ残念な点がある。それは $ マークと #() 。記号に、(元の意味とは異なる)特定の意味を持たせるのは ダサイと思います。
>>927 おお、Squeak本よ。しんでしまうとはなさけない。
便乗で聞きたいんだけど Squeakの文字をアンチエリアスにするやつ動かした人いる? あの画面カッコイイから一度動かしてみたかったんだけどな。
>>931 それは他の言語でも似たり寄ったりのような。
記号を厳密に使ってるのはAPLくらいじゃない?
>>934 程度問題ですが、Lisp, Python, Java なんかは、キーワードを冗長に
記述する事で変な記号を少なくしていると思ってます。
$ を見ると、Perl や sh を思い浮かべるので、拒否反応が出ただけかも。
ちょろっと書く時は便利なツールだけど・・・、みたいな。
936 :
デフォルトの名無しさん :02/11/20 06:15
リテラルを使いたくなければ等価なメッセージ式でも書けるよ。
演算子でもないのに + * とか2項メソッドで定義されてるよね。 まあ慣れだけど。
squeakでhttpsサーバやってる人いますか?
>>936 申し訳ないんだけど、メソッド名を教えて下さい。
一応、ググッてみたんだけど、検索語が悪いのか
ヒットしなくて。
>>938 3.0で動いたよアリガト! 3.2だとダメみたいだ。
かなりカッコイイ・・・
>>940 「本物の」ブラウザを調べたほうが良いかも。
Array class>>with:...with:とか、Character class>>value:とか。毛色が違いますが、String>>asCharacterなんてのも。
リテラルの場合、通常はコンパイル時にオブジェクトがアロケートされるのに対して、メッセージ式は評価時なので注意。
943 :
デフォルトの名無しさん :02/11/21 22:27
>>942 修業します・・・。
st> $A value printNl!
65
とする代わりに、
st> (A foo) value printNl!
みたいなメソッドがあるのかなと思ったんですが、大抵は
こんなエラーが出ます。
stdin:94: Undefined variable A referenced
undefined variable だからメッセージを受け取れないと
言うのは分かります。
define するには SystemDictionary に登録する必要が
あるみたいですが(意味無いですが・・・)、
st> Smalltalk at: #A put: $A!
$B とか 数字とかは登録せずに使えるのは何ででしょう?
既に登録されてるからかな。
>>945 そうです。それは即値です。
でも、変数名と束縛される文字の表記を一致させたいという気持ちが、やっぱり
よく分かりませんです。グローバルにそんなもん切られたら困りまっせ。
とはいえ、もし本気でやりたいのなら、doesNotUnderstand:で引っ掛けたり、も
っと言えば、パーサから変えてしまえば、好きなようになります。
# 使ってる処理系くらいは書いて欲しい.…。GNUやん。
>>946 でも、変数名とリテラル定数の違いってのは
教育言語としてのSmalltalkにとっては大きな問題かもしれない。
948 :
名無しさん@Meadow :02/11/22 12:56
Squeakにて 'Abone' at:1 => $A ('Abone' at:1) class => Character ('Abone' at:1) asciiValue => 65 文字列クラスのインスタンス 'Abone' の一文字目 $A の クラスは文字, アスキーコードは 65。 リテラル定数で初期に教える必要があるのは数字と文字列くらいでしょ。 配列は Array>>with:with:with:... で。
949 :
デフォルトの名無しさん :02/11/22 16:49
Smalltalk、いいんだけど、 配列のインデクスが1から始まるのがチョトね。。。 CとかJavaで書いたプログラムを移植して遊びたいんだけど。
950 :
デフォルトの名無しさん :02/11/22 16:50
>>943 なんかこれ、凄いことしてるの?
Look at this!と書いてあるだけで、よくわからん。
>>946 いやぁ、別に絶対に一致させたいという訳ではなくて、何か違和感があっただけです。
最初はネタ振りのつもりで書き込んだんですが、もう少し良いネタ振りが出来るよう
研鑚する所存です。
>>948 あぁ、確かにそれで行けますね。
thanx!
>>951 font
なるほど。 良くみるとMSGothicを選択してるみたいね。 手前のウィンドウ、なんか日本語フォントだけ奥行き感が無い みたいだけど、これは今後の課題なのかな?気のせい? 「子供だぞ」の部分のはちゃんとなってるっぽいけど。
>>949 > Smalltalk、いいんだけど、
> 配列のインデクスが1から始まるのがチョトね。。。
0から始まるほうが違和感あるなあ。オフセットじゃあるまいし。
>>954 他にも、オリジナルの英語版でもTrueTypeは専用モーフでリードオンリなのに、
なぜか編集できているところとか、そもそも、先日フライングリリースされたば
かりの次世代環境Croquet(クロッケー)で日本語が出ているところとか。
文字は全部アフィン変換かかっていると思います。
そろそろ次スレだと思いますが、
次スレのタイトル「Smalltalk総合スレ Part2」みたいのでいいですか?
あと3,40レス後ぐらいにスレ(立てれたら)立てますんで、
以下、テンプレートや関連リンク貼りつけお願いします。
(最近始めた厨なのであんまり知らないです)
----仮テンプレ----
前スレ
ΨΨΨ Smalltalk/ Squeak 教えろゴルァ ΨΨΨ
http://pc3.2ch.net/test/read.cgi/tech/998444037/ ----仮テンプレ----
958 :
デフォルトの名無しさん :02/11/25 23:33
チャンク風 (・∀・)イイ!!
961 :
デフォルトの名無しさん :02/11/26 03:40
CoWebについて興味を持ちました。 日本語で運用しているCoWebサイトがあれば教えて下さい。
SoftwareDesignにSqueak連載してるのね。
オブジェクト指向言語・環境という視点からSmalltalkに何か不満点はありませんか?
966 :
デフォルトの名無しさん :02/11/27 11:24
>>965 名前空間がひとつしかないところ
なんでもかんでもオブジェクトスペースにつっこんてしまうところ
(OSがワンレベルストアになっていればいいのか?)
プラガブルといいつつ、入れたものを安全に外す(元に戻す)という仕組みが用意されているわけではないところ
Solaris 8 x86でソースからmakeして/opt/squeakにmake installしたところ % /opt/squeak/bin/squeak 強制終了 と言われてしまいます。lddも駄目です。 % ldd /opt/squeak/bin/squeak ldd: /opt/squeak/bin/squeak: 実行に失敗しました。シグナル 9 のため ところがビルドしたカレントディレクトリから立ち上げようとすると % ./squeak Could not open the Squeak image file `squeak.image'. There are three ways to open a Squeak image file. You can: 1. Put copies of the default image and changes files in this directory. 2. Put the name of the image file on the command line when you run squeak (use the `-help' option for more information). 3. Set the environment variable SQUEAK_IMAGE to the name of the image that you want to use by default. For more information, type: `man squeak' (without the quote aracters). 何とか動きそうな雰囲気なんです。 どなたか同じような現象に合われた方、解決策を教えてください。 よろしくお願いします。
969 :
デフォルトの名無しさん :02/12/02 18:50
>>961 CoWeb というのは "The Wiki Way" で言及されている SWiki の別名ですね。
Googleで SWiki & Squeak で日本のサイトを検索するとぽろぽろ出てきます。
個人的には sumim さんの "Squab Squeaker's Swiki" がおすすめです。
>>970 VisualWorksとか他のSmalltalkはどーするの?
それはテンプレの内容と矛盾するような
JavaスレやC++スレみたいに複数あってもイイんじゃ? Pythonも複数スレで存在感出てきたし、ただでさえsqueakって 知名度低いんだから。
>>978 禿同(ハズカシイ
使ってもらう為には、まず知ってもらわなきゃイカンし、
間口は広い方が良い。
需要が無ければ本もだせん、っうかSqueak本出せ!
本スレは中上級とSmalltalkスレ
荒井スレはSqueak初心者とネタスレで、良いのでは?
hosyu
ドキドキ・・・
ドキドキ・・・
ドキドキ・・・
ドキドキ・・・ドキドキ・・・
ドキドキ・・・ドキドキ・・・ドキドキ・・・
ドキドキ・・・ドキドキ・・・ドキドキ・・・ドキドキ・・・
ドキドキ・・・ドキドキ・・・ドキドキ・・・ドキドキ・・・ドキドキ・・・
ドキドキ・・・ドキドキ・・・ドキドキ・・・ドキドキ・・・ドキドキ・・・ドキドキ・・・ドキドキ・・・
ドキドキ・・・ドキドキ・・・ドキドキ・・・ドキドキ・・・ドキドキ・・・ドキドキ・・・ドキドキ・・・ドキドキ・・・
ドキドキ・・・ドキドキ・・・ドキドキ・・・ドキドキ・・・ドキドキ・・・ドキドキ・・・ドキドキ・・・ドキドキ・・・ドキドキ・・・
かちゅうしゃとかじゃないから時間かかるな・・・
ドキドキ・・・ドキドキ・・・ドキドキ・・・ドキドキ・・・ドキドキ・・・ドキドキ・・・ドキドキ・・・ドキドキ・・・
ドキドキ・・・ドキドキ・・・ドキドキ・・・ドキドキ・・・ドキドキ・・・ドキドキ・・・ドキドキ・・・ドキドキ・・・ドキドキ・・・ドキドキ・・・ドキドキ・・・
ドキドキ・・・ドキドキ・・・ドキドキ・・・ ドキドキ・・・
ドキドキ・・・ドキドキ・・・ドキドキ・・・ ドキドキ・・・ドキドキ・・・ドキドキ・・・ドキドキ・・・
ドキドキ・・・ドキドキ・・・ドキドキ・・・ドキドキ・・・ドキドキ・・・
ドキドキ・・・ドキドキ・・・ドキドキ・・・ドキドキ・・・ドキドキ・ ドキドキ・・・ドキドキ・・・ドキドキ・・・ドキドキ・・・・・
ドキドキ・・・ドキドキ・・・
ドキドキ・・・ドキドキ・・・
やった!!!
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。