[表示 : 全て 最新50 1-99 101- 201- 301- 401- 2chのread.cgiへ]
Update time : 05/09 17:04 / Filesize : 113 KB / Number-of Response : 458
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Squeakでマターリ語りましょうや



1 名前:デフォルトの名無しさん mailto:sage [2005/11/07(月) 16:47:13 ]
全然スレ立たないけどみんな興味無いの?

いっしょに遊びましょ♪

47 名前:デフォルトの名無しさん [2006/01/28(土) 17:45:20 ]
Smalltalk/Vで遊んだことがあって、Squeakプログラミングは
いつでもできるつもりになっていたが、
Squeakプログラミングではacceptしなくてはならない、ということを
数日前に知った。

48 名前:デフォルトの名無しさん mailto:sage [2006/01/29(日) 00:41:39 ]
>>47
accept しないでいい処理系は、どういうタイミングでコンパイルされるの?

49 名前:47 [2006/01/31(火) 03:29:59 ]
うろ覚えだがSmalltalk/Vではコードを書き込んだらすぐに実行可能
だったと思う。コードを書き込んだそばからコンパイルされている
のでは無いだろうか。

50 名前:デフォルトの名無しさん mailto:sage [2006/01/31(火) 18:00:14 ]
それだとタイピング途中はコンパイルエラー出まくると思う

51 名前:デフォルトの名無しさん [2006/03/05(日) 06:14:04 ]
タイピング途中にエラーが出ても問題ないのでは無いですか?エラーが見えて丁度良い。

52 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 09:43:33 ]
>>51
はなしにならん。

53 名前:デフォルトの名無しさん [2006/03/12(日) 00:48:30 ]
このクラス菅ーと思ってよくよくみると
<primitive: 153>
だったりして残念

54 名前:デフォルトの名無しさん mailto:sage [2006/03/15(水) 23:21:15 ]
>>53
VMまでおっかけるのはいかが。
Slangだったらよかったのにね。

55 名前:http://www.vector.co.jp/soft/win95/util/se072729.html mailto:http://msdn2.microsoft.com/ja-jp/library/h2k70f3s.aspx [2006/03/18(土) 21:22:47 ]
TextSS のWindowsXP(Professional)64bit化おながいします

もしくは64bitにネイティブ対応したテキスト置換ソフトありますか?

そういや64bitにネイティブ対応している2chブラウザてありましたっけ?





56 名前:デフォルトの名無しさん mailto:sage [2006/03/26(日) 13:15:28 ]
ブルーブックついにゲット
これから読みあさります

57 名前:デフォルトの名無しさん mailto:sage [2006/03/26(日) 23:20:22 ]
ttp://users.ipa.net/~dwighth/smalltalk/bluebook/bluebook_imp_toc.html

58 名前:デフォルトの名無しさん mailto:sage [2006/03/27(月) 01:35:45 ]
パープル買って26-30章はネットで見ろと?

59 名前:デフォルトの名無しさん mailto:sage [2006/03/32(土) 10:27:21 ]
squeak をiPAQで走らせてます。
もう、現代版newtonという感じですね。

End User Programming に興味があります。

60 名前:デフォルトの名無しさん mailto:sage [2006/04/08(土) 15:25:14 ]
59です。
2-3年前まではiPAQでsqueakを走らせることは、あまりに遅くて
現実的でなかった。ところが、最近のPocketPC例えばiPAQ h2215
あたりから、そこそこストレスなしにsqueakが走ってくれます。
現場でコンピューティングパワーをsqueakを通して容易に使う
ことが出来るようになりました。もう、むちゃくちゃおもろい。

61 名前:デフォルトの名無しさん [2006/04/18(火) 15:36:48 ]
アラン・ケイにメールを
送りたいから、メールアドレス教えて。

62 名前:age mailto:age [2006/04/19(水) 01:04:16 ]
ExcelVBAつついてたら見つけたんだが、Squeak.ocxってどうやって使うんだ?

63 名前:デフォルトの名無しさん mailto:sage [2006/04/19(水) 16:37:32 ]
>>48
forthだとwordが確定した時点で実行される

64 名前:デフォルトの名無しさん [2006/04/19(水) 20:56:43 ]
>>62
コントロールツールボックスから貼り付けて使います。何の役にも立ちませんが。

65 名前:デフォルトの名無しさん mailto:sage [2006/04/19(水) 22:47:07 ]
squeak.qp.land.to/

使ってる人はポロポロ居るんだよね。



66 名前:デフォルトの名無しさん mailto:sage [2006/04/23(日) 15:25:42 ]
>>61
メールの内容次第によっては、教えたる

67 名前:デフォルトの名無しさん mailto:sage [2006/04/24(月) 18:50:49 ]
>>61
まずググれ。

68 名前:sage [2006/04/28(金) 01:20:31 ]
なんか、squeakっていかにも子供向けっていう感じの画面なんだけど
いったい、子供がカメ?を動かしてみたり、お絵かきしてみたりして、
何の意味があるのかサッパリ解らないんです。
はっきり言って、金持ちの大人と、わけわからん大人の自己満足の世界がプンプンするよ。。

どっかのホームページに子供にいじらせている写真が出てますけど
こんな小さいときから、画面の前にかじりついているより、外に出て遊ばせた方が
絶対、その子供のためになると思うのですが。。。

しかしまぁ、百歩譲って、そんなにコンピュータを触らせたいななら、
smalltalkなんか教えるより、assemblerでコンピューターというのは
こんなもんだ、ってみっちり教え込んだ方が、絶対その子のためになると思うんだけど。。。

将来、squeakで食える事もなければ、仕事の役に立つこともまずあり得ないけど、
アセンブラが出来れば、ほぼ、食っては行けるし、コンピュータの基礎もばっちりだね。

いったい、何を考えているのかサッパリ解らん。

69 名前:デフォルトの名無しさん mailto:sage [2006/04/28(金) 01:26:28 ]
>>68
>いったい、何を考えているのかサッパリ解らん。

You too!!

70 名前:デフォルトの名無しさん mailto:sage [2006/04/28(金) 02:11:37 ]
食っていけるかどうかで考えるなら義務教育なんて殆ど糞
法律さえ守れば道徳なんてなくてもいい

71 名前:デフォルトの名無しさん mailto:sage [2006/04/30(日) 20:05:29 ]
道徳さえあれば法律なんてなくてもいい

72 名前:デフォルトの名無しさん mailto:sage [2006/05/01(月) 07:34:51 ]
道徳ってなに?


73 名前:デフォルトの名無しさん mailto:sage [2006/05/01(月) 08:47:30 ]
ttp://www.excite.co.jp/dictionary/japanese/?search=%E9%81%93%E5%BE%B3&match=beginswith&itemid=14395900

74 名前:デフォルトの名無しさん mailto:sage [2006/05/01(月) 16:43:15 ]
>>72
マジレスすっと、社会的に守られるべきモラルのこと。人間とゲダモノの境界線。
塩野七生のローマ人の物語によれば、モラルを
 哲学に求めたギリシア人
 宗教に求めたユダヤ人
 法律に求めたローマ人
となります。

75 名前:デフォルトの名無しさん [2006/05/01(月) 20:16:11 ]
世界の中心でアイを叫ぶのはどちらだ



76 名前:デフォルトの名無しさん [2006/05/01(月) 20:53:13 ]
アランケイは天才なのかw

77 名前:デフォルトの名無しさん [2006/05/02(火) 00:52:14 ]
画像(BMPとかJPEGとか)を出したい時はどうするんだ?

78 名前:デフォルトの名無しさん mailto:sage [2006/05/02(火) 01:06:40 ]
>>77
“出す”の意味によるけど。

ファイルから読み込んで表示…なら、Squeak のデスクトップにドラドロ。
あるいは、ファイルリストを使うか、ImageReadWriter のサブクラスを使うか。

モーフをファイルに出力…なら、選択して赤ハローから export... 。
あるいはやはり ImageReadWriter のサブクラスを使うか。

79 名前:デフォルトの名無しさん mailto:sage [2006/05/02(火) 01:20:04 ]
>>78
> ファイルから読み込んで表示…なら、Squeak のデスクトップにドラドロ。

出た。さんくす。
こんなに簡単だったんか。「smalltalkは環境だ」とかwikipediaにあったんで、
ドラッグアンドドロップという考えがうかばなかった。

うれしくてPDFもいれてみたが、ダメだった。グスン。



80 名前:デフォルトの名無しさん [2006/05/02(火) 01:25:05 ]
>>78
> ファイルリストを使うか

こんなんなった。squeakは拡張子という概念はないのか。関連付けも
なさそうだ。遊び方が判りにくい。


File 'up0698.jpg' is 141047 bytes long.
You may use the 'get' command to read the entire file.

Here are the first 5000 characters...
------------------------------------------
JFIF

81 名前:デフォルトの名無しさん mailto:sage [2006/05/02(火) 02:48:04 ]
>>80
.jpg ファイルなどを選ぶと、最上段のボタン構成が変わるから、
そこから open を選ぶと開けるよ。

システムとかアプリケーションという区別や概念が稀薄だからね…。
ファイルシステムがベースにある現在主流のコンピュータ環境にどっぷりだと、
ちょっと馴染むのに骨が折れるかも。

ルールは「メッセージング」(つまり、何にどんなメッセージを送るか、を考えて
それを調べ、知り、実践する)だけだから、本当は簡単なはずなんだけれどもね…。
この切り替えが、頭では分かっていたとしても、なかなか。

82 名前:デフォルトの名無しさん mailto:sage [2006/05/02(火) 03:12:48 ]
>>79
環境だけれども、柔軟で粘土みたいなものだから、いろんなものに擬態します。
アプリだったり、オーサウエアだったり、開発環境だったり。

メッセージングという考え方は、シンプルだけどパワフルだから、いろいろな
ものを記述したり、表現できたりするので、見た目に惑わされないようにしないと。

83 名前:デフォルトの名無しさん mailto:sage [2006/05/04(木) 04:34:48 ]
>いったい、子供がカメ?を動かしてみたり、お絵かきしてみたりして、
>何の意味があるのかサッパリ解らないんです。

ある意味、写真にだまされているのかも。写真は多くの情報が欠落しているから、
それを理解するには想像力が必要です。自分がどう感じたか、ということよりも。
逆に様々な情報が欠落しているからこそ、恣意的な主観を働かせることが出来る
余地があるとも言えますが。楽しいメディアですね。

84 名前:デフォルトの名無しさん mailto:sage [2006/05/04(木) 12:03:01 ]
実際squeakはとっつきにくい。関連したwebや書籍をみても
「オブジェクトありき」とか「すべてはメッセージ」とか、開発者寄りの話
しか見つからない。
初めて(生)MS-DOSを触ったときを思い出した。途方にくれるカンジ。

85 名前:デフォルトの名無しさん mailto:sage [2006/05/04(木) 12:54:37 ]
もっといいOSが欲しいなあ
web.archive.org/web/20001219124700/www.secret-dan.com/members/quiosi/back19990415.html

インターフェイスデザインについても語っていきたい
web.archive.org/web/20010425114345/www.secret-dan.com/members/quiosi/back19991014.html

GUIに「ファイル」はいらないと思う理由
web.archive.org/web/20010104153500/www.secret-dan.com/members/quiosi/back19991212.html

とか読むと、Unix流ツールボックスアプローチ、Win/Mac/Emacs流キッチンシンクアプローチに対して、
Squeak流アプローチという解はどうよって思う。まだまだ荒削りかもしれないけれども。



86 名前:デフォルトの名無しさん mailto:sage [2006/05/04(木) 13:55:42 ]
>>84
Mac や Win の受け身的、限定的なところを心地よく思うようになると、
ユーザー側から攻めてなんぼの暫定ダイナブック環境はやっぱりキツい。

87 名前:デフォルトの名無しさん mailto:age [2006/05/04(木) 15:41:44 ]
これってマイクロカーネル妄想信者が作ったの?

88 名前:84 mailto:sage [2006/05/04(木) 15:50:17 ]
それでも俺はsqueakを知りたい。きっとこれは素晴らしいものだと感じている。
でも、どうすればいいのか検討もつかない。まるで青春時代の自分探しだ。
くもの糸はどこ?

89 名前:デフォルトの名無しさん mailto:sage [2006/05/04(木) 16:15:57 ]
アラン・ケイにメールかMLで直接質問すればイイじゃん。
あ、5/17は66回目のお誕生日です。>アラン・ケイ

90 名前:デフォルトの名無しさん mailto:sage [2006/05/04(木) 18:03:32 ]
>>88
知りたいことが分かっていれば、言ってくれれば、なんでも教えてあげますよ。w
もちろん当方の分かる範囲で…ですが。

ときに「自分探し」とは言い得て妙ですね。したいことがはっきりしていないと
ほとんど価値のない環境ですから…。

91 名前:デフォルトの名無しさん mailto:sage [2006/05/05(金) 04:59:12 ]
最新Squeak(英語版)をGetして実行したら、Package Browserを発見。
ここに列挙されたclassが全部実装されているかと思うと喚起雀躍。
さっそくSqueakからtelnetしたいと思った。
Package BrowserからTelnetMachineというclass発見。そこで、
host := TelnetMachine new. をdo it。->Error:UndefinedObject cannot be changed
どんなもんでもinstanceになるわけではないのか..。
テキスト「自由自在Squeakプログラミング」登場。
morph2 := Morph new openInWorld.
同じエラーメッセージが出た。そもそも考え方が違うってか。

92 名前:デフォルトの名無しさん mailto:sage [2006/05/05(金) 05:24:30 ]
テキストの一行だけをコピペってたからダメだったんだろうか。
全部で、たった3行だし真面目に入れるか。
"do it"
うんともすんとも言わなくなってしまった。タスクマネージャも
ユーザタブから変更が効かない。止む無くリブート。(Win2k)
もう寝ろ、と言っていたのかも知れない。

93 名前:デフォルトの名無しさん mailto:sage [2006/05/05(金) 11:17:05 ]
>>91
TelnetMachine はともかく、Morph がエラーになるのはなにかおかしいですね。


94 名前:デフォルトの名無しさん mailto:sage [2006/05/05(金) 11:27:38 ]
>>91
ちなみに TelnetMachine は TelnetMachine open の do it (alt/cmd + d) で
ウインドウが開きます。TelnetMachine class >> #open の定義は、ブラウザの
上段第2ペイン下の class ボタンを押して切り替えることで見ることができます。

95 名前:デフォルトの名無しさん mailto:sage [2006/05/05(金) 11:34:19 ]
>>92
とりあえず、3 + 4 とかの print it (alt/cmd + p) は出来ていますか?



96 名前:デフォルトの名無しさん mailto:sage [2006/05/05(金) 11:36:17 ]
>>95
あ、win2k なら alt + p ですね。念のため。(cmd は Mac ユーザー向け)

97 名前:デフォルトの名無しさん mailto:sage [2006/05/05(金) 16:20:13 ]
>squeakを知りたい。きっとこれは素晴らしいものだと感じている。

実はSqueakには2つのシステムがあって、1つは「Smalltalk」。
もう1つは、Smalltalkの上にある「SqueakToys」。子供たちが
使っているのはSqueakToysの方です。Squeakで素晴らしい、
すごいと言えるのはSmalltalkというシステムの方だと思います。

>smalltalkなんか教えるより
誤解じゃないかな。Smalltalkは教えていないと思います。

98 名前:デフォルトの名無しさん mailto:sage [2006/05/05(金) 23:20:45 ]
>>94
> ちなみに TelnetMachine は TelnetMachine open
たしかにopenで成功しました。そこで質問ですが、

・なぜ「open」という存在を知っていたのか、
・それがインスタンスでなくてクラスである理由

は なんでしょうか?判る範囲で構いませんのでゼヒ。
ちなみに、Morphにおける「new」というメソッドはMorphでも、そのSuperclassである
ObjectでもさらにそのSuperclassであるProtoObjectでも定義されていないんですが、
なぜ有効なんでしょう。

99 名前:デフォルトの名無しさん mailto:sage [2006/05/05(金) 23:23:44 ]
>>95
> とりあえず、3 + 4 とかの print it (alt/cmd + p) は出来ていますか?
7になりますね。
再起動後は問題ないです。「morph2 := Morph new openInWorld. 」も成功します。
コードをいじっているんだから頻繁に停止したり、そのために再起動することに
なるのは別に珍しくないような気もしますが。

100 名前:デフォルトの名無しさん mailto:sage [2006/05/05(金) 23:30:33 ]
TelnetMachine open. の do itで作成したオブジェクトにWorkspaceから
メッセージを送る方法はありますか?
表示されたobject(ウィンドウ)のハローを表示してインスペクタでselfを
みるとオブジェクトIDっぽい数字「a SystemWindow(3652)」が現れるんですが、
この数字を介してメッセージの送信は可能でしょうか。


101 名前:デフォルトの名無しさん mailto:sage [2006/05/06(土) 01:13:43 ]
>>98
> ・なぜ「open」という存在を知っていたのか、
知りませんでした。が、クラスメソッドで見つけました。

> ・それがインスタンスでなくてクラスである理由
いろいろと複雑な事情がありますが、簡単にいえば単なる慣習です。
MVC でいうところの M(モデル)の属するクラスのクラスメソッドに V や C を担当する
クラスと関連付けをする作業を定義することをよくします。

> ちなみに、Morphにおける「new」というメソッドは
> なぜ有効なんでしょう。
#new は Behavior に定義されています。
Morph はクラスですが、自身もインスタンスです。属するクラスは無名ですが、
便宜的に Morph class と呼称します。いわゆるメタクラスというやつです。
メタクラスのスーパークラスパスは、原則としてそのインスタンスである
クラスのスーパークラスパスと同じです。したがって、Morph class の
スーパークラスをたどると ProtoObject class に行き着きます。
ProtoObject class は ProtoObject と違って、さらにスーパークラスがあります。
それが、Class です。そこからは普通に ClassDescription、Behavior とたどることができます。

| superclass |
World findATranscript: nil.
superclass := Morph class superclass.
[superclass isNil] whileFalse: [
 Transcript cr; show: superclass.
 superclass := superclass superclass]

余談ですが、このスクリプトの全角スペースをタブに置き換えるには、
最初の全角スペースを削除してタブをタイプした後、alt + shift + j としてみてください。
again という機能です。

102 名前:デフォルトの名無しさん mailto:sage [2006/05/06(土) 01:26:42 ]
>>100
インスペクタの左側のペインで model をダブルクリックしてください。
新しいインスペクタが現れて、これのインスペクタワークスペース(下のペイン)で
self に束縛した a TelnetMachine にメッセージを投げれます。

そんなことをせずとも元のインスペクタのインスペクタワークスペースで model に対して
メッセージを送ってもよいでしょう。

どうしてもワークスペースを使いたい(例えば、ワークスペース変数が好き、とかの)
理由があるならば、グローバル変数に model を束縛しておくという手もあります。

Smalltalk at: #MYTELNET put: model

これで、ワークスペースからでも MYTELNET でアクセスできます。

103 名前:デフォルトの名無しさん mailto:sage [2006/05/06(土) 01:31:41 ]
>>102
どうして model に a TelnetMachine が束縛されているのをしっているのか?
という質問がきそうなので先に答えておくと、それは、TelnetMachine class >> #open
の定義をざっと見たからです。

104 名前:デフォルトの名無しさん mailto:sage [2006/05/06(土) 02:06:50 ]
あと、メソッド名が分かっている場合、たとえば今の場合 #new なら、new を
(必要ならタイプして入力して)選択した後、browse it (alt + b) か、
implementors of it (alt + m) すれば、定義をブラウズできます。
もちろん同名メソッドがあったり、オーバーライドされている場合は、
適切なクラスを探さないといけませんが…。クラスが分かっているなら
後述のプロトコルブラウザを活用したほうがよいでしょう。

メソッド名の一部しか分からない場合は、その文字列を選択して
selectors containing it (alt + shift + W) をします。

メソッドの機能しか分からないときはメソッドファインダが便利です。
(デスクトップメニュー → open... → method finder で起動)
<<レシーバ>>. <<第一パラメータ>>. <<第二パラメータ>>. …. <<返り値>>
というようにレシーバ、パラメータ群、結果をピリオドで区切って入れると、
そういう結果を返してくるメソッドを列挙してくれます。

クラスの定義を見るのにシステムブラウザは有効ですが、あるオブジェクトが
起動可能なメソッド(受信可能なメッセージ)を一覧するのには向きません。
そういう目的にはプロトコルブラウザを使います。そのオブジェクトの属する
クラスをシステムブラウザでブラウズしている状態で、クラスペインか、
メソッド名ペインにポインタを合わせて alt + p をタイプします。(あるいは、
黄ボタン=右クリック メニューから browse protocol を選択)

105 名前:98 mailto:sage [2006/05/07(日) 03:55:23 ]
>>101-104
詳しい回答ありがとうございます。

簡単な質問ばかりして迷惑かけてそうなんで、疑問の解決は
しばらく書籍に頼ってみようと思います。ちょうど、手元の本に
メタクラスもメソッドファインダの話も載ってました。
(ゲームを実装する章だったんで飛ばしてた)




106 名前:デフォルトの名無しさん mailto:sage [2006/05/08(月) 00:01:08 ]
>>105
まあ、基本かどうかはあまり気にせず、悩んだときにはいつでもどうぞ。
Smalltalkは、コツがつかめるまでは、ささいな事でも人に訊いて解決するのが
一番ですから。

107 名前:デフォルトの名無しさん mailto:sage [2006/05/08(月) 22:33:54 ]
SqueakからXにウィンドウを表示させたりできるんですか?
GTKでGUI作っているんですけど,これと同じことってSqueakでもできるのか気になります。

後,シェルスクリプトみたいにコマンドラインツールとしてSqueakを利用できるのですか?

108 名前:デフォルトの名無しさん mailto:sage [2006/05/08(月) 22:48:52 ]
>>107
X --> むりぽ(多分...)
コマンドライン --> languagegame.org:8888/propella/88

109 名前:デフォルトの名無しさん mailto:sage [2006/05/08(月) 23:03:51 ]
>>108
>     コマンドライン --> languagegame.org:8888/propella/88

Lisp見たいにソケット経由で式を評価する感じかなこれ。SqueakをOS起動時にデーモンとして動かして,接続毎に環境を作って動かせばシェルスクリプトっぽいもんとして使えそうな気が

110 名前:デフォルトの名無しさん mailto:sage [2006/05/08(月) 23:27:23 ]
どちらも GNU Smalltalk を使うと良いナリ。
JIT だから速いし、コマンドラインから使えるし、Tk で GUI 作れるし、クロージャもあるナリよ。

昔ちょっとインスコしただけだから保証は出来ないけどね。

111 名前:デフォルトの名無しさん [2006/05/11(木) 21:24:06 ]
>107
wxSqueakがある。
www.wxsqueak.org/

112 名前:デフォルトの名無しさん [2006/05/11(木) 22:48:36 ]
カッコいい!

使ってみよ




113 名前:デフォルトの名無しさん [2006/05/12(金) 14:38:40 ]
>>84
>俺はsqueakを知りたい。きっとこれは素晴らしいものだと感じている。
>でも、どうすればいいのか検討もつかない。くもの糸はどこ?

とりあえず。。。

佐々木かをりのwin-win 素敵な人に会いました、聞きました(アラン・ケイ)
yamabuki.ewoman.co.jp/winwin/44ak/

Squeak について 〜Dynabook OS としての Squeak/Smalltalk 考〜
sumim.no-ip.com:8080/xemem/7

squeakの「何を」知りたいのですか?使い方?教え方?考え方?売り方?

114 名前:84 & 88 mailto:sage [2006/05/14(日) 01:57:29 ]
>>113
>squeakの「何を」知りたいのですか?使い方?教え方?考え方?売り方?

squeakを通して『オブジェクト(指向)』というものを知りたいのです。概念を体験したい。

BASICでアルゴリズム、プログラミムというもの、
MS-DOSでカーネルやシェル、そしてファイルシステム、
Cとアセンブラでプロセッサのアーキテクチャ、スタックやメモリモデル、
unixでハードウェアの(ファイルという)仮想化、ツールボックスアプローチ、システム管理、
MACやwindwosでユーザインタフェース。

いろんなものを学びました。今度は「オブジェクト指向」がターゲットです。
いつでも感性が「コレだ!」と告げるものを学んできました。今は「Squeak」がソレです。

まあ、趣味なんですが。

115 名前:デフォルトの名無しさん mailto:sage [2006/05/14(日) 02:04:47 ]
オブジェクト指向なんて単なる hash と syntax sugar さ。

とりあえず workspace から色々弄ってみては? ↓こんな感じで。

ttp://squeak.qp.land.to/index.php?Workspace%A4%C7GO!



116 名前:デフォルトの名無しさん [2006/05/14(日) 03:40:08 ]
それだけいろいろなものに触れてきた人が
自分で道を開けないなんて・・・
まさにローリングストーンだね

117 名前:114 mailto:sage [2006/05/14(日) 08:51:24 ]
>>116
> それだけいろいろなものに触れてきた人が
> 自分で道を開けないなんて・・・

コンピュータ暦10年以上。それぞれ数年懸けて身に着けました。
いつまでたっても要領は良くならない、生みの苦しみはなくならない。
でも関連する書籍やモノに触れて一年か二年くらいすると、あるとき突然啓示が来ますね。

カーニハンとかストールマンとかエイホとか、アラン・ケイとかは
違うんだろうな。

生きてるうちに理解できれば良しとしたいところですが、生まれるまでは
苦しいんです。(コンビ芸人の片方の名前を思い出せないくらいの苦しみ)

118 名前:114 mailto:sage [2006/05/14(日) 08:58:25 ]
>>115
thnx。とっかかりもつかめてないんで なんでもwelcom。
辛気臭くなると叶わんし、低姿勢なのもストレス溜まる。もうROMる。

119 名前:デフォルトの名無しさん mailto:sage [2006/05/14(日) 10:53:15 ]
Smalltalkイディオム
www.sra.co.jp/people/aoki/SmalltalkIdioms/index.htm

>もうROMる。
せっかくなので、いろいろ書いてください。気軽に。

120 名前:デフォルトの名無しさん mailto:sage [2006/05/14(日) 11:01:08 ]
おっと、これも
Happy Squeaking!! -オブジェクト指向再入門-
www.ogis-ri.co.jp/otc/hiroba/technical/Squeak/squeak.html

121 名前:デフォルトの名無しさん mailto:sage [2006/05/17(水) 22:05:26 ]
シンボルって何につかうんだろう。

122 名前:デフォルトの名無しさん mailto:sage [2006/05/17(水) 22:17:02 ]
>>121
事故解決。固定文字列を定義するものらしい。
しかもシステムでユニークだそうだ。適当に書いてもバッティングしないんかしら。

123 名前:デフォルトの名無しさん mailto:sage [2006/05/18(木) 15:26:50 ]
>>122
バッティング、即ち同一ですから。
新しいのをつくれば、シンボルテーブルに追加されます。

124 名前:デフォルトの名無しさん [2006/05/19(金) 00:00:51 ]
みんなSqueakで何やってんだ?まさかメイン環境にしてるってこたないよな。

125 名前:デフォルトの名無しさん mailto:sage [2006/05/19(金) 01:14:36 ]
>>124
しょっちゅう起動はするけれど、あんましたいしたことには使ってないなぁ…。
again が好きなので、短かい文章を書いたり、再構成の必要があるときの
エディタ代わりかな。あと、広い意味での(数値だけじゃなく、数値列や文字列、
画像なんかも対象とする…)ちょっとした電卓代わり。たまに、幾何的な図が
欲しいときにタートルに描かせたりとか。



126 名前:デフォルトの名無しさん mailto:sage [2006/05/19(金) 17:21:01 ]
インスコ作業で爆発的な満足感を得る。
その後、次のバージョンが出るまでねっとりとした放置プレイで愉悦。

127 名前:age mailto:age [2006/05/20(土) 01:46:21 ]
設計のパクリのネタ元になるかと思ったけど今イチ使いこなせない...
使えないおいらが悪いのかもしれないけどね

なんつーかね、使いにくい訳よ、VisualStudioなんかと比べたら。
あとMacOSXのInterfaceBuilderみたいなGUIなビルダー(デザイナー?)が欲しい訳よ、おいら
eToyをやればいいのかもしれんがあれは亀動かしたら次がよくわかんねーし
なんか妙にCUI(?)に縛られてて気持ち悪い

128 名前:デフォルトの名無しさん mailto:sage [2006/05/20(土) 03:14:22 ]
>>127
俺もまだろくに触れてないんだけど、その比較はちょっと違うと思う。
GUIとかCUIとかじゃなくて、オブジェクトがたまたまグラフィカルに見せることもあるし、
そうでないこともあって、「GUIの部品」みたいな概念はないんだと思う。
他言語のIDEみたいに見てると、不満ばかり持つんじゃないかな。
間違ってたら誰か訂正して。

129 名前:デフォルトの名無しさん mailto:sage [2006/05/20(土) 04:15:34 ]
>>127
パクる目的なら、あえて慣れない場所でいつもの何かをどうやって作るか…ではなくて、
そこで新しく触れる手近なものたちがどんなふうに「メッセージング」というパラダイムのみで
実現されているのか…を調べるスタイルに接し方を変えてみたらどうでしょう?

例:
- ウインドウやポップアップはどう実装され機能しているか?
- テキストエディタは? テキストの入出力は?
- do it でどうやって単なる文字列がコードとして評価されているのか?
- コンパイラの仕組みは? デバッガの仕組みは?
- ワークスペースやシステムブラウザ、ファイルリストなどのアプリの実装は?
- クラスは? メソッドは? 継承機構は? 

あとは、ライブラリ内に潜って、デザインパターンの実例を探してみる…とか。

その前に、キーとなる「メッセージング」というメンタルモデルのほうは大丈夫でしょうか?

130 名前:デフォルトの名無しさん mailto:age [2006/05/20(土) 07:29:41 ]
これダウンロードしてインストールしたけど
そっから先、どうしていいかわかんない

131 名前:デフォルトの名無しさん mailto:sage [2006/05/20(土) 09:50:13 ]
>>130
大丈夫、わからんのは俺も一緒。一人じゃない。よかったね。

132 名前:デフォルトの名無しさん mailto:sage [2006/05/20(土) 10:47:49 ]
>>130
- ドラッグ&ドロップでプログラミングをする eToys と、
- メッセージングでプログラミングをする Smalltalk 、

どちらに興味がありま万か?

前者なら
1. 画面の下にある「ナビゲータ(Navigator)」タブから、刷毛ボタンでペイントツール起動。
2. 適当な絵を描いて(あまり凝ったものにはしないこと)「ほぞん(Keep)」
3. 絵を、Mac ならコマンド(以下、cmd)キーを、それ以外なら alt を押しながらクリックして選択。
4. 現れるボタン群から左中央の目玉をクリックして、ビューワを起動(画面左側に現れる)。
5. ビューワから [スケッチ][を回す:][5](または、[sketch][turn:][5])をデスクトップにドラッグ&ドロップ。
6. 現れたスクリプトパネルの時計ボタンをクリックしてプログラムを実行…

というようにするととりあえず遊べます。さらに詳しく知りたければ、

squeakland.jp/sqsqsqueak/

などを参考にしてみてください。

後者(Smalltalk に興味…)なら、とりあえずは、

1. デスクトップをクリックしてメニューを呼び出し。
1'. もし無反応なら、デスクトップを ctrl クリック →「デスクトップメニュー…(desktop menu...)」
2. 「開く…(open...)」→「ワークスペース(workspase)」を選択。
3. 書き捨てのメモ帳(シンプルなウインドウ)が開くので、そこで 3 + 4 とタイプして入力。
4. 右クリック(Mac では option クリック)でメニューから print it (p) を選択して結果の 7 を確認…

というようにして遊べます。3 + 4 の代わりに 100 factorial などの Smalltalk 式が試せます。
分からないことは、些細なことだと思っても、自力で解決しようとせず、どんどん訊いてください。

133 名前:デフォルトの名無しさん [2006/05/23(火) 22:50:34 ]
ウィンドウのデフォルトサイズの変更の仕方を知っているひとはいます?
フォントサイズを大きくしたら、ボタン名がキレイに表示されなくなった。
毎回ウィンドサイズを変更するのがメンドイ。

134 名前:デフォルトの名無しさん mailto:sage [2006/05/24(水) 13:40:08 ]
>>133
いささか、その場しのぎ的方法で恐縮ですが、RealEstateAgent class >> #standardWindowExtent の

^ (allowedArea extent - (grid*(maxLevel+1*2) + (grid//2))) min: StandardSize "600@400"].

という行を、

^ 800@600
"(allowedArea extent - (grid*(maxLevel+1*2) + (grid//2))) min: StandardSize" "600@400"].

というように書き換えて accept(alt/cmd + s)してしまえば、指定した好きなサイズに固定できます。

135 名前:デフォルトの名無しさん mailto:sage [2006/05/24(水) 22:55:17 ]
長文失礼。書き込みたかっただけ。

コトの発端は、
Smalltalk keysDo: [:each |Transcript cr; show: each].
で、システムに登録されたキーをすべて表示したとき、途中を見たかったが、
量が多いし辞書順に出力されるわけでもないんでバックスクロールが面倒だったこと。

select:とか使えば見たい部分を引っ掛けられるんだが、「なんとなく見たい」場合は見たい部分を
指定できるハズもない。
windwowsなら中間ファイルにリダイレクトしてエディタで開く。unixならパイプでless起動。
squeak的にはどんなアプローチが『普通』なんだろう?

squeakではファイルという存在が見えにくい。ならsqueak的にデータは
どこに格納すべきなんだ。やっぱり生データではなくオブジェクトにする
んだろうか。すべてのオブジェクトは生きている(動いている)というのが
元の設計思想らしいので、これに従うと、例えばsqueakにmovieファイルを
ドラッグアンドドロップすると、そのファイルはオブジェクトに自動変換され、
Squeakの画面にある間はずっと再生しつづける、とかかな。オブジェクト4つくらいで
コマ落ちしそう。プロセッサパワーが無限にあると仮定しても、オブジェクトが50とか
あると1画面に入りきらないような気がする。大量のオブジェクトがあった場合、
必要なオブジェクトを探す方法が必要になるね。
いまのsqueakにそんなものってあったっけ。俺が探せていないだけか。



136 名前:デフォルトの名無しさん mailto:sage [2006/05/24(水) 23:10:35 ]
Smalltalk keys または
Smalltalk keys asSortedArray

を inspect するのはダメ?

137 名前:135 mailto:sage [2006/05/25(木) 00:11:42 ]
>>136

まあ、確かに結果は得られるんですが。
なんというか、やっぱいいです。

138 名前:デフォルトの名無しさん mailto:sage [2006/05/25(木) 00:23:56 ]
>>136
インスペクタは途中を省略してしまうので、この局面には向かないかも…。

>>135

| contents |
contents := String streamContents: [:ss |
 Smalltalk keys asSortedArray do: [:each | ss nextPutAll: each; cr]].
Workspace new contents: contents; openLabel: 'Smalltalk keys'

なんていうのではどうでしょう。あるいは、いっそファイルにはき出してしまうとか。

| file |
file := FileStream fileNamed: 'smalltalkkeys.txt'.
Smalltalk keys asSortedArray do: [:each | file nextPutAll: each; cr].
file edit

なお、ここでは、上のワークスペース同様、ファイルリストを使ってあえて出力したファイルを閲覧していますが、
メッセージング・パラダイムに脳が冒されているか、熱烈な暫定ダイナブック環境支持者、はたまた
again 中毒者(^_^;)…でもないならば、すべて Smalltalk 環境で済ませる必要はなさそうです。
作ったファイルはお好みのエディタで閲覧するほうが現実的だと思います。

Squeak を、使い慣れて熟知した環境と比べて、その使い勝手がひどく劣っていると判断したり、
馴染みのツールや機能が無いことを見つけて、使えないシステムだと切って捨ててしまうことは、
とてもたやすいことだと思います。でも、ちょっと見方を変えて、使い慣れた環境には存在し得なかった
面白いツールを発見したり、新しいコンピューティング像を模索してみるというのもまた一興かなと思います。

139 名前:デフォルトの名無しさん mailto:sage [2006/05/25(木) 15:59:35 ]
単純に'Smalltalk'をエクスプロアすればOKだと思うけど。
ところで、ショートカットをAlt-?からCtrl-?に変えるには、どうすればいいのでしょうか?
Alt-X、Alt-C、Alt-Vとか使いにくい。そもそもなんで、Ctrl-XじゃなくてAlt-Xなんだろう。

140 名前:デフォルトの名無しさん mailto:sage [2006/05/25(木) 16:57:08 ]
>>139
help.../appearance... → preferences... → general → swapControlAndAltKeys → ON

Squeak はもともと Mac 上で開発されていて(つか、ベースに使った Smalltalk が Apple 製…)
cmd-z/x/c/v だった。ctrl には shift+cmd のキーショートカットが割り振られていたので
Win などでは ctrl はそのまま shift + cmd 関係を引き継ぎ、alt が cmd の代わりになった。
あと、Squeak ではほとんどのアルファベットにキーショートカットが割り振られているが、
ctrl だと本来の意味とバッティングしてしまい起動できない場合があるのも無関係ではないかも。

141 名前:135 mailto:sage [2006/05/29(月) 22:11:34 ]
>>138
どっちも文句ないです。
(前者はSmalltalkの前に全角スペースがあって戸惑った)

> メッセージング・パラダイムに脳が冒されているか、

ぜひ冒して欲しい。


142 名前:135 mailto:sage [2006/05/29(月) 22:13:24 ]
>>136
否定的な書き込みすまん。
「オブジェクトブラウザ」を提案したつもりだったが食いつきがなかったもんで。

143 名前:デフォルトの名無しさん mailto:sage [2006/06/01(木) 13:29:41 ]
> Win などでは ctrl はそのまま shift + cmd 関係を引き継ぎ、alt が cmd の代わりになった。

Win に移植した時点で変更するべきだったのでしょうね。

今からでもデフォルトを swapControlAndAltKeys が ON の状態にしたほうが
良いのではないでしょうか。

>>138 さんのおっしゃるように Smalltalk 環境ですべてを済ませることが現実的
でないなら、もうすこし、OS や他のアプリケーションとの親和性を考慮したほうが
ユーザーにとってはありがたいと思います。

144 名前:デフォルトの名無しさん [2006/06/11(日) 10:59:56 ]
binaryファイル->textファイルの変換プログラムを作成したい。

[入力ファイル]
4byte unsigned long bigendian * 25 = 100byte

[出力データ]
25個の数字。(10進)

どーすんだー。(泣)
なんかクラスでもつくるんかー。

せめてサンプルになりそうなヤツのタイトル教えて。なるべくかんたんなヤツ。
squeak.qp.land.to/index.php?Squeak%2FSampleCode#content_1_33


145 名前:デフォルトの名無しさん mailto:sage [2006/06/11(日) 12:53:24 ]
入力が100バイト=800ビットで
出力が10進数25ケタってことは220ビットくらいか?
どっかで情報が失われてるぞ
入力に制限があるんじゃないの?



146 名前:デフォルトの名無しさん mailto:sage [2006/06/11(日) 13:29:05 ]
>>145
>どっかで情報が失われてるぞ
えーと、25個の数字というのは25桁の数字ではないです。
4byteなので1個の数字の最大桁数は10桁かと。


147 名前:デフォルトの名無しさん mailto:sage [2006/06/11(日) 13:38:22 ]
実は作成したいんは

バイナリログファイル->テキストログファイル

です。ハイ。
ファイルの先頭48byteはヘッダで、とりあえず無視します。
そのあとから16byteごとのレコードが続いています。で、レコードは
4つの4byteフィールドからなるっていて、フィールドはその数字に
対応する文字列が別途あり、ここを対応付けるスクリプトを書きたい。

でも4byteの数字をつくることさえ、ままならない。(現時点では掛け算で求めてる)

なお、Cでは簡単にかけちゃうんですが、そこはSqueakを使いたい。
クラス、メソッド、メッセージ。オブジェクト指向って何かがわかるかな〜と。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<113KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef