全然スレ立たないけどみんな興味無いの?
いっしょに遊びましょ♪
⊂二二二( ^ω^)二⊃ ブーン
(ノ∀`)アチャー
Squeakで2chブラウザ作ってみたいけど
どうやって作ればいいんだろ
network関係のクラス漁ってもイマイチ
ワケわかんないし
6 :
デフォルトの名無しさん:2005/11/07(月) 22:46:15
俺の場合、チュートリアルのレース作って
わーいわーい
ってよろこんだ後
なにしよう・・・
状態
↓以下、ム板用AAテスト専用スレ
8 :
1:2005/11/08(火) 12:28:24
ありゃりゃ
空気読めてなかったぽい私orz
じゃあ今から私が叩かれるスレで・・・一気に1000まで消化しますか
んでもって新たにやり直す感じでいいですか?
私のスペック
PC歴20年弱
28歳独身離婚歴あり子供中学生一人
住まいは埼玉県のどっか
可能な限り全レスして叩かれますので
age進行で罵詈雑言お願いします
Squeakの話も大歓迎です
PCには犬と窓両方Squeak入れて遊んでます
9 :
1:2005/11/08(火) 12:34:04
Squeakではクラス定義の仕方がイマイチわかってません
インスタンスメソッドとクラスメソッドの違いもわからない
概念はおぼろげにはわかるんだけど、いざ自分でコーディングしょうとすると
怖くてAccept出来ません
10 :
1:2005/11/08(火) 12:37:06
あ、そんなこと言う前にみんなに一言ですよね
糞スレ立ててごめんなさいm(_ _)m
反省してます
ま、いいんでね。
1はSqueak/Smalltalk/OOPに関して知っていること、分からないことを
逆さに振っても出てこなくなるまでひっきりなしに吐露しる!
で、ヒマなやつがつっこむ…と。
とりあえず、イメージを別名で保存して作業用、学習用イメージを新規につくればいいんじゃねーの?多分
>11
そう言って頂けると嬉しいです
なるべく毎日Squeakいぢるようにしますね
>12
助言ありがとうございます
新規に自分用のimage作るのはやってみました
新たにimageコピーして別の作業場を作る感じなのかな?
(OS側の)Squeakフォルダに*.imageと*.changesが
2つずつ出来てました
このコピーした方なら安心ってことですね
SqueakToysのscriptingで、stop script と pause script ってどう違うんですか?
stop は状態を normal -- run when called にするってこと。
pause は状態を paused -- ready to run all the time にするってこと。
そこまでは分かったんですが、normal状態とpaused状態の違いがよく分かりません。
pausedの方がすぐに動き始めるような感じがしますが、具体的に何が違うんでしょう。
>15
全スクリプトを使ってみなよ。信号機みたいなやつ。
したら多分わかる。
gameにあるトランプの絵みたいな画像データはどうやってsqueakのなかに取り込むんだ?
なんか配列?データのなかに画像データがあるみたいだけどこれはjpgかgifのデータが
そのまま16進数で書いてあるのか?
この16進数列はhexdumpかなにかで作ってコピペで書き込む必要があるのか?
18 :
デフォルトの名無しさん:2005/11/10(木) 22:31:02
>17
Form class の instance creation カテゴリを見れ
19 :
デフォルトの名無しさん:2005/11/11(金) 12:04:36
えーっと
PackageLoaderで色々インストールしてたら
ダイアログ出て来て「Proceed」「Abandon」「Debug」を
選べってでたんですけどどうすればいいんですか?
「Debug」選んでどこでエラーが起きたか、エラーが発生したときの状態を調べる、かな?
発生箇所が解っても理由が解らないとどうしたらいいかわからない・・・
>>19 色々の具体的な中身が肝心だろ
パソコン初心者かよ
22 :
15:2005/11/11(金) 15:19:15
>>18 >>16 回答ありがとうございます。
その方法を試したり調べたりしてみます。
御礼が遅くなってすみませんです。
eToysで子供がアニメーションを作ってしまうことについて
関係者の間で議論になっているようですが、どういう問題が
あるんでしょうか?
これって、VMなんだよね?
ブートのときロードしたらOSの代わりにはならんの?(一応OS板だし)
デバイスドライバとか、ファイルシステムは持っていないのかね?
仮想のOSととらえることは可能ですが、デバイスやファイルへのアクセスは
通常は下層の本当のOSへ委譲する実装になってます。だから、
下層のOS抜きでbootしてSqueakのみで稼動させるのは事実上無理ですね。
でもソースが公開されているし、結構portabilityもあるので、、やりたければ
自前のデバイスドライバを組み込む程度は十分可能なんじゃないかな。
ここってOS板なの?情報システム板じゃない?
>>26 素で勘違いしてた。プログラム技術板ですね。
やっぱりデバイスへのアクセスにはOSの機能を使ってるんですね。
ちと探してみたら、sourceforgeにsqueaknosというプロジェクトがあるみたいだ。
OS無しでの稼働環境を目指す。と、
でも最終リリースが2001年4月・・・
閑古鳥が鳴いている
31 :
デフォルトの名無しさん:2005/12/03(土) 01:05:57
Smalltalk全般の話題もここでOK?
今何か話したいことがある訳じゃないけど、最近自分もオブジェクトランドに
行くようになったのでお世話になりますね。
32 :
デフォルトの名無しさん:2005/12/03(土) 02:29:28
>31
OK
サクサクsmalltalk買ってきました
ディペンデンシィ機構で詰まってます。Squeakだとどのクラスが
いいリファレンスになりますか?あちこちブラウジングしてても理解できません
>>33 ぜんぜん答えになってないのだけれど、面白そうなのでこんなの書いてみた。
| sysNavi adds removes classes messages |
sysNavi := SystemNavigation default.
adds := sysNavi allCallsOn: #addDependent:.
removes := sysNavi allCallsOn: #removeDependent:.
classes := (adds collect: [:each | each class]) intersection: (removes collect: [:each | each class]).
messages := (adds union: removes) select: [:each | classes includes: each class].
sysNavi browseMessageList: messages asSortedArray name: 'Usage of dependency'
>>34 スマン。間違えてた…。orz
each class は each classSymbol に again all (ctrl-J) してね。
36 :
デフォルトの名無しさん:2005/12/07(水) 10:21:26
SmalltalkのPointクラスを調べて思ったんですが
単なる二次元ベクトルとしても使われるんですね。
たとえば矩形の平行移動のパラメータとか。
Pointという名前は平面上の1点を表すオブジェクトとしか
思えないので、こういう使われ方は正直気持ち悪いです。
責務を分けるのが筋だと思うのですが、みさなんはどう思われますか?
点の位置はベクトルとして表されるって知ってる?
>>37 線形代数の初歩くらいは一応習ってますよ。
ベクトルを表すオブジェクトなら2DVectorとかそういう名前が適切じゃないかと
思うんですよ。
VWのPointのコメントにもわざわざ
> For special situations, a Point can be used to represent any
> two-dimensional quantity, such as a row-and-column location in a
> table.
って書いてありますね。
名前と責務の整合性よりも Number>>@ でリテラルとして書ける利便性を
優先したんじゃないかと邪推してしまいます。
Pointの用法、もっと汚い例あるよ。
大きさ2のArrayの代用にしてる例。
どこだっけかなあ。
見つけたのは大昔だったから今もあるか不明。
厳格には
>>36の言うように責務に応じてクラスを分けるか、
それで複数できるクラスを捨象して抽象クラスを出すとか、
そうじゃなければ責務の違いを弁証法的に持ち上げて各種名称を変えるか、
そういうのが理想ではあると思う。
つまり、面倒だからちょっとサボりましたよ、正直スマンカッタ(AA略 じゃね?
で、その理想を実現すると
どんな感じになりますか?
>>38 へぇ
Dolphinのクラスコメントにはないや。
個人的に座標とベクトルは表現の違いで同じものってイメージだから
名前はどっちでもいいような気がする。
toyで確率の計算をするにはどうすればいいでしょうか…
1/3の確率のものを作りたいんですけど…
45 :
age:2006/01/07(土) 19:14:38
47 :
デフォルトの名無しさん:2006/01/28(土) 17:45:20
Smalltalk/Vで遊んだことがあって、Squeakプログラミングは
いつでもできるつもりになっていたが、
Squeakプログラミングではacceptしなくてはならない、ということを
数日前に知った。
>>47 accept しないでいい処理系は、どういうタイミングでコンパイルされるの?
49 :
47:2006/01/31(火) 03:29:59
うろ覚えだがSmalltalk/Vではコードを書き込んだらすぐに実行可能
だったと思う。コードを書き込んだそばからコンパイルされている
のでは無いだろうか。
それだとタイピング途中はコンパイルエラー出まくると思う
51 :
デフォルトの名無しさん:2006/03/05(日) 06:14:04
タイピング途中にエラーが出ても問題ないのでは無いですか?エラーが見えて丁度良い。
53 :
デフォルトの名無しさん:2006/03/12(日) 00:48:30
このクラス菅ーと思ってよくよくみると
<primitive: 153>
だったりして残念
>>53 VMまでおっかけるのはいかが。
Slangだったらよかったのにね。
TextSS のWindowsXP(Professional)64bit化おながいします
もしくは64bitにネイティブ対応したテキスト置換ソフトありますか?
そういや64bitにネイティブ対応している2chブラウザてありましたっけ?
ブルーブックついにゲット
これから読みあさります
パープル買って26-30章はネットで見ろと?
squeak をiPAQで走らせてます。
もう、現代版newtonという感じですね。
End User Programming に興味があります。
59です。
2-3年前まではiPAQでsqueakを走らせることは、あまりに遅くて
現実的でなかった。ところが、最近のPocketPC例えばiPAQ h2215
あたりから、そこそこストレスなしにsqueakが走ってくれます。
現場でコンピューティングパワーをsqueakを通して容易に使う
ことが出来るようになりました。もう、むちゃくちゃおもろい。
61 :
デフォルトの名無しさん:2006/04/18(火) 15:36:48
アラン・ケイにメールを
送りたいから、メールアドレス教えて。
62 :
age:2006/04/19(水) 01:04:16
ExcelVBAつついてたら見つけたんだが、Squeak.ocxってどうやって使うんだ?
>>48 forthだとwordが確定した時点で実行される
64 :
デフォルトの名無しさん:2006/04/19(水) 20:56:43
>>62 コントロールツールボックスから貼り付けて使います。何の役にも立ちませんが。
68 :
sage:2006/04/28(金) 01:20:31
なんか、squeakっていかにも子供向けっていう感じの画面なんだけど
いったい、子供がカメ?を動かしてみたり、お絵かきしてみたりして、
何の意味があるのかサッパリ解らないんです。
はっきり言って、金持ちの大人と、わけわからん大人の自己満足の世界がプンプンするよ。。
どっかのホームページに子供にいじらせている写真が出てますけど
こんな小さいときから、画面の前にかじりついているより、外に出て遊ばせた方が
絶対、その子供のためになると思うのですが。。。
しかしまぁ、百歩譲って、そんなにコンピュータを触らせたいななら、
smalltalkなんか教えるより、assemblerでコンピューターというのは
こんなもんだ、ってみっちり教え込んだ方が、絶対その子のためになると思うんだけど。。。
将来、squeakで食える事もなければ、仕事の役に立つこともまずあり得ないけど、
アセンブラが出来れば、ほぼ、食っては行けるし、コンピュータの基礎もばっちりだね。
いったい、何を考えているのかサッパリ解らん。
>>68 >いったい、何を考えているのかサッパリ解らん。
You too!!
食っていけるかどうかで考えるなら義務教育なんて殆ど糞
法律さえ守れば道徳なんてなくてもいい
道徳さえあれば法律なんてなくてもいい
道徳ってなに?
>>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とか)を出したい時はどうするんだ?
>>77 “出す”の意味によるけど。
ファイルから読み込んで表示…なら、Squeak のデスクトップにドラドロ。
あるいは、ファイルリストを使うか、ImageReadWriter のサブクラスを使うか。
モーフをファイルに出力…なら、選択して赤ハローから export... 。
あるいはやはり ImageReadWriter のサブクラスを使うか。
>>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
>>80 .jpg ファイルなどを選ぶと、最上段のボタン構成が変わるから、
そこから open を選ぶと開けるよ。
システムとかアプリケーションという区別や概念が稀薄だからね…。
ファイルシステムがベースにある現在主流のコンピュータ環境にどっぷりだと、
ちょっと馴染むのに骨が折れるかも。
ルールは「メッセージング」(つまり、何にどんなメッセージを送るか、を考えて
それを調べ、知り、実践する)だけだから、本当は簡単なはずなんだけれどもね…。
この切り替えが、頭では分かっていたとしても、なかなか。
>>79 環境だけれども、柔軟で粘土みたいなものだから、いろんなものに擬態します。
アプリだったり、オーサウエアだったり、開発環境だったり。
メッセージングという考え方は、シンプルだけどパワフルだから、いろいろな
ものを記述したり、表現できたりするので、見た目に惑わされないようにしないと。
>いったい、子供がカメ?を動かしてみたり、お絵かきしてみたりして、
>何の意味があるのかサッパリ解らないんです。
ある意味、写真にだまされているのかも。写真は多くの情報が欠落しているから、
それを理解するには想像力が必要です。自分がどう感じたか、ということよりも。
逆に様々な情報が欠落しているからこそ、恣意的な主観を働かせることが出来る
余地があるとも言えますが。楽しいメディアですね。
実際squeakはとっつきにくい。関連したwebや書籍をみても
「オブジェクトありき」とか「すべてはメッセージ」とか、開発者寄りの話
しか見つからない。
初めて(生)MS-DOSを触ったときを思い出した。途方にくれるカンジ。
>>84 Mac や Win の受け身的、限定的なところを心地よく思うようになると、
ユーザー側から攻めてなんぼの暫定ダイナブック環境はやっぱりキツい。
これってマイクロカーネル妄想信者が作ったの?
88 :
84:2006/05/04(木) 15:50:17
それでも俺はsqueakを知りたい。きっとこれは素晴らしいものだと感じている。
でも、どうすればいいのか検討もつかない。まるで青春時代の自分探しだ。
くもの糸はどこ?
アラン・ケイにメールかMLで直接質問すればイイじゃん。
あ、5/17は66回目のお誕生日です。>アラン・ケイ
>>88 知りたいことが分かっていれば、言ってくれれば、なんでも教えてあげますよ。w
もちろん当方の分かる範囲で…ですが。
ときに「自分探し」とは言い得て妙ですね。したいことがはっきりしていないと
ほとんど価値のない環境ですから…。
最新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.
同じエラーメッセージが出た。そもそも考え方が違うってか。
テキストの一行だけをコピペってたからダメだったんだろうか。
全部で、たった3行だし真面目に入れるか。
"do it"
うんともすんとも言わなくなってしまった。タスクマネージャも
ユーザタブから変更が効かない。止む無くリブート。(Win2k)
もう寝ろ、と言っていたのかも知れない。
>>91 TelnetMachine はともかく、Morph がエラーになるのはなにかおかしいですね。
(
>>91 ちなみに TelnetMachine は TelnetMachine open の do it (alt/cmd + d) で
ウインドウが開きます。TelnetMachine class >> #open の定義は、ブラウザの
上段第2ペイン下の class ボタンを押して切り替えることで見ることができます。
>>92 とりあえず、3 + 4 とかの print it (alt/cmd + p) は出来ていますか?
>>95 あ、win2k なら alt + p ですね。念のため。(cmd は Mac ユーザー向け)
>squeakを知りたい。きっとこれは素晴らしいものだと感じている。
実はSqueakには2つのシステムがあって、1つは「Smalltalk」。
もう1つは、Smalltalkの上にある「SqueakToys」。子供たちが
使っているのはSqueakToysの方です。Squeakで素晴らしい、
すごいと言えるのはSmalltalkというシステムの方だと思います。
>smalltalkなんか教えるより
誤解じゃないかな。Smalltalkは教えていないと思います。
>>94 > ちなみに TelnetMachine は TelnetMachine open
たしかにopenで成功しました。そこで質問ですが、
・なぜ「open」という存在を知っていたのか、
・それがインスタンスでなくてクラスである理由
は なんでしょうか?判る範囲で構いませんのでゼヒ。
ちなみに、Morphにおける「new」というメソッドはMorphでも、そのSuperclassである
ObjectでもさらにそのSuperclassであるProtoObjectでも定義されていないんですが、
なぜ有効なんでしょう。
>>95 > とりあえず、3 + 4 とかの print it (alt/cmd + p) は出来ていますか?
7になりますね。
再起動後は問題ないです。「morph2 := Morph new openInWorld. 」も成功します。
コードをいじっているんだから頻繁に停止したり、そのために再起動することに
なるのは別に珍しくないような気もしますが。
TelnetMachine open. の do itで作成したオブジェクトにWorkspaceから
メッセージを送る方法はありますか?
表示されたobject(ウィンドウ)のハローを表示してインスペクタでselfを
みるとオブジェクトIDっぽい数字「a SystemWindow(3652)」が現れるんですが、
この数字を介してメッセージの送信は可能でしょうか。
>>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 という機能です。
>>100 インスペクタの左側のペインで model をダブルクリックしてください。
新しいインスペクタが現れて、これのインスペクタワークスペース(下のペイン)で
self に束縛した a TelnetMachine にメッセージを投げれます。
そんなことをせずとも元のインスペクタのインスペクタワークスペースで model に対して
メッセージを送ってもよいでしょう。
どうしてもワークスペースを使いたい(例えば、ワークスペース変数が好き、とかの)
理由があるならば、グローバル変数に model を束縛しておくという手もあります。
Smalltalk at: #MYTELNET put: model
これで、ワークスペースからでも MYTELNET でアクセスできます。
>>102 どうして model に a TelnetMachine が束縛されているのをしっているのか?
という質問がきそうなので先に答えておくと、それは、TelnetMachine class >> #open
の定義をざっと見たからです。
あと、メソッド名が分かっている場合、たとえば今の場合 #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:2006/05/07(日) 03:55:23
>>101-104 詳しい回答ありがとうございます。
簡単な質問ばかりして迷惑かけてそうなんで、疑問の解決は
しばらく書籍に頼ってみようと思います。ちょうど、手元の本に
メタクラスもメソッドファインダの話も載ってました。
(ゲームを実装する章だったんで飛ばしてた)
>>105 まあ、基本かどうかはあまり気にせず、悩んだときにはいつでもどうぞ。
Smalltalkは、コツがつかめるまでは、ささいな事でも人に訊いて解決するのが
一番ですから。
SqueakからXにウィンドウを表示させたりできるんですか?
GTKでGUI作っているんですけど,これと同じことってSqueakでもできるのか気になります。
後,シェルスクリプトみたいにコマンドラインツールとしてSqueakを利用できるのですか?
どちらも GNU Smalltalk を使うと良いナリ。
JIT だから速いし、コマンドラインから使えるし、Tk で GUI 作れるし、クロージャもあるナリよ。
昔ちょっとインスコしただけだから保証は出来ないけどね。
111 :
デフォルトの名無しさん:2006/05/11(木) 21:24:06
112 :
デフォルトの名無しさん:2006/05/11(木) 22:48:36
カッコいい!
使ってみよ
113 :
デフォルトの名無しさん:2006/05/12(金) 14:38:40
>>113 >squeakの「何を」知りたいのですか?使い方?教え方?考え方?売り方?
squeakを通して『オブジェクト(指向)』というものを知りたいのです。概念を体験したい。
BASICでアルゴリズム、プログラミムというもの、
MS-DOSでカーネルやシェル、そしてファイルシステム、
Cとアセンブラでプロセッサのアーキテクチャ、スタックやメモリモデル、
unixでハードウェアの(ファイルという)仮想化、ツールボックスアプローチ、システム管理、
MACやwindwosでユーザインタフェース。
いろんなものを学びました。今度は「オブジェクト指向」がターゲットです。
いつでも感性が「コレだ!」と告げるものを学んできました。今は「Squeak」がソレです。
まあ、趣味なんですが。
116 :
デフォルトの名無しさん:2006/05/14(日) 03:40:08
それだけいろいろなものに触れてきた人が
自分で道を開けないなんて・・・
まさにローリングストーンだね
117 :
114:2006/05/14(日) 08:51:24
>>116 > それだけいろいろなものに触れてきた人が
> 自分で道を開けないなんて・・・
コンピュータ暦10年以上。それぞれ数年懸けて身に着けました。
いつまでたっても要領は良くならない、生みの苦しみはなくならない。
でも関連する書籍やモノに触れて一年か二年くらいすると、あるとき突然啓示が来ますね。
カーニハンとかストールマンとかエイホとか、アラン・ケイとかは
違うんだろうな。
生きてるうちに理解できれば良しとしたいところですが、生まれるまでは
苦しいんです。(コンビ芸人の片方の名前を思い出せないくらいの苦しみ)
118 :
114:2006/05/14(日) 08:58:25
>>115 thnx。とっかかりもつかめてないんで なんでもwelcom。
辛気臭くなると叶わんし、低姿勢なのもストレス溜まる。もうROMる。
シンボルって何につかうんだろう。
>>121 事故解決。固定文字列を定義するものらしい。
しかもシステムでユニークだそうだ。適当に書いてもバッティングしないんかしら。
>>122 バッティング、即ち同一ですから。
新しいのをつくれば、シンボルテーブルに追加されます。
124 :
デフォルトの名無しさん:2006/05/19(金) 00:00:51
みんなSqueakで何やってんだ?まさかメイン環境にしてるってこたないよな。
>>124 しょっちゅう起動はするけれど、あんましたいしたことには使ってないなぁ…。
again が好きなので、短かい文章を書いたり、再構成の必要があるときの
エディタ代わりかな。あと、広い意味での(数値だけじゃなく、数値列や文字列、
画像なんかも対象とする…)ちょっとした電卓代わり。たまに、幾何的な図が
欲しいときにタートルに描かせたりとか。
インスコ作業で爆発的な満足感を得る。
その後、次のバージョンが出るまでねっとりとした放置プレイで愉悦。
127 :
age:2006/05/20(土) 01:46:21
設計のパクリのネタ元になるかと思ったけど今イチ使いこなせない...
使えないおいらが悪いのかもしれないけどね
なんつーかね、使いにくい訳よ、VisualStudioなんかと比べたら。
あとMacOSXのInterfaceBuilderみたいなGUIなビルダー(デザイナー?)が欲しい訳よ、おいら
eToyをやればいいのかもしれんがあれは亀動かしたら次がよくわかんねーし
なんか妙にCUI(?)に縛られてて気持ち悪い
>>127 俺もまだろくに触れてないんだけど、その比較はちょっと違うと思う。
GUIとかCUIとかじゃなくて、オブジェクトがたまたまグラフィカルに見せることもあるし、
そうでないこともあって、「GUIの部品」みたいな概念はないんだと思う。
他言語のIDEみたいに見てると、不満ばかり持つんじゃないかな。
間違ってたら誰か訂正して。
>>127 パクる目的なら、あえて慣れない場所でいつもの何かをどうやって作るか…ではなくて、
そこで新しく触れる手近なものたちがどんなふうに「メッセージング」というパラダイムのみで
実現されているのか…を調べるスタイルに接し方を変えてみたらどうでしょう?
例:
- ウインドウやポップアップはどう実装され機能しているか?
- テキストエディタは? テキストの入出力は?
- do it でどうやって単なる文字列がコードとして評価されているのか?
- コンパイラの仕組みは? デバッガの仕組みは?
- ワークスペースやシステムブラウザ、ファイルリストなどのアプリの実装は?
- クラスは? メソッドは? 継承機構は?
あとは、ライブラリ内に潜って、デザインパターンの実例を探してみる…とか。
その前に、キーとなる「メッセージング」というメンタルモデルのほうは大丈夫でしょうか?
これダウンロードしてインストールしたけど
そっから先、どうしていいかわかんない
>>130 大丈夫、わからんのは俺も一緒。一人じゃない。よかったね。
>>130 - ドラッグ&ドロップでプログラミングをする eToys と、
- メッセージングでプログラミングをする Smalltalk 、
どちらに興味がありま万か?
前者なら
1. 画面の下にある「ナビゲータ(Navigator)」タブから、刷毛ボタンでペイントツール起動。
2. 適当な絵を描いて(あまり凝ったものにはしないこと)「ほぞん(Keep)」
3. 絵を、Mac ならコマンド(以下、cmd)キーを、それ以外なら alt を押しながらクリックして選択。
4. 現れるボタン群から左中央の目玉をクリックして、ビューワを起動(画面左側に現れる)。
5. ビューワから [スケッチ][を回す:][5](または、[sketch][turn:][5])をデスクトップにドラッグ&ドロップ。
6. 現れたスクリプトパネルの時計ボタンをクリックしてプログラムを実行…
というようにするととりあえず遊べます。さらに詳しく知りたければ、
http://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
ウィンドウのデフォルトサイズの変更の仕方を知っているひとはいます?
フォントサイズを大きくしたら、ボタン名がキレイに表示されなくなった。
毎回ウィンドサイズを変更するのがメンドイ。
>>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)してしまえば、指定した好きなサイズに固定できます。
長文失礼。書き込みたかっただけ。
コトの発端は、
Smalltalk keysDo: [:each |Transcript cr; show: each].
で、システムに登録されたキーをすべて表示したとき、途中を見たかったが、
量が多いし辞書順に出力されるわけでもないんでバックスクロールが面倒だったこと。
select:とか使えば見たい部分を引っ掛けられるんだが、「なんとなく見たい」場合は見たい部分を
指定できるハズもない。
windwowsなら中間ファイルにリダイレクトしてエディタで開く。unixならパイプでless起動。
squeak的にはどんなアプローチが『普通』なんだろう?
squeakではファイルという存在が見えにくい。ならsqueak的にデータは
どこに格納すべきなんだ。やっぱり生データではなくオブジェクトにする
んだろうか。すべてのオブジェクトは生きている(動いている)というのが
元の設計思想らしいので、これに従うと、例えばsqueakにmovieファイルを
ドラッグアンドドロップすると、そのファイルはオブジェクトに自動変換され、
Squeakの画面にある間はずっと再生しつづける、とかかな。オブジェクト4つくらいで
コマ落ちしそう。プロセッサパワーが無限にあると仮定しても、オブジェクトが50とか
あると1画面に入りきらないような気がする。大量のオブジェクトがあった場合、
必要なオブジェクトを探す方法が必要になるね。
いまのsqueakにそんなものってあったっけ。俺が探せていないだけか。
Smalltalk keys または
Smalltalk keys asSortedArray
を inspect するのはダメ?
137 :
135:2006/05/25(木) 00:11:42
>>136 まあ、確かに結果は得られるんですが。
なんというか、やっぱいいです。
>>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 を、使い慣れて熟知した環境と比べて、その使い勝手がひどく劣っていると判断したり、
馴染みのツールや機能が無いことを見つけて、使えないシステムだと切って捨ててしまうことは、
とてもたやすいことだと思います。でも、ちょっと見方を変えて、使い慣れた環境には存在し得なかった
面白いツールを発見したり、新しいコンピューティング像を模索してみるというのもまた一興かなと思います。
単純に'Smalltalk'をエクスプロアすればOKだと思うけど。
ところで、ショートカットをAlt-?からCtrl-?に変えるには、どうすればいいのでしょうか?
Alt-X、Alt-C、Alt-Vとか使いにくい。そもそもなんで、Ctrl-XじゃなくてAlt-Xなんだろう。
>>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:2006/05/29(月) 22:11:34
>>138 どっちも文句ないです。
(前者はSmalltalkの前に全角スペースがあって戸惑った)
> メッセージング・パラダイムに脳が冒されているか、
ぜひ冒して欲しい。
142 :
135:2006/05/29(月) 22:13:24
>>136 否定的な書き込みすまん。
「オブジェクトブラウザ」を提案したつもりだったが食いつきがなかったもんで。
> Win などでは ctrl はそのまま shift + cmd 関係を引き継ぎ、alt が cmd の代わりになった。
Win に移植した時点で変更するべきだったのでしょうね。
今からでもデフォルトを swapControlAndAltKeys が ON の状態にしたほうが
良いのではないでしょうか。
>>138 さんのおっしゃるように Smalltalk 環境ですべてを済ませることが現実的
でないなら、もうすこし、OS や他のアプリケーションとの親和性を考慮したほうが
ユーザーにとってはありがたいと思います。
144 :
デフォルトの名無しさん:2006/06/11(日) 10:59:56
入力が100バイト=800ビットで
出力が10進数25ケタってことは220ビットくらいか?
どっかで情報が失われてるぞ
入力に制限があるんじゃないの?
>>145 >どっかで情報が失われてるぞ
えーと、25個の数字というのは25桁の数字ではないです。
4byteなので1個の数字の最大桁数は10桁かと。
実は作成したいんは
バイナリログファイル->テキストログファイル
です。ハイ。
ファイルの先頭48byteはヘッダで、とりあえず無視します。
そのあとから16byteごとのレコードが続いています。で、レコードは
4つの4byteフィールドからなるっていて、フィールドはその数字に
対応する文字列が別途あり、ここを対応付けるスクリプトを書きたい。
でも4byteの数字をつくることさえ、ままならない。(現時点では掛け算で求めてる)
なお、Cでは簡単にかけちゃうんですが、そこはSqueakを使いたい。
クラス、メソッド、メッセージ。オブジェクト指向って何かがわかるかな〜と。
>147
Integer class >> byte1:byte2:byte3:byte4:
を見れ。
開発するときはsystem browserを直接書き換える以外の方法はないか。
他のクラスを参照するために複数のbrowser立ち上げる必要あって、それぞれの
概観が一緒なのでうざい。あと、一時的に作成する場合に、いったん過去のコードを
削除して作成したものをアクセプトするのがイヤ。(前のコードを忘れそう)
プロジェクト変えてもbrowserの中身は変わってないし。
複数のsqueak立ち上げるのもバカっぽい。
150 :
147:2006/06/11(日) 18:56:50
>>148 動かん。
fileStream := FileStream readOnlyFileNamed:'log.bin'.
fileStream binary.
fileStream position: 48.
b1 := Integer new.
b2 := b1 byte1:(fileStream next) byte2:(fileStream next) byte3:(fileStream next) byte4:(fileStream next).
Transcript cr; show: b2.
えーと、byte1:...はクラスメソッドだからオブジェクトb1は必要ないのか。
>>149 ナニ言いたいのかさっぱりわからない。きちんと整理してからしゃべってくれるか。
>>150 必要ない。Integer クラスに直接メッセージを送って起動する。>#byte1:byte2:byte3:byte4:
>>149 複数のブラウザを開くのは(タブブラウジングという文化がなかった時代からのなごりなので)
慣れるか、それがどうしても耐えられないなら、自分用にタブブラウザを作るしかないですね。
前のコードはバージョンブラウザで閲覧できます。
ブラウザで versions ボタンを押すか、メソッド名リスト枠で alt/cmd + v で起動できます。
もとのコードに戻すには、バージョンブラウザで過去のコードを選択して revert 。
>>152 >
>>150 > 必要ない。Integer クラスに直接メッセージを送って起動する。>#byte1:byte2:byte3:byte4:
いけました。ごっちゃんです。
>
>>149 > 複数のブラウザを開くのは(タブブラウジングという文化がなかった時代からのなごりなので)
> 慣れるか、それがどうしても耐えられないなら、自分用にタブブラウザを作るしかないですね。
エディタを使用して作成したりはしないということですね。
そーゆーもんなら、私もそうやって作成することにします。
> 前のコードはバージョンブラウザで閲覧できます。
おおっ、便利。知らんかった。
154 :
デフォルトの名無しさん:2006/06/12(月) 22:22:36
"_"はどうやって入力すればいいのでしょう。否応無く左矢印になってしまって...
同じ文字コードです。グリフがそうなっちゃってるのです。
あきらめましょう。
>>154 SqueakPlugin-dev で、デフォルトの状態なら、
TextStyle defaultFont fontArray first edit: $_
で、開いたビットエディタで _ を描いて、黄ボタン(通常は右クリック)メニューから accept 。
クローズボックスクリックでウインドウを閉じれば、以降は _ で表示されるよ。
157 :
154:2006/06/13(火) 17:45:29
>>156 詳しく回答していただいてありがとうございます。
でも怖いんであきらめることにしました。
>>157 いや。失敗したら、保存しないで再起動すればいいだけなので、是非、チャレンジしてください。
実際、やってみて分からないこと、うまくいかないことは、どんどん訊いてください。
159 :
デフォルトの名無しさん:2006/06/21(水) 15:45:53
>格差社会は、IT 業界も例外ではありません。Java/Eclipse や C#/VisualStudio の生産性の低さには
>居た堪れず、先祖返りを見せられる思いがします。これらの開発環境を見ていると、南極物語と同じ年に
>公開された Smalltalk-80 には遠く及ばず、その格差には愕然とする思いです。本来の統合開発環境は、
>このような際物ではなかったはずです。
>Eclipse/VisualStudio などは統合開発環境〔IDE〕とされていますが、本来の IDE は、このような際物では
>なかったはずです。これらが「あまり早く開発されては困る」とさえ言いたげに見えてしまうのは、
>Smalltalk-80/Interlisp-D など真の IDE を知っているからかもしれません。
>環境などにはさらに進化がみられない。1970年代後半の Smalltalk 環境などは私の今までつかった経験の
>なかで、最も快適で最もクリーンで最も高速で最もスムーズなプログラミング環境なのである。たとえ、
>CodeWarrior が C++ による開発においてそれ相応によくできた製品であったとしても、私がほとんど
>20年前に使っていた Smalltalk システムと、ひいき目に見ても比較の対象にはならないのだ
Eclipse / VisualStudio / CodeWarrior と Smalltalk の開発環境は、何がどうそんなに違うのですか?
>>159 REPL が有るか無いかの違い。それだけ。
161 :
デフォルトの名無しさん:2006/06/22(木) 16:00:31
read-eval-print loop のことですか?
t
edit-compile-test loop しか無い環境とは手軽さが全然違うからね。
後はリフレクション機能が充実していたり、VM やオブジェクトシステムの挙動まで弄れるので、
開発のシームレス度が全然違うんだと思うよ。
環境に関して高度な知識を有する少人数のグループで開発するには最高だと思うけど、
デメリットもはっきりしているので、残念ながら今後も主流にはなり得ないと思うけどね。
164 :
デフォルトの名無しさん:2006/06/23(金) 16:06:21
話が一般的過ぎて、よくわかりません。具体的な例をあげてみてください。
マンドクサイから、自分で調べてみて下さい。
キーバインドをemacs風にしたい
xkeymacs使って大体間に合ってるけどもっと
>>166 ParagraphEditor class >> #initialize から手繰って、#initializeCmdKeyShortcuts
#initializeShiftCmdKeyShortcuts を手始めにいじるというのはどうでしょう。
変えたあと、ParagaraphEditor initialize を do it することをお忘れなく。
ちなみにコマンドキー(command、cmd)とあるのは Mac 時代の名残りなので、
他の環境では alt と読みかえてください。
最終的には ParagraphEditor >> #dispatchOnCharacter:with: まで手を入れれば、
かなりの部分まで思い通りの挙動をさせることが可能でしょう。
ただ、#dispatchOnCharacter:with: は建て増しに次ぐ建て増しで、
えらい読みにくいコードになっているので、挙動の把握がまず難しいかもしれません。
あと、#dispatchOnCharacter:with: をいじるのに失敗すると文字入力ができなくなる
場合もあるので、復活の方法(たとえば、バージョンブラウザの使い方とか)あるいは
強制終了後に、直前前の作業を復活する方法(チェンジログのあさり方とか)をあらかじめ
練習しておきましょう。分からなければ気軽に訊いてください(調べるのはなにかと大変なので…)。
∧_∧ / ̄ ̄ ̄ ̄ ̄
( ´∀`)< 漏れもインスコしたモナー
( ) \_____
| | |
(__)_)
( ´∀`)σ)∀`)
linuxにインスコしたんだけど、あっという間に時間が過ぎたよ!
…起動させるのに、、、orz
解決するのにググったり削除インスコ繰り返したり、トータル10時間以上かかった
>171
してないよ
折角なのでSqueakで使いたいです。
バックポートできる力があればいいんですが、、、。
(そもそもRSSのアクションがサポートされてるかどうかも、自力でコードをみて調べられなかったしナ)
>174
じゃ、素のSqueakイメージ(3.8)にSqueakMapから導入ですね。
最新版入れたらRSSにも対応してんじゃないかと。
いろいろライブラリを入れる必要があるから、それらのうまくバージョンがあわずにはまると思うけど。
176 :
デフォルトの名無しさん:2006/08/31(木) 00:58:55
#スレ違いすまん。
VisualWorks 7.4.1 NCってどうなの?
日経ソフトウエアの付録に付いてくるって話だが・・・
あ、そうなんだ。買おうっと。>日経ソ
Smalltalk 関係は、もう、適当なスレがないから、ここでいんじゃない?
どうって、何に比べて?
Squeak? それとも、他の Smalltalk 処理系? VisualWorks の以前のバージョン?
Cincomからダウンロードして試してみるという選択肢もある
どう?と言われると…
相変わらずOSX VMは腐りまくり。7.5までに改善版を出すと言っているが…
既に陳腐化して久しいGUI部分の救世主(予定)、Pollockの遅れっぷりがヤバい。
ちゅうか。最近は.1系列での機能追加が行われなくなったところに、Cincom
Smalltalkチームの余力の無さを感じる。大丈夫か、おい。
180 :
デフォルトの名無しさん:2006/09/23(土) 16:57:39
VisualWorksって、Winアプリよりも軽いらしい。
Squeakって、Javaアプリよりも軽いらしい。
そうなの?なぜ?
同じVMでも、Javaと比べるとカールルイスと小学生くらいの差があるって。
>182
どっちがどっち?
本気でベンチマーク取ったらどうなんだろう?
VisualWorksは相当速い。StrongTalkもバカっ速い。
Javaも最近のはアレやこれや突っ込まれて速い。
ここらへんはベンチマークの条件によって前後するだろう。
Squeakは時代に完全に取り残されてるというか、コアの人たちが
速く動かすとか、安定させるとか、そういう現世のことに全然興味を
示さないので、もうどうにもなりようがない。
> otherObject := aObject shallowCopy.
> object postCopy.
は
> otherObject := aObject shallowCopy.
> otherObject postCopy.
です、すみません。
あと、aObject は anObject ですね…(´・ω・`)
187 :
デフォルトの名無しさん:2006/10/05(木) 21:39:16
>185
全然ちがいますよ。
AがBを持っていて、BがCを持っているような構造のオブジェクトがあったとして、
A->B->C
deepCopyなら
A'->B'->C'
shallowCopyなら
A'->B->C
というイメージ。
188 :
デフォルトの名無しさん:2006/10/05(木) 21:49:20
>185
postCopyはObject>>copy(これはshallowCopy)の中で呼ばれていて、デフォルトではなにもしない。
サブクラスを作っていくうちに、copyだけでは足らなかったり、小細工したくなることがある。
IDをふり直すとか、187でいうBもB'にしたいとかね。
そんな時にサブクラス側でpostCopyをオーバーライドする。copyはいじらない。
Object>>copy、Object>>shallowCopy を見た後に、
shallowCopyをImplementorsサーチ、Sendersサーチで確認して。
189 :
185:2006/10/06(金) 01:06:21
deepCopy
shallowCopy
copy (デフォルトでは shallowCopy を呼びだすだけ)
という 3 つのコピーがあって、copy の挙動を変えたい時に
postCopy を定義する。
使用する側は状況に応じて、必要なコピーを行う。
…ということ?
>189
そう。
Squeakを勉強したいのですが、お勧めの書籍を1,2冊教えてください。
C/C++は大体わかります。
192 :
デフォルトの名無しさん:2006/10/23(月) 23:32:13
195 :
191:2006/10/31(火) 21:57:03
>>192-194 お前らありがとう。とりあえず
「自由自在Squeakプログラミング」
を買った。これからじっくり読んで勉強するよ。
Squeakを実践で使う事はあり得ないと思うが教養のために
196 :
デフォルトの名無しさん:2006/11/08(水) 10:38:10
smalltalkでWindowsアプリケーション(VMを使わず起動)を作れますか?
作れるとしたらお勧めの開発環境は何ですか?
198 :
196:2006/11/10(金) 15:59:32
>>197 ありがとうございます。
なんか、話が変わって申し訳ないんだけど、
SqueakでChessとかのゲームってどうやったらできるの?
インストールしたのは「日本語7」です
>198
ワールド-オブジェクト-ゲーム
200 :
デフォルトの名無しさん:2006/11/11(土) 09:18:34
201 :
デフォルトの名無しさん:2006/11/11(土) 10:30:37
/⌒ヽ
/ ´_ゝ`) ちょっと通りまつよ〜
| /
| /| |
// | |
U .U
202 :
196:2006/11/13(月) 14:23:15
>>199 できました!ありがとうございます。
でも、いきなり2連敗しました。
オラが弱いんだろうけど
>>200 ありがとうございます。
参考にさせていただきます
Squeakで「ウェブブラウザ」があったんで、
起動してみたけど、日本語が化ける。。。
203 :
デフォルトの名無しさん:2006/11/24(金) 14:45:10
ttp://slashdot.jp/developers/article.pl?sid=06/11/24/042234 >オペレーティング・システム研究用のOS、esというのが開発されています。
>概要によりますと、「ソフトウェアコンポーネントによって拡張可能なオペレーティングシステムを開発しています。
>すべてのシステムコールがC++言語の抽象クラス(インターフェイス)の純粋仮想関数呼び出しとして実現されています。
ttp://nes.sourceforge.jp/ >手引き
>esオペレーティングシステムのビルド方法
>開発ツールのビルド方法
>>Squeakのビルド
>>現在、配布しているパッケージでは、カーネルが起動するとそのままSqueakを実行するように構成されています。
>>実際にesオペレーティングシステムを実行する前にSqueakのビルド方法を参考にしながら、Squeakをビルドします。
なんかしてるの?>>どこかの中の人
ここはいじりはじめた初心者の質問なども書き込んでおkですか。
モーフに特化した本やサイトってないですよね。
>>206 残念ながら「モーフ」はいろいろな(多くは的確でない)意味で使われてしまいがちな用語です。
可能なら、いまいちど「モーフ」という言葉は使わずに知りたいこと、実現したいことを表現してくれると
当方も察しが付きやすく、あなたが期待する情報を提供できる可能性が高まると思います。
208 :
デフォルトの名無しさん:2007/01/07(日) 15:26:39
別にいいんじゃあない、「モーフ」って言って。squeakの
面白く感じるのは、言語もそうだけど、その「モーフ」の
部分であることも事実だし。
今晩寒いからモーフ欲しい...
Morph のチュートリアルも欲しい。Gtk+ のチュートリアルみたいな。
210 :
デフォルトの名無しさん:2007/02/06(火) 07:48:56
Squeakの起動を早くする方法ってないですか
できればVisualWorks並に
頑張って腐っている実装を書き直す。
VMもSmalltalk部分も。
今更な話題かもしれないけど、Flash ベースの Smalltalk ワラタ。
普通はやろうとしないことをさらっと実装しちゃう根性が凄い。
そう、それ!
教えてくれてありがとう。面白いね、これ。
去年くらいに Strongtalk がオープンソースで公開されたけど、誰か試した人居ますか?
Linux のパッチが出てたんで弄ってみようかなと思ってるんだけど、どんなもんかな。
218 :
デフォルトの名無しさん:2007/05/16(水) 21:41:53
foncあげ
Squeakって未だにJITコンパイラがないんですか??
やっぱし、移植の妨げになるんじゃ?
>>220 クロージャも無いしネイティブスレッドにも対応していないよ。
未だにっていうか、今後もずっと無いままでしょう。というか対応したら奇跡。
最初からそう言う方針でプロジェクトが動いてるから、それで良いんじゃないの。
>>223 その人は単に誰かに文句言いたいだけに見えるけど。
流行るとか流行らないとかを気にするのは、自分でコードが書けない人の発想だと思うね。
自分でまとまった量のソースコードを書けるようになれば、世間で流行っているかどうかなんて
関係無くなるよ。
Smalltalker でなさそうな人の記事を元に Smtalltalk を叩かれてもなぁ。
知らんがな、としか言えない。
228 :
デフォルトの名無しさん:2007/06/05(火) 19:22:59
Rubyについて
229 :
デフォルトの名無しさん:2007/06/05(火) 21:54:13
Sapphireについて
230 :
デフォルトの名無しさん:2007/06/05(火) 22:10:08
Berylについて・・って、すれちがいだっつの
Sapphire つう言語があるのかと期待しちゃったよ…
232 :
デフォルトの名無しさん:2007/06/06(水) 17:02:59
チャンプル見るの忘れてた(><)
ところで、Squeakでlispしたい!
234 :
デフォルトの名無しさん:2007/06/07(木) 18:11:00
'LispInterpreter open'を do it したら、
「MessageNotUnderstood: UndefinedObject>>scheduleActive:」とエラーが出た。調べたら
StandardSystemController>>open で ScheduledControllers scheduleActive: self の
ScheduledControllers が nil になってた。? (Squeak3.9 #7067)
>>234 つ desktop menu -> open... -> mvc project -> enter
237 :
デフォルトの名無しさん:2007/06/08(金) 19:08:28
mvc project -> BrowserやTranscriptで右クリック -> フリーズ? -> お手上げ
べつにしないけど? >フリーズ
240 :
デフォルトの名無しさん:2007/06/10(日) 12:20:44
Rubyの作者がSmalltalkっていうときはごく初期のLittle Smalltalkのこと。
>>242 Little Smalltalk のほうがSmalltalkより後じゃないっけ?
>>243 それであってるし、
>>242 もそのつもりで書いてると思うけど。
要は Little Smalltalk しか知らないのに Smalltalk 全体を語ってると
言いたいんでしょう。Matz がどれだけ Smalltalk を知ってるかは
知らんし、興味も無いけど。
245 :
デフォルトの名無しさん:2007/06/10(日) 20:06:43
>>245 余計なリンク貼るなや。トラブルの種は沢山だ。
247 :
デフォルトの名無しさん:2007/06/10(日) 20:52:55
空気読まずに質問でスマン。
とりあえず倅にToysで絵を書いたりタイルスクリプトであそばせて
みたりしてるんだけど、たとえばクルマの絵を書いて適当に動かして
衝突するとか出来ずに悩んでます。
こういうのはもうSmalltalkで書かないといけないのでしょうが、どこにどう
プログラムを書き始めるのかがサッパリわかりません;_;)
あともうちょっと便利なペイントはないのでしょうか?
>247
Smalltalkを使うまでもなく、どれでも良いので、本かWebの
チュートリアルを読めば、Etoysで車をぶつけて遊べないはず
はないと思うのですが。
ペイントツールは好きなのを使って、描いた絵のファイルを
ドロップしてください。
>>247 ペイントツールで描いた兄弟の場合、
プリファレンスの eToyFriendly がオフになっていれば、
「テスト」カテゴリの「〜モーフの兄弟は触れているか〜」というのが使えます。
>251
まずはそこまでしなくても、「その色に触れているか」でいけると
思います(同じ色でも自分の色には反応しないし)。
253 :
デフォルトの名無しさん:2007/06/11(月) 06:30:52
>>250 外から持ち込む事できたんだ…
目から鱗
254 :
デフォルトの名無しさん:2007/06/11(月) 19:21:28
Smalltalkのプログラム作成の宿題ですが、興味のある方よろしくお願いします。
15人の女生徒がいる。彼女たちはお散歩仲間で、毎日3人ずつ5組に分かれて散歩をしている。
1週間で、各人が他のすべての14人と1回ずついっしょに散歩をするようにしたい。1週間分の
組み合わせをどのようにすればよいだろうか。
Smalltalkのプログラム作成の問題に見えない
258 :
デフォルトの名無しさん:2007/06/12(火) 19:39:58
女生徒クラスを作って、ダブらないようにそれぞれに記憶を持たせて、
彼女たち自身に散歩相手を選ばせるってのがSmalltalkっぽい発想なのかなぁ
>>257 女性徒が居なくなるから例外で落ちるんじゃね?
合わせ鏡にして、その鏡は光を減衰させないとしたら、光を保存出来るのかね。
新聞読んでなさそうだな。
>261
つ バビロニア・ウェーブ
>>261 (波としての)光は(定常波として)保存できるでしょ。
レーザー発振器とか。
つまりオマエの言うとおりの合わせ鏡なんだけど。
>>261 と同じことを言ってるだけなのにおまえ呼ばわりw
267 :
265:2007/06/16(土) 08:03:54
ありり?俺、別に煽ってんじゃないよ。「激しく同意」を冗長に書いただけ。
オマエってのは、2ch風味ってことで許してくれ。
Smalltalkを使いすぎると↑のように日本語が若干不自由になります
もっとメッセージパッシング風に喋ってくれ
煽り合ってる関係者全員顔見知りな可能性が高い罠
それがSmalltalkコミュニティ
Smalltalkerに上から目線な香具師が多いのは反省すべきだな
>>273 が上から目線なのがワラタ
単に価値判断基準が違うだけだと思うけどね。
多様な価値基準がある世界に慣れていない人は戸惑うのかもしれないね。
275 :
デフォルトの名無しさん:2007/06/17(日) 14:06:44
単に助動詞の「べし」を使っただけで上から目線ということにする
>>274は
文語文法の習熟が足りていないので反省すべし
>>274 > 多様な価値基準がある世界に慣れていない人は戸惑うのかもしれないね。
そう思っているのなら重症。
実際には古株の価値判断を金科玉条とおしいただいている集団。
無闇に敵対視してそこまでボロクソに言えてしまうのも、かなりの重症だと思うよ。
よくみんな Smalltalk コミュニティって言うけど、具体的には何を指してるんだろうね。
俺も参加してみたいものだ...
多様な価値基準と言えるほど頭数ない罠
るびちゅーが騒ぐずっと前からSmalltalkerへの批判はあった。
しかしSmalltalkコミュニティが反省の動きを見せたことはない。
古株うんぬんは別にして、健全な批判精神が足りないという面はあると思う。
だから Smalltalk コミュニティって具体的に何だよ?
妄想上の団体が何で反省するのだ?
見えない敵と闘ってる方がいるスレはここですか?
古株ってもしかしてアランケイのこと言ってるの?
上から目線の奴が、真剣に小学生の相手したり、
Squeakみたいなお子ちゃま志向の言語を開発したりするもんかね?
アラン・ケイがコミュニティに戻ってきたのはつい最近だから、
きっと、アデル・ゴールドバーグのことだよ。最近は丸くなったらしいけど。
みごとな上から目線w
妄想は加速する
古株の価値判断って、ファイル・システムに対するオブジェクト・システムのこと?
もはや30年も経った骨董品だから、いい加減Smalltalkはオブジェクト・システムから
脱するべきやな。怠慢もいいところ。
>>288 で、オブジェクトシステムっていう価値基準は多様なの?www
>>289 オブジェクトシステムが価値基準であるってどういう状態だ?
夢でも見てるのか?
ファイルベースか、イメージベースかって言いたかったんじゃ?
どっちにせよあんまり本質的な部分じゃない感じはするけど
でも Seaside 厨が Rails につっかかるときにしばしば持ち出す。
296 :
デフォルトの名無しさん:2007/06/20(水) 12:23:47
まとめると、
>>274 多様な価値基準がある世界に慣れていない人は戸惑うのかもしれないね。
>>278 実際には古株の価値判断を金科玉条とおしいただいている集団。
>>288 古株の価値判断って、ファイル・システムに対するオブジェクト・システムのこと?
>>289 で、オブジェクトシステムっていう価値基準は多様なの?www
これっぽっちの参照関係も把握できないのがSmallTalk厨ぎゃは
>>297 見事に支離滅裂じゃないか。もっと頑張れよ。
次の書き込みに期待してるぞ。
自身の支離滅裂さを省みない集団なんだねSmallTalkerって
>>297 >288で、オブジェクト・システムさえ金科玉条とせず否定してみせているようだけど。
>>299 おいおい、もう少し面白い書き込みを期待してたんだがなあ。
そんなレスじゃダメだろ。まさか、T を大文字にして工夫したつもりじゃないだろうな。
「ファイル・システム」「オブジェクト・システム」というよりも、
「ファイル指向(システム)」「オブジェクト指向(システム)」かな。
ファイル指向では何でもファイルで表現しようとする。
オブジェクト指向では何でもオブジェクトで表現しようとする。
ブラウン管・液晶・プラズマ・リアプロジェクション・有機EL・SEDと
テレビには色々な方式があるように、Smalltalkにも色々な方式があると
面白いかなと。
それなんてRuby?
>>302 Smalltalk-80だけが正しいオブジェクトシステムです。
SmallTimpo
BigManko
Strongせく〜す
>>305 うむ。やっと本来の姿を取り戻したな。よく頑張った。
もう悪さするんじゃないぞ。
つ 座布団
310 :
288:2007/06/22(金) 19:07:02
297の×なところ。
その1、ここは2chで何の脈略なく自由に書ける場ですよ。274-278の流れに
乗ったつもりはないし、274に同意した覚えもないし、274に興味もない。
その2、私はSmalltalkerではありません。
>>310のマヌケなところ。
自分は何の脈略もなく自由に書ける場といいながら
相手には支離滅裂というところ。
このダブルスタンダードがSmalltalkerクオリティぷ
いまだにst80から進歩していないのに
Little Smalltalkしか知らないと非難する
こんなダブルスタンダードもSmallTalkerクオリティ
だからマトモな奴からrubyに流れていくんだYO!
>>311 支離滅裂って書いたのは俺(別人)だが、相変わらずつまらん書き込みしてるなあ、おい。
もう飽きた。次の芸やれ。
>>313 > 相変わらずつまらん書き込みしてるなあ、おい。
自己紹介オツ
>>310 興味ないならレスしなきゃいいのにwwww
つか、一連のやりとりの中にSmalltalk使いはひとりでもいるのか?
るび猿wwww
つか、一連のやりとりの中にruby使いはひとりでもいるのか?
322 :
デフォルトの名無しさん:2007/06/23(土) 23:08:17
しつこさを見る感じSmalltalkerはいなくてもStalkerはひとりくらいいるな。
まあSmalltalkerはStalker並みに歪んでるからな
Smalltalk garbageCollect
むしろ Stalk garbageCollect
なんで、おまえらRuby使わんの?
327 :
デフォルトの名無しさん:2007/06/25(月) 21:30:39
スレちがいだからじゃね?
Smalltalkもrubyも使いますが何か?
>>324 Smalltalk become: nil
Smalltalker become: lisper
むしろ STalker become: rubyist
20年以上も実用にならなかったSmallTalkにすがるようにまとわりつく
まさにStalker
Alan>Smalltalk-76はRubyに似てる
Matz>実際、私は20年近く遅れてSmalltalkの真似をしてきた
30年前のシステムをありがたがって外の世界を見ないStalker
30年前の理念を現在の流儀に応用するrubyist
SmallTalkerの宗教じみた狂信ぶりには長年辟易としていたところだが、
昨今のRubyコミュニティのそれの前にはかわいいもんだな。恐怖すら感じる。
さすがモルモンの布教活動の一環だけのことはある。気合いの入り方がちがう。
漏れはpythonistaだけど、rubyistって何も発明しようとしないんだよね。
銅を鉄に置き換えてるだけでw
pythonが発明したものって、ヘビのアイコン以外に何がある?
rubyはモルモン
SmallTalkはヒッピー
共通しているのはどっちも末端は
自分は幸福だと信じようとしている
>>336 Rubyは成り立ちからしてそうだから。ひたすら先達の成果の消費者に徹している。
はいはい、Lisp/Schemeの成果の消費者のSmalltalkerが通りますよ〜
銅を鉄に置きかえて強い武器をつくるrubyist
銅を石器に置きかえて自己満足するpythonista
銅のサビを見てうっとりしてるSmalltalker
これで上手い事を言っているつもりなんだろうか…
>Ruby使ってる奴は変な奴が多いと思う
つーか図星じゃん
強い武器(苦笑)
smalltalkよりも世の中の役に立っていることは認めざるを得ない
るび厨とモルモンはほんとうざいね。布教するのは勝手だが他でやってくれないか?
smalltalkerって20年以上の間
技術論争を宗教論争にすり替えてきたよね。
SmallTalkに技術なんかない。あるのは精神論のみ。
紳士協定とかパターンとかのね。
スモールトークのMLの過去ログを読んだ。
誰が長老の一番のイエスマンか競争していた。
微笑ましいねぇ〜。
スクイークのMLのほうがずっと健全だね。
スクイークの中の人、スモールトークに汚れないでね。
SML?
長老って管理人さんのこと?
紳士協定違反の話題で見事に潮が引いたなwww
激過疎
一匹のルビ厨に支えられているスレ
まあ、せっかく保守してくれてるんだから有難い事じゃないか
保守する価値あんのか、この超過疎スレは。
SmalltalkはいいシステムだがSmalltalkerにはゆすりたかり成果泥棒など人間性が腐ってる香具師が多い
とか言う奴でSmalltalkをまともに読み書きできる輩を見たことがない。
>>359の言う通りだが、
もし
>>358が
XX年Smalltalk書いてます、とか、
XX件Smalltalkの案件やりました、とか、
XX万Smalltalk書きました、とか書いてしまうと
結構な確率で個人が特定されてしまう罠。
真性の過疎だな。
本物のSmallTalkerは30年も過疎ってるのだから
このスレの住民もがんがれ。
保守するだけで良いよ
スモールトークで彼女ができるって本当?
マジレスだがそれはないな。
>>364 合コンでのスモールトークは重要だろ、童貞君。
スモールトークの人って、針小棒大自画自賛な人が多いって本当?
そんなことはないと思うよ。
ただ27年シコってるだけ。
そこでDirtytalk使いの俺がきましたよ。
パンティ
俺はセクーストーカーだ。
合コンで小言は嫌われると思う
それで小言が多いわけか
小言ってSmalltalkの訳語のつもり?
それを言うなら我田引水だろが
昔bit誌に悪魔の辞典というのがあってだね(以下略)
歴史を紐解いても、詰まらない物は詰まらないもんだな。
すべらないSmalltalk
誰か書いてちょ
歩、王取らん
恣意
こぼる
小言
ALGOL と PL/I は思い出せない
時間が止まった
378 :
ホシュ:2007/08/26(日) 22:18:15
ホシュ
>>379 これは GNU Smalltalk と何が違うの?
そういった開発動機みたいなものを書いたのがあったら教えてください。
>>379 サラッと見た感じでは、GPL/LGPL じゃなくリベラルな MIT ライセンスを採用している、
JIT が無い、コードサイズが小さくアプリ組み込み言語としても使える、モバイル端末にも
対応している、辺りが違うかな。あとは歴史の長さが全然違うから、成熟度もまだまだ
なんじゃないかな。
開発動機は書いてなかったけど、普通のプログラマなら自分の言語処理系を作ってみたい
ものだよね。
>>381 どうせ作るのなら、もっと展望があるものを作ったほうが、、、
かく言う俺もSmalltalkの俺処理系書いたことあるけど。
>>381 ありがとうございます。ライセンスを含め、組み込み向き…って感じですかね。
ちょっと見た感じ、GNU Smalltalk レベルへの到達すら
そうとう時間がかかりそうな雰囲気ですが、“追いつき追い越せ”で、
がんばって欲しいものです。
>>382 恥ずかしながら私も「なにも今さら GNU Smalltalk もどきを作らないでも…」とちらと
思ってしまったクチなのですが、“展望”というとどんなものがあるでしょうかね?
385 :
デフォルトの名無しさん:2007/11/03(土) 11:15:52
squeakはじめたばかりなのですが、クラスブラウザでよくわからないことがあります。
どなたか教えてください。
継承されているメソッドを選択すると、inheritance ボタンの色が変わるんですけど、
ピンクっぽいときと緑っぽいときがあります。
たとえばPopUpMenuクラスのlabels:lines:だと緑っぽいし、confirm:だと
ピンクっぽいのですが、この違いは何を表しているのでしょうか?
よろしくお願いします。
>>385 ブラウズ中のメソッドが、サブクラスで再定義されているか and/or
スーパークラスで定義されているものの再定義かを示しているだと思います。
あとでソースの該当部分を探して調べてみます。
>>385 親クラスのメソッドに処理を付け足しているか(superを呼んでる)、
丸々上書きしちゃってるかの違い、じゃないかな?
>>385 ボタンの上でぼーとしていると説明でるよ。
browse method inheritance
green: sends to super
tan: has override(s)
mauve: both of the above
pink: is an override but doesn't call super
pinkish tan: has override(s),
also is an override but doesn't call super
>>386 仕組みは CodeHolder>>#inheritanceButtonColor あたりからたぐるといいかも。
>>387 >>387 回答ありがとうございます。
inheritanceボタンにカーソルを当てていたらバルーンヘルプがでて以下のように説明がありました。
green: sends to super
tan: has override(s)
mauve: both of the above
pink: is an override but doesn't call super
pinkish tan: has override(s), also is an override but doesn't call super
2色じゃなくて5色もあるようで。
またよろしくお願いします。
LinuxでFreetypeの綺麗なフォントを使うには、
Squeak v3.9以降を使えば出来ると聞きました。ディストリのパッケージには古いのしか
ないので自分でビルドしたいのですが、どうもうまくいきません。
x86_64だと無理なのでしょうか。
へー、今って FreeType 使える様になったんだ?
IPA フォント同梱のディストリ作って欲しいね
お、素晴らしい。個人的には UCS2 だけで十分。
396 :
デフォルトの名無しさん:2007/12/02(日) 16:56:13
>>396 感動した。おまいらにとっては当然のことなんだろうけど。
何も知らんプログラマ一年生の俺は感動した。
398 :
デフォルトの名無しさん:2008/02/03(日) 12:40:40
論理哲学論考 - ウィトゲンシュタイン
1.世界は成立している事柄の総体である
1.1.世界は事実の総体であり、物の総体ではない
「論考」なんて、著者であるヴィトゲンシュタイン本人が後で否定したじゃん。
せめて「探求」から引用しろよw
後で否定したのって嘘らしいよ。
一部否定なんだけど
そもそも探求を書いた頃の彼の精神状態は…
純粋理性批判 - イマヌエル・カント
我々が直感するところの物はそれ自体としては、
我々が実際に直観しているところのものと同じものではない
で、Squeakとの関係はどうなの。
Worldのsubmorphsにすべてのモーフは含まれるけれども、
モーフじゃないオブジェクトも一杯あるよ。
squeakを仕事で使ってるヤツっているんか?
ケントベックも何してる人なんだ。
>>412 信じられん。どーやって?何に使うの?スクリプト替わり?
まさか出来たコードで食ってるとか。なんにせよ 羨ましい。
かなりSqueakの本は読んでるのに使い道が無い。
バージョンアップが大変そう。
Ruby以上に中の人がこねくり回し杉。
たとえば、Scratchの場合、2.8ベースのMIT Squeakという独自バージョンを
作って、影響を受けないようにしています。で、少数のプログラマがクロー
ズドで開発(最終的にはMIT Licenceでオープンに)。
>>415 バージョンアップはたしかに大変ですが、それは新バージョンに見合う魅力があるときで
そうでなくて本家の向いている方向が気にくわなければ、「てめえたちでフォークしちゃえば
いいじゃん…」的考えが(ほとんど C 言語で組まれている Ruby と違って、Smalltalk は
ずべてが Smalltalk で組まれているぶん)ずっと敷居が低いし実践されているといえそうです。
あと、仮に互換性が失われたバージョンアップに追従するにしても、Smalltalk はユーザーサイドの
コードはもちろん、処理系それ自体に対しても Ruby にはないイントロスペクション機能が
適用できるので、Ruby で「ぎゃっ」というタイプの仕様変更で想像されるほどには、移行は
大変だったり絶望的ではないと思いますよ。
>>417 たまに、「ほはぇ!?」と思うことはあるけどねw
>>417 なんかすげー。
俺squeakがごまんとあるのか。
本家が気に入らなきゃ自分で改造って
スモールトーカーってパワフルなんだなw
たとえば、メソッド1個書き換えて、メニュー1つで仮想イメージを
保存すれば、それだけで俺様環境ですから。
しばらくすると、OS, 言語, ライブラリ, 環境, アプリに区別がな
いことの方が自然に思えてきます。
むしろ、みんな俺様環境な中で、同じものを使えるようにする方が
面倒です。だからソースじゃなくて、仮想イメージをまるごと配る
という選択肢も出てきます。
むしろ、全ユーザーでネット上のひとつのsqueeeakを使うほうが自然な感じがする。
>>422 GemStoneはそれ自体もSmalltalk処理系だから、
イメージ共有というよりも環境共有とでも言うべきと思われ。
>>424 GemStoneは単なるDBではなくて、Gemstone Smalltalkが動作しているSmalltalk処理系。
クライアントのSmalltalk環境からGemStone上のSmalltalk環境に飛び込んで処理を継続したり、
その結果をクライアントのSmalltalk環境で受け取ることができる。
>>425 それは GemStone Smalltalk のイメージを共有していることにはならないの?
というか、ENVY はイメージの共有なのだろうか?
>>426 Virtual Imageさけでなく、VMも共有している。
>>427 ああ、それで環境を共有している、と。多謝。
ちょっとわかんないとこあります。環境を共有って言うけど、
その環境って、environmentのこと?それともcontextのこと?
programming environmentのことだったら、VMを共有してなくても
イメージの共有で十分「共有」と言えるし、普通そう言うと思う。
VMの共有が、「共有」であることの条件だとすると、それはGemstoneでは
computing contextの共有をしてるって理解していいの?
>>429 普通、Smalltalk環境と言えば、仮想計算機と仮想イメージを組にしてSmalltalk環境と呼ぶと思うけど。
432 :
age:2008/03/06(木) 23:05:51
iPhoneSDKで動くかな?
Newtonデバイスもそうだったけど、ヒープがきついんじゃないかと。
メモリは 128MB も積んでるよ
リナじゃないザウでも動いたのだから、載るのは確実だと思うけど
問題はMorphicのパフォーマンスだな。たぶんMVCなら楽勝。
保守
>>437 それ読んでパペポを思い出して、上岡龍太郎って、
どうしたんだろうと気になって調べたんだが、
引退してたんだな。
知らなかった。
パピポが休刊(廃刊)になったことは関係無いと明記しておかねば
sqeakをみてヘミネコを思い出す。
ヘ_ヘ
ミ ミ
ヘヘ
ミ ・・ ミ
( ° )〜
444 :
デフォルトの名無しさん:2008/05/29(木) 23:45:01
いまsqueakで軽いミニゲームを作ってるんだけど
解らないところがあるんだが質問して良い?
>>445 thank
squeak触って間もない初心者だけど
いまシューティングゲームを作っているんだ、
それで自機の弾の連射ができない(´・ω・`)
一発ずつしか撃てないのを改善しようと
4時間悩んでググった結果このスレにたどり着いた。
どうかこのド低脳に解決方法をご教授願えやしませんでしょうか・・・
弾モーフをいくつも置くんじゃ駄目なのか?
>>446 Squeak で作っているということですが、Etoys(ドラッグ&ドロップのプログラミング)でか、
Smalltalk でか(ブラウザとかを使ってクラスとかを定義しているのか)で違うので、
どちらか教えてもらえますか? たぶん、Etoys だとは思うのですが。念のため。
それと、今のところ、どこまでどんなふうに書いたのかを簡単でいいので教えて
もらえると、それに乗っかってヒントも出しやすいです。
>>449 そういうページの探し方を伝授したらどんどん自力で能力を伸ばせるかもね。
451 :
446:2008/05/30(金) 21:07:37
こんなにレスありがとうございます。
>>447 すいません、よくわからないです。
>>448 おそらくそのEtoysというほうだと思います。
いまは自機から弾を飛ばすところまでできました
弾が遊び場の外に出た状態でボタンを押すと自機の位置に戻ってきて
飛んでいくという設定になっています。
弾を一度発射するとその弾が遊び場からでるまで2発目が撃てないのを
なんとか連射出来るようにしたいんですが、わかりませんでしたorz
>>449 ありがとうございます
これを応用して出来るか試してみます。
最終目標は敵からも複数の弾が出るようにするのと
敵のHPを設定できるようにしたいです。
>451
できたら、「公開する!」を長押しして「異なるサーバーに公開」で、
squeakland.jp/superかsuper2に作ったものを置いてみて。
453 :
446:2008/05/30(金) 21:54:58
試してみたらできました。
皆さん本当にありがとうございます!
これでまた一歩完成に近づきました!!
>>452 完成したら。ということですか?
それとも今の連射が実装できたら、ということですか?
>453
「完成したら」のつもりだったけど、できたところまでも
見たくなってきたよ。
455 :
446:2008/05/30(金) 22:25:52
区切りのつくところまで出来たら一度上げてみたいと思います!
その時は改善点など見つけたら出来れば助言をお願いします。
456 :
デフォルトの名無しさん:2008/06/11(水) 18:09:56
一個人の感想なんてどうでもいいじゃん
ようはその人それぞれに合った内容の書籍であればいいわけで
おいらはどっちもイラネ
クローズアップ現代を見て思ったのですが、Collectionのsizeとかって、コピペですよねぇ。
VisualWorksとSqueakで、コメントも含めて全く同じです。偶然とは思えない。
Smalltalkのライブラリって、コピペで作成されているのですね。
>>461 Smalltalk-80の頃のコードがそのまま残ってるんじゃないの?
それじゃあ、新しいSmalltalkを作る場合、ライブラリはどうするのですか?
Smalltalkのライブラリは膨大になりがちだから、コピペなしでは困難だと思います。
>>463 そんなことないでしょ。Smalltalk-80由来のコードなんてクラス数はたかが知れている。
GNU Smalltalkみたいに完全独自な実装もあるし。
コピペというより、SqueakもVisualWorksもXEROXから正規のライセンス
供与を受けたものなので、下の方は同じで当前です。
ライセンスを受けてない処理系は464の言うように独自で実装しています。
古くはSmalltalk/Vから、Smalltalk/X, Smalltalk MT, Dolphin Smalltalk,
Smalltalk Agent, VisualAge for Smalltalkなどなど、みんなそうです。
仕様はBlue BookやANSI X3J20を見ればオk。
LinuxはUNIXをコピペしなければ作れるはずがない、というのと同じ議論の
ように思えます。
これはSmalltalkのプログラミングスタイルがコピペ(PBE; Programming By
Example)と親和性が高いのとは別の話です。
クローズアップ現代でなんか Smalltalk 関係のこととりあげられたんですか?
ライブラリを独自実装する場合、既存の他者のライブラリをどの線まで有効利用できるのだろう。
セレクタ名ぐらい、拝借しても別に問題ないのかな?
>>468 APIの仕様には著作権は及ばない、ということになっていたはず。
つまりセレクタ名はOK。メソッド本体はNG。
>>471 開発用でも教育用でもイヤだというあなたは
Smalltalkを何用に使いたいのですか?
>>471 月並みな意見ですけど、Smalltalk システム、特に Squeak とかは荒削りだから
気に入らないところは仕組みを調べてどんどん手を入れて変えていく気概がないと、なかなか。
「フィットする」より「フィットさせるのに、より手間がかからないもの」に間口を広げてから
あらためて処理系を吟味してみてはいかがでしょう? 選択肢もそう多くはないわけですし。
プロ用でもなく、こども用でもなく、一般人用のSmalltalkがいいですね。
まず、まともなWebブラウザとDVDプレーヤーがあるSmalltalk。できれば、テレビも。
そんなもんSmalltalkでやって何が楽しいんだ?
Smalltalkコードで、自由にカスタマイズしたり、コントロールしたり、分解したり、
再構成したり、いじくり回せます。あと、Smalltalkの内外に行ったり来たりせずに
すむので、落ち着いてSmalltalkできます。Smalltalkで何をすれば楽しいのですか?
ソースコードを印刷して電車の中で読むのがいいと
JUNさんが最新著作で書いてた
別人
>>476 その程度の話なら、DVDを一旦qtに落とせばいいだけだろ
わざわざDVDを一旦qtに落とすメリットは何?
普通にDVDプレーヤーで再生、コントロールすればいいのに。
>>481 あれ?動画を分解したり再構成したりしたいんじゃないの?
いいえ、アプリの機能を自由に編成する話。アプリがものすごく使いやすくなる。
なーんだ、つまらん。その程度なら自分でやれば?
Smalltalkには、Webブラウザもないの?
Win版のskratchの日本語メニューが文字化けなんですが設定できるのでしょうか?
もちろんLanguageをEnglishなどにすればそれはちゃんと表示されますが・・・
Scratchですよね。メニューが文字化けとは?メニュー以外の日本語は
出るのですか。環境などもう少し詳しく。
488 :
486:2008/10/06(月) 23:23:03
はい、Scratchです。VM Preferencesは英語でちゃんと表示されますが、
ウインドウ内にある数字以外の文字がいわゆる(縦長い)豆腐■です。
OSはWin2000です。
一番上にあるメニューのLanguageでヨーロッパとアラビア?系には設定できますが
日本語や漢字が豆腐です。
489 :
486:2008/10/06(月) 23:45:09
Scratchのバージョンは1.3です。
なんとなくPangoがちゃんと動いていない感じですね。
インストールディレクトリにあるUnicodePlugin.dllをどこかに動かすと、
挙動が変わりますか(黒い豆腐が白になるとか)。
あと、フォントのルックアップに失敗しているとすれば、locale\ja.poで
msgid "Win-Font"
msgstr "MS Gothic"
みたいに陽にフォントを指定してみるとどうでしょうね。
491 :
486:2008/10/07(火) 00:50:59
>>490 >msgstr "MS Gothic"
これで解決しました。ありがとうございました。
ちなみにUnicodePlugin.dllを動かしても同じ症状でした。
よかったです。私も経験値が上がりました。
www.object-arts.comって、今サイト落ちてる?
494 :
デフォルトの名無しさん:2008/11/21(金) 21:37:33
ワークスペースのdo-itなどのSmalltalkのコードで、
VM自身のウィンドウのリサイズは可能でしょうか?
そのものはないけど、3.8までだったらFFIでuser32.dllが
呼べるからできるでしょう。
カテゴリのFFI-Examples-Win32にサンプルがあります。
Smalltalkからは無理なんですね。
ありがとうございました。
ワケワカラン・・・
495の情報でSmalltalkからできると思いますが。
暇だったんで作ってみた。
'From Squeak3.8.1 of ''28 Aug 2006'' [latest update: #6747] on 24 November 2008 at 10:38:58 pm'!
!Win32Window methodsFor: 'accessing' stamp: 'nanashi 11/24/2008 22:38'!
moveWindow: aRectangle
"Win32Window getFocus moveWindow: (100 @ 100 extent: 200 @ 200)"
self
apiMoveWindow: self
with: aRectangle origin x
with: aRectangle origin y
with: aRectangle width
with: aRectangle height
with: 1! !
!Win32Window methodsFor: 'api calls' stamp: 'nanashi 11/24/2008 22:37'!
apiMoveWindow: aHWND with: x with: y with: width with: height with: bool
<apicall: bool 'MoveWindow' (Win32Window long long long long bool) module: 'user32.dll'>
^ self externalCallFailed! !
うそ、ここってねだると作ってくれんの?
たまたま。474みたいなのはだめ。
甘やかすと彼等のためにならない。ここはパパート的に。
でも3.10じゃできないってことですよね
3.8は普通に使われてるバージョンなんですか?
使われてますよ。
FFIはセキュリティ上の理由(なんでもできちゃうから)で外された
だけなので、必要ならSqueakMapからインストールすればオk。
506 :
デフォルトの名無しさん:2008/12/23(火) 08:44:05
あげ!!
Scratchってなかなか寄さそうですね!
でも資料が少ない・・・
10年前ならいざ知らず、今はありすぎて読みきれない
ほどだと思いますが。
>>507 逆にどれを読めばいいか、おぬぬめヨロ。
Visualworks 7.6NCで正規表現を扱うにはどうすればいいんでしょう。
String以下をspawn hierachyしてもそれっぽいメソッドが見つからないです。
SqueakだとBRegexpとかあるみたいですが・・
$(VISUALWORKS)\goodies\other\Regex11.pcl
regex11はすでに入手不可
>>511 コンソールのSystemメニューから load parcel named...
regとか打てば出てくるよ
>>514 できました!RxMatcherで後方参照できるっぽいのでこれで行ってみます。
ありがとうございました。
もしかして、暇なSmalltalkerってたくさんいるのか。
たくさんどころか絶滅危惧種では・・
ST80由来のベースは共通だけどSqueak使いはVW使えないし
VW使いはSqueak使えないし
どちらも使いこなすまで果てしなく長い時間がかかる・・
ST80時代に御大を大量にdeepCopyしておくべきだったかもw
ってそれはそれでまずいか・・w
それにしては、レスが早い。
ロートルがここに集結してるとか。
smalltalkerは一匹見かけると100人はいるんだぜ。
>>517 Squeakerでも、SqueakをSmalltalkとして使っている人は大抵
VisualWorksどころかObjectWorksも経験していると思うよ。
はじめるには3.8でいいのでしょうか?
alt+bとかショートカット効かないんですが。。。
>>521 ここだけの話、SmalltalkAgentが最適。
>>521 普通に使えるよ。
バージョンは自分が使うテキストで推奨しているのを使うのが吉。
サンプルが動かないとかいやでしょ。
テキスト推奨のでは効きました。ありがとうございます。
趣味でやるので古いので大丈夫です
525 :
デフォルトの名無しさん:2009/02/12(木) 19:13:10
上で出てきたScratchというのもSamlltalkらしいですが、それでもSmalltalkの勉強できますか?
VWの非商用版がフリーだからそっちでやった方がいいんじゃないか?
見てみたら最近更新してないみたいだけど
もうsqueak自体は放置なの?
>>525 >>526の言う通りVisualWorksやったほうがいい。
出来ることがまるで違うから。
>>527 どこですか?
>>525 Smalltalkで組まれているだけでScratch自体はSmalltalkではないです。
似たような話でeToysというのもやはりSmalltalkではないです。
Smalltalk処理系は、正統派のVisualWorks、機能は古いままでUIも特殊ですが
ユーザーが多めのSqueak、Smalltalkにつきものの独自GUIが苦手な人向きの
GNU Smalltalk、Win専用ですがIDEの完成度の高いDolphinなどがあります。
GNU Smalltalkを除けば、どれから始めても他に応用が利くと思いますが
身近の教えてくれる人か、使いたい教科書があればその人or文書が使っている
処理系を選ぶのがベターです。
>>523でも言われていますができるだけ
バージョンも合わせた方がよいです。がんばってください。
> 身近の教えてくれる人
これがもっとも得難い。
>>519 日本にSmalltalkerが100人もいたら、もうちょっとマシな状況になっていると思われ。
100人のSmalltalker村とかあったら嫌ですね。
急に盛り上がり始めたな
なんかあったのか?w
ついに時代が来たとか。
もう終わってるかと思ったわ
馬鹿者。
始まってもいない物が、終わったりせぬ。
Lisp飽きた
はやく始まってくれSmalltalk
repeatやwhileTrueとかでブロッククロージャから局所脱出させる方法が分からない
^だとメソッド終了しちゃうし・・
>>538 脱出したいタイミングで例外をあげる処理と #on:do: との組み合わせでは駄目ですか?
| i |
i := 0.
[ [#一連の処理. (i:=i+1) > 100 ifTrue: [Exception signal]. #続きの処理] repeat
] on: Exception do: [:ex | #脱出時の後処理]
>>538 valueWithExitを使う。
[:e
"let me go!"
true whileTrue:[
ふにゅふにゅ....
( ふんが>ふんぐっ ) ifTrue;[ e value ].
].
] valueWithExit.
"escape from the reallity"
Transcript show:'また来週!'.
仕組みの説明は相当めんどいのではしょるが、任意レベルの大域脱出が可能。
>>539-540 ありがとうございました。
にしてもon: do:はprimitiveっぽくて中身見えず
valueWithExitは何をやってるかさっぱり
Cのbreakやcontinueに相当するものがよくある解説にはまったく出てこないのはどうしてなんだろう?
そういえばcontinue相当がまだ見つからない・・
ブロック内でself value. とかしたら再帰になっちゃいますよね。
>>542 もともとcontinueやbreak自体、問題アリと言われています。
Cでもコーディング規約が厳しい所では、continueやbreakの使用は
制限されることが珍しくないです。
> ブロック内でself value. とかしたら再帰になっちゃいますよね。
なりません。selfが何を指すのか、そこからじっくり考えてみましょう。
>>543 >Cでもコーディング規約が厳しい所では、continueやbreakの使用は
>制限されることが珍しくないです。
下請け孫請けさんざんやったけどそんな規約は見た事無いよ。
主に制限されるのは変数名や関数名の命名規則やインデント
あとはgoto禁止とかね
>>545の訂正
signalBreakの実装は、signalContinueにしないと作例は動作しないので注意。
>>544 車業界で使用されるMISRA-Cではcontinueやbreakは禁止されているよ。
(ルール57とルール58)
>>545-546 なんとか動きました!
とりあえずなんとかなりそうです
ありがとうございました。
549 :
デフォルトの名無しさん:2009/02/16(月) 21:42:31
breakなしでswitch-case書くの?>>MISRA-C
>>549 正確には「(switch文のcase節を終了する以外では)break文は使用してはならない。」とある。
forとかwhileで使用すんな、ということ。
>>549 全部フォールスルーで処理しなければならないと決まっています
クソ面倒な規約だぬ
勉強会行った人いる?どんな感じ?
ハブられるのはいやづら・・
やっぱり、(・∀・)人(・∀・)ナカーマ の人じゃないとつらいですか。
やさしくしてくれる?
こう動かすんですよとマウスに触れた手の暖かさに恋が芽生えたりする?
560 :
デフォルトの名無しさん:2009/02/27(金) 22:21:48
squeak、scrach、ドリトル
この系統の言語で他に現役なのありまっか
smalltalkの良いところって何ですか?
構文がシンプルで柔軟な事
なんで、Javaに負けたん?
ビジネスで使うには自由過ぎるから
>>564 SunとParcPlaceの資本力の違い、が一番大きそう。
つーか、ParcPlaceの人がもうちょいビジネスに才覚があれば、
Smalltalkの運命はちょっと違うものになってたと思うなあ。
キーボード操作だけで完結できるsmalltalk処理系ってありますかね?
>>567 GUIがうっとうしい、使いたくないということならGNU Smalltalkとかですね。
何らかの理由でマウスなどのポインティングデバイスが使えない…ということでなら
Squeakはキーショートカットが充実していますし、マウス無しで全操作が可能なような
細工もしやすいと思います。
とんくすです
Squeak歴が浅いのでGNUのいってみます
Smalltalkがビジネスで成功する位ならCommon Lispが成功してるってwww
メッセージ式はともかく、S式とかないわー
じゃあM式。
てか、Lispのマクロ嫌いなの?
嫌いなの?って、ここ Lisp スレじゃないですからっ。www
Smalltalk は Smalltalk-72 のときにあったマクロっぽい機能をいちど捨てていますからねぇ…。
OMeta があるけれど、あれは独立した別言語ですし。
VWで無限ループを書こうと思ったがそれっぽいのがなかった。
Squeakにはあるのかと探したが見つからない。
まさかとは思うがみんな再帰で書いてるの?
#repeat
[true] whileTrue: []
普通はrepeat使う。
1 to: Float infinity do: [:each | ... ]
一週間位レスないかと思ってたら速攻でレスがorz
>>577-578 ありがとうございました。
どんな方針で探して「無い」と結論したか、さしつかえなかったら教えてください。
1 to: Infinity positive do: [:each | ... ]
とかしないと。VWなので。
>>582 無限ループでググって見つからなかった。
ループ制御に関する記事って全然ないね。
そりゃSmalltalkではループ制御は言語仕様じゃないからなあ。
>>585 ぜんぜんってこともないとは思いますが、たしかに探し出しづらいですね。
ちょっと調べてみて分からなければ、あまり自力解決にはこだわらずに
気軽に訊いてしまうのがよいと思います。
じゃあ早速質問。
1. ブロッククロージャの実行環境というのは
無名のメソッドコンテキストであるという理解でいいのですか?
この場合ブロッククロージャ内に現れるselfの実体は何になるのでしょうか。
2. ブロッククロージャ内で出現する ^ は引数がどんなオブジェクトであれ
現在のメソッドコンテキストを消滅させ、直前のメソッドコンテキストに処理が戻る
という考え方は一般的でしょうか?
3. しかしvalueWithExitの実装を見ると^nil が非常に特殊なものであるように見えます。
これはバイトコンパイルする時に引数がnilである場合にのみ命令の置き換えをしているということでしょうか?
さらに追加質問
4. ifTrue:[ ... ] はブロッククロージャを伴いますが
この場合はブロッククロージャではなく、[ ... ]はインライン展開されるためブロッククロージャではないとのこと。
こういった見た目にはまったく判断できない非ブロッククロージャ(インライン展開されるもの)は他にもありますか?
5. 4.のインライン展開される対象はどのようにして決めているのでしょうか。
例えば任意のメソッドの引数(=ブロッククロージャ)を
バイトコンパイラにインライン展開させるような指定は
可能になるようなものなのでしょうか。
それともTrue,Falseクラスに対してのみインライン展開が作用するように作られているのですか?
>>588 > 1. ブロッククロージャの実行環境というのは
> 無名のメソッドコンテキストであるという理解でいいのですか?
違います。
そもそもクロージャにするためにはメソッドコンテキストから独立
させる必要があります。
> この場合ブロッククロージャ内に現れるselfの実体は何になるのでしょうか。
クロージャを包んでいるメソッドの環境でのselfです。
> 2. ブロッククロージャ内で出現する ^ は引数がどんなオブジェクトであれ
> 現在のメソッドコンテキストを消滅させ、直前のメソッドコンテキストに処理が戻る
> という考え方は一般的でしょうか?
はい。
> 3. しかしvalueWithExitの実装を見ると^nil が非常に特殊なものであるように見えます。
> これはバイトコンパイルする時に引数がnilである場合にのみ命令の置き換えをしているということでしょうか?
それはメソッドコンテキストが特殊なのではなく、nilがバイトコードにおいて特殊なだけです。
>>589 > 4. ifTrue:[ ... ] はブロッククロージャを伴いますが
> この場合はブロッククロージャではなく、[ ... ]はインライン展開されるためブロッククロージャではないとのこと。
> こういった見た目にはまったく判断できない非ブロッククロージャ(インライン展開されるもの)は他にもありますか?
whileTure:やto:do:もインライン展開されます。
> 5. 4.のインライン展開される対象はどのようにして決めているのでしょうか。
> 例えば任意のメソッドの引数(=ブロッククロージャ)を
> バイトコンパイラにインライン展開させるような指定は
> 可能になるようなものなのでしょうか。
> それともTrue,Falseクラスに対してのみインライン展開が作用するように作られているのですか?
SmalltalkCompilerを参照
>>590-591 即解答ありがとうございます。
新たな疑問が沸いてきました。
6. ブロッククロージャが新たなメソッドコンテキストを生成するものではないなら
^ が発行された時点でメソッドコンテキストが消滅するので
valueWithExitが成り立たないのではという考えに至りました。
しかし実際には機能します。
これはどういうことなんでしょうか?
7. [^nil] value と [^aObject] value で機能的に違いがあるのでしょうか。
5.についてはSmalltalkCompilerが難解なのでざっと見た感じですが
おそらくブロッククロージャのレシーバを除いて
引数のブロッククロージャは例外無くすべてインライン展開されるのではないかと思いましたが違いますか?
>>592 Squeakで MessageNode >> initialize を見ればいいと思うよ
>>593 MessageNode class >> initialize ですよね? VW でも同じです。
とんちんかんな回答ばっか
>>592 あまり思い込み&先走りせずに、おちついて考えてみてはいかがでしょう。
あと、#repeat のときと同じで、どうしてそういう結論にいたったかを
書いてもらえるとくい違いを指摘しやすいと思います。
#valueWithExit のどちらの ^ について成り立たないと判断されたかわかりませんが、
いずれの ^ でも #valueWithExit をコールしたコンテキストに戻るので
(そしてそれは消滅していないので)問題はないと思いますが、違いますか?
7. については、文面どおり呼び出し元への戻り値が nil か aObject かの違いだけです。
5. については、具体的には SmalltalkCompiler のどのメソッドの記述から、
引数のブロッククロージャは例外なくインライン変換されると結論されたのでしょうか?
>>596 成り立たないと思ったのは、ブロッククロージャの実行環境が無名メソッドコンテキストではないということは
任意のクラスメソッドを呼んだ時、そこにはいくつブロッククロージャがあっても
クラスメソッドを呼んだ時に生成されたメソッドコンテキストしか存在していないと思ったからです。
であれば、valueWithExitの機能は成り立たたず、通常の^と同じで発行された時点でメソッドの呼び出し元に戻ってしまい
valueWithExitの外に戻ってはこないと思っています。
ここの所がどうもひっかかっています。
7.ですが、ということは[^nil] valueだけが非常に特殊なものというわけではなく、例えば[^Object ] valueとしてもvalueWithExitとまったく同等の機能になるということですか?
5.はifTrueなどのメソッド名がどこにも書かれていなかったので、引数のブロッククロージャはすべてインライン展開されるのでは、という予想です・・
特定のメソッド名で束縛してインライン展開をしているのでは、というこれも予想ではあったのですが・・
>>593-594 ここに記述されているメソッドがインライン展開の対象になるということでしょうか。
>>597 7.
実際に試せばよい。
5.
Squeakならブラウザの右側のボタンでコードペインの表示内容が切り替えられるはず。
ソースコードとバイトコードを見比べれば疑問も解けるでしょう。
MessageNode class >> initialize に並ぶメソッドはコンパイル時に特別扱いされる。
それらのメソッド定義にはインライン変換についてコメントが入っているはず。
>>597 590 の「違います」の意図が分かりかねるのですが、無名メソッドコンテキストがブロックコンテキストを
指しているなら、私は「ブロッククロージャの実行環境は無名メソッドコンテキスト」ということで
いいような気がします。そうならば #valueWithExit は成り立ちそうですか?
7. については BlockClosure にたとえば #valueWithExitValue を
valueWithExitValue
^self value: [:val | ^val]
…のように定義すれば、次のようにして nil 以外の任意の値を戻り値にすることができます。
[:exit | (1 to: 10) do: [:each | each = 5 ifTrue: [exit value: each]]] valueWithExitValue
このことは両者に違いのないことの参考になりますか?
>>598 7. はとりあえず動くようです。
5. 環境はVWなのですが、内容的に理解できました。
ありがとうございました。
>>599 大分すっきりしました。
結局ブロッククロージャを実行すれば新たにメソッドコンテキストを生成するという理解でいいわけですよね?
であればvalueWithExitがきちんと機能するのもよく分かります。
丁寧なサンプルありがとうございます。
違いがないことがはっきりと分かりました。
>>590で
>nilがバイトコードにおいて特殊なだけです
というところにひっかかっていました。
ありがとうございました。
・・ところでインライン展開をする理由というのは
パフォーマンス向上のためだけなんでしょうか。
メソッドコンテキストを生成するコストを省くためという目的以外に
何か考えられることはありますか?
602 :
デフォルトの名無しさん:2009/04/01(水) 01:42:54
作り込み具合が(・∀・)イイ!
いろいろな意味で感心する。
ここまでやってくれると逆にツッコミが入れづらいw
とりあえず今日という日を忘れないよ。
御大はどっちでもいいって言ってるんでしょ?
ともかく、俺はダウンロードして実行してサンプルを Alt+d くらいはしてみたけど、
>>603-605 のようなことを言えるほどには真面目に見なかった。彼らに感服。
p とかは有難いね。
これが AOP 的だとさらに濡れ濡れなんだけど。
>>607 ごめん、リンク先見る前に反応してしまった
んで4月2日になったわけだが・・・・
とりあえずVWにpをアバウトに実装してみた
これはこれで便利。
613 :
608:2009/04/03(金) 15:06:07
何も分かってないこと丸分かりでこっぱずかしw
614 :
デフォルトの名無しさん:2009/04/11(土) 09:21:35
妙にgotoの実装が流行ってるな・・・
構造化言語前に逆戻り?先祖帰りかw
squeakのマスコットって名前とかあるんですか?
顔が決まってるだけですか?
生まれとか星座とか好きな食べ物とかのキャラ立ち上がってますか?
ははは
こやつめ
Visualworks 7.6NCでemacsと連携取る方法って何かありますか?
自己レスですが
ParagraphEditorを掘っていたら
1. UIFeelPolicyの下にEmacsFeelPolicyなどを作ってdispatchをそこで定義しておく
DefaultFeelPolicyはEmacsFeelPolicyを返すようにする
2. ParagraphEditorのfeelPolicy: に直接EmacsFeelPolicyを与えてdispatchTableを取り込ませる
の2通りでうまくいきそうな気がしてきました。
しかし1. でシステムクラスのDefaultFeelPolicyを書き換えるのはちょっと怖い気がします。
2. は生成されるParagraphEditorのインスタンスに常に適用させる方法がわかりません。
何か助言があったらお願いします。
>>620 MagicKeyパーセルをロードして参考にすればいいと思うよ
>>621 探し方が悪いのか見つかりませんでした。
Cincomサイト内の検索もやってみましたがヒットしないので
ヒントあればお願いします。
>>621 VW7.6が持ってました。
load parcelして掘ってますが
(SCG.MagicKeys.FeelPolicyEditor new feelPolicy: SCG.MagicKeys.MagicFeelPolicy currentFeelPolicy copy) open.
とかやるとそれっぽいです。
しかしどの辺から手をつければいいのか・・
>>623 ちなみに、System-Settings-Look and Feelからでも同じのが開く。
そこでMagicKeysのkey mappingでやれる範囲で満足するか、
ParagraphEditorの実装や拡張部分を参考にしつつ自分で実装するか、
どちらかでは?
emacsのプロセスと通信するとかそういう話じゃないのか
>>624 そもそもMagicKeyでマッピング変更してacceptとか押すとトラップするんで
使い方がよくわからないというか・・
現状のスキルだと追いきれなくて頓挫してます。
>>624 できればその方がいいけれども現実的じゃなさそうなので・・
質問です
VW7.6NCで
(Dialog requestFileName:'' ) inspect.
とかするとファイラーが立ち上がって選択したファイルのパスが得られますが
複数ファイルを選択できるようするにはどうしたらよいですか?
FileDialog requestFileName: '' default: '' version: #multipleOld ifFail: [''] for: nil
>>629 動きましたありがとうございます。
FileDialogを掘ったらMultiOpenFileDialogなんていうのもあるようなので
以下のようにしてみました。
| aDialog |
aDialog := MultiOpenFileDialog new.
aDialog open ifTrue:[ (aDialog selections ) inspect ] ifFalse:[ Dialog warn:'canceled' ].
クラスブラウザでなんとなく*Dialogとか打ち込んでみたら正規表現が効いていてびっくり。
631 :
デフォルトの名無しさん:2009/06/20(土) 12:40:38
Scratchのユーザーって少ないんですか?
スレもないし、ここでも話題にならないですね。
>>632 オケ。特別に Mac OS X へのインストール方法を教えて進ぜよう。
% mkdir gst
% cd gst
% curl -# -O
ftp://ftp.gnu.org/gnu/smalltalk/smalltalk-3.1.tar.gz % tar zxf smalltalk-3.1.tar.gz
% cd smalltalk-3.1
% ./configure --prefix=${HOME}/gst
% make
% make install
使い方はこうじゃ。
% ~/gst/bin/gst
GNU Smalltalk ready
st> 'hello' printNl
'hello'
'hello'
st>
ついでに Smalltalk YX のインストール方法。
% mkdir ~/syx
% cd ~/syx
% curl -# -O
http://syx.googlecode.com/files/syx-0.1.7.tar.gz % tar zxf syx-0.1.7.tar.gz
% cd syx-0.1.7
% ./configure --prefix=${HOME}/syx --disable-gtk
% make && make install
そして使い方。
% ~/syx/bin/syx
Smalltalk YX 0.1.7 is ready.
Type "help!" to get help.
> 'hello' printNl !
'hello'
'hello'
>
>>633 >>634 ありがとうございます!
smalltalkを使い始めてこの一週間こんなに早く的確に
欲しい情報に近づけたことがなかったのでなんか感動しました。
自分はWindowsでインストールするのでこの手順を脳内で変換
して実行させたいと思います。
初心者なため少々時間がかかってしましますが後にご報告に参ります。
>>635 Windows ですか...
Windows なら Squeak にしておいた方が良いと思いますよ。
それか Smalltalk YX なら Windows 用のバイナリも用意されています。
http://code.google.com/p/syx/ Smalltalk みたいなマイナー言語に取り組みたいなら Windows は
向いていないと思います。
GNU Smalltalkも最新版には超かっこいいGUIがはいってる
>>636 >Smalltalk みたいなマイナー言語に取り組みたいなら Windows は
>向いていないと思います。
どうしてだろう? 逆に Windows のほうが処理系の選択肢も広くていいと思うんだけど。
あと何故あえて Squeak なのかな。Win なら IDE の見栄えも出来もいい Dolphin もあるし、
入門書に「Smalltalkで学ぶオブジェクト指向プログラミングの本質」を買ってくれば
付録 CD-ROM からWin版VisualWorksをドラドロでインストールできてお手軽かとも。
>>638 プロプラの製品だと弄れる範囲や使える範囲が制限されているから。
ディスコンになったらお手上げだしね。
632です。
Windowsへのインストール断念しました。
というより素直にMacにインストールした方が良いと考え直しました。
月曜日に社内にMacがあるか探したいと思います!
>>636,637,638,639
ここは本当に情報の宝庫ですね。今まで知らなかったのが悔やまれます...
Smalltalkの勉強会も開催されているみたいですし参加してみようと思います!
とあるシステムを動かそうとこの一週間あがいてきました。
もう手はないのかと諦めていましたが皆さんのおかげで新たな道が見えてきました。
本当にありがとうございます!
それでは駄文失礼致しました。
俺もSmalltalkの勉強会にいきたいのだが、まともにつくれないので足踏みしてる。
>>641 気にせずどんどん行ってみればいいとおもうよ。未経験者であることと、他言語でのスキル、
どんなことに興味があるかはじめに言っておくと対応してもらえるかと。
ハブられるのはいやづら・・
じゃあ、基本的だと考えていることはここで訊いて解決してから行けばいいよ。
"!"ってsmalltalkでは意味のある記述なのでしょうか?
ただ文字化けしてるだけかもしれないのですが...
>>645 ! は chunk 形式の区切り文字です。
chunk 形式は Smalltalk の式を入力する方法の一つです。
言い換えると、Smalltalk において ! が意味を持つ場合と
そうでない場合があって、意味を持つ場合と言うのは
chunk 形式で入力している場合です。文字化けではありません。
言語としてSmalltalkの文法には含まれていない。
Smalltalkの環境によっては!を入力の区切りに使うことがあるというだけ。
>>646 なるほど誤った記述ではなく、stファイルで使われる形式なのですね。
!Animal methodsFor: 'actions'!
talk
self display: '...cannot talk...'! !
”chunk”で調べて、”!”で区切っている所はSmalltalk内で一つのオブジェクトとして
存在するクラスということが分かりました。
しかし最後の行の半角スペースが”!”で区切られているのが解せません。
”!”は手書きではなく自動でセットされる類のものだからでしょうか...
もう少し調べて出直して来ます。
ご助言ありがとうございました!
>>648 普通にブラウザ上でSmalltalkプログラミングをしてるときはchunkなんて意識しないよ。
ファイルにソースコードを書き出したときに勝手に入るだけ。手で"!"を入れるのは普通じゃない。
>>649 そうなのですか、なるほど解決しました!
ありがとうございました!
'nijiura' replaceAll:$u with:$p
が効かない理由がやっとわかったわ・・
String族はimmutableだからなのか・・
リテラル式で生成された文字列だからではなく?
VisualWorksで.im形式のファイルの使い方が分かりません。
ファイルを取り込んだら文字化けしてしまいます。
Windowsでは使えない機能なのでしょうか。
>>653 virtual machine(visual.exe)にvirtual image(.im)をのせるとVisualWorksが起動する。
>ファイルを取り込んだら文字化けしてしまいます。
いったい何をしようとしたの?
>>652 リテラルというより8rや16rが混在できるからimmutableなのかな?よくわからん
copyReplaceAll:with:の方が要素にStringも使えるし便利だった。
とある操作説明書に特定の.st形式ファイルを4つ"file in"する手順があるのですが、
毎回4つ"file in"するのは難儀なので、最初に4つのファイルを
"file in"した時点で.im形式でその状態を保存して操作を簡略化しましょう。
ということが書かれていました。
なのでその時に作成した.im形式のファイルを取り込めば4つのファイルを
"file in"した状態から始められるものだと思ったのですが...
>>657 .stに日本語は含まれてる?
日本語環境はインストールした?
.stはXML形式?
file inはできてたの?
VisualWorksのバージョンは?
VisualWorksはどうやって起動してる?
VISUALWORKS HOMEは設定した?
>>658 ・.stに日本語は含まれていません。
・日本語環境はインストールしておりません。
・すみませんXML形式か判断できませんでした。
普通は何形式で記述されるものなのでしょうか...
古いファイルなので1997年頃に流行っていた形式だと思います。
・file inはエラーにならなかったので出来たと解釈しました。
・VisualWorks7.6を使用しています。
・VisualNCというアイコンをクリックして起動しております。
・VisualWorks Homeは、home directoryをVisualWorksをインストールした
ディレクトリを指定して設定し、その他は基本的にデフォルトのままです。
ご迷惑おかけしております。
夜分に大変失礼致しました。
>>659 その頃のVisualWorksとは2世代違うので、ちゃんとfile inできていないと予想。
file in後は動作してる?
ブラウザで見たらその部分のソースコードが変になってない?
>>660 夜分に本当にすみません。
たしかにfile inが出来ていない気がしています。
Smalltalkの文法が分からないのでソースコードの変化を
見るのを怠っていました。
現在手元にソースが無いので、本日その点を
確認したいと思います。
file in後の次の手順がまだ理解できていないため、
file in後の動作は未確認です。申し訳ありません。
それと当時はSmalltalk-80 で動かしていたようです。
やはりVisualWorksのバージョンが当時と違うという
のがよくないのですね。
ですが当時のVisualWorksはもうないですよね...
ご助言ありがとうございました!
知ったかぶりしてないで何がわからないのかはっきりさせて書けよ
それよりエスパーの登場をだな・・
>>655 リテラルを直にいじろうとしないでコピーを作れば普通に出来るよ。VW7.6 だけど。
'nijiura' replaceAll: $u with: $p "=> Core.NoModificationError "
'nijiura' copy replaceAll: $u with: $p "=> 'nijipra' "
つーか、みんな、環境(Smalltalk処理系とバージョン)くらいは書こうよ。^^;
VW7.6NCで端末エミュレータみたいなのはありますか?
cshOne:を使うとかじゃなくて。
英語でおk
>>666 GUIを介さずにコマンドラインから使いたい、とかではなく?
>>668 VW7.6NCで実装された端末エミュレータがあれば連携もできそうだし
使ってみたいと思って。
670 :
デフォルトの名無しさん:2009/07/03(金) 11:50:17
保守
幻の言語てどういうこっちゃ
木曜スペシャル
Smalltalkはアイヌ語みたいなものだったのか?
てかハッカソンってなによ
ハッキングマラソン?
えっ
>>680 VisualWorksの日本語対応に成功しました。
ありがとうございました。
えっ!?
なにそれこわい
VisualWorksですが
メソッドをこう定義して
element:aData
aData := 'points'.
^self
とかやってsaveしようとすると
Attempt to store into argument
と出てaDataを書き換えられないような感じです
VisualWorksは引数の書き換えを禁止しているのですか?
逆に引数の書き換えをするにはどう書けばいいのでしょう。
thisContext localAt: 1 put: 'points'.
なんとなく分かったような気もしますが
もっとスマートに書き換える方法はありませんか?
それともVisualWorksでは引数の書き換えを使うのではなく
まったく違うアプローチが推奨されているのでしょうか。
リストを返して呼び出し元でat:1 at:2とかで評価することも考えましたが
それって根本的におかしい気もします。
^#(4789 7 9108 46 49)
何に引数の書き換えを使おうとしていらっしゃるのか、
何にアプローチしようとしていらっしゃるのか、
そもそも引数の書き換えといって何を意味していらっしゃるのか、
その辺を明らかにしていただけないとなかなか回答がしにくく御座います。
スマートさで申し上げればちょうちょを使うのが一番スマートだとおもいます。
http://xkcd.com/378/
>>687 例えばこんな感じです。
void func(int *a , int *b) {
*a = 46;
*b = 49;
}
引数が呼び出し先で書き換えられることを前提にした書き方はかなりの頻度だと思いますが
逆にVisualWorksでそれは基本的にやってはいけないことだとするなら
上記のようなケースではみなさんはどう書いているのですか?
でもって今書いているのはこんなものです。
呼び出し元でn1,n2,d1を使用しているので呼び出し先で書き換えてくれないと困るというか・・
VisualWorksではもっと適切な書き方があるんでしょうか?
patternNND:aString name:n1 name:n2 digit:d1
| m |
m := RxMatcher forString:'¥s*(¥w+)¥s+(¥w+)¥s+(¥d+)¥s*'.
( m matchesPrefix:aString) ifFalse:[^False].
n1 := m subexpression:2.
n2 := m subexpression:3.
d1 := m subexpression:4.
^True.
ああそういうことなら
n1 become: (m subexpression: 2).
とか書けばいいです。become:はポインタの指す先を入れ替えるメッセージです。
超便利なので使いまくりましょう。
あとTrue, Falseはクラス名なので真偽値をあらわすにはtrue, falseと小文字で書きます。
早速修正してみます!
ありがとうございました!
>689
この場合はbecome:を使うまでもなく、センダ側で、
arrayOfPattern := Array with: aString with; n1 with: n2 with: d1
みたいにして引数の配列を作っておいて、
patternNND: arrayOfPattern
で呼べばいいのでは。受け取った側では、
arrayOfPattern at: 2 put: (m subexpression: 2).
みたいにして書き換えます。名前付がいいなら配列じゃなくて辞書にする
とか、パタン自体がオブジェクトになる可能性も検討すべきかと(本当に
必要かどうかは設計の問題)。
become:は強力すぎるので、その使用は最低限にすべきでしょう。
>>693 オーバーライド系のメソッドは情報隠蔽のメリットを失わせてしまうので、
これも非常手段でしょう。
>>692 ダメだよそれじゃ。
配列なんかで渡したら、各パラメータの意味がわかりにくいでしょ?
Perlじゃあるまいし。
漢なら、パラメータは辞書渡し。これならオプション引数まで扱える。
これを使いこなしてこそ、Smalltalker中のSmalltalkerと言える。
漢の中の漢、ならまだ意味が通る
>>695 真のSmalltalkerだったら辞書なんか使わずにクラス作るよ。
>>697 ValueHolderを使えというわけですね
わかります。
可読性考えるとbecome一択だな
become:のセンダサーチをして、なんでこんなに用例が少ないか考えるべき。
702 :
684:2009/08/09(日) 22:23:41
色々と試行錯誤してみましたが
なかなかうまくいきません・・
>>685 コンテキスト内は有効みたいですが、呼び出し元でinspectしても
値はまったく変化しないようです。
これではちょっと・・
>>690 becomeはmodifyエラーが出て使えませんでした。
どんな時に有効か教えて頂けませんか?
これで解決するなら本当にありがたいです。
>>692 >>695 配列や辞書渡しは勘弁して下さい・・
>>699 呼び出し元でaValue := (ValueHolder with:aObj)で渡し
呼び出し先でaValue setValue:'ex'. とかすると
呼び出し元でaValue value inspectで正しく変化していることが確認できました。
とはいえ引数をValueHolderでラップして渡すまでもなく
直接変更を加えたいというのが本音なので・・
そもそもどうして引数に対し := で直接書き換えさせてくれないんでしょう。
不便で仕方がないと思うんですが・・
何か理由があってこうしてるんですか?
マジレスしよう
…そのプログラム全部うpれ
704 :
684:2009/08/09(日) 23:19:15
>>703 >>685の場合は
test:aObj
thisContext localAt:1 put:'ex'.
^self
呼び出し元で aObj inspect -> 変化なし
>>690の場合も同じように
test:aObj
aObj become:'ex'.
^self
modifyエラーが出て進みません。
>>699の場合
aValue :=(ValueHolder with:'before').
test:aValue
aValue setValue:'after'.
^self
呼び出し元で確認
aValue value inspect ->'after'になっている。
>>702 なんだよ、呼び出し元にも変更を波及させたいのかよ。
参照渡しがしたければ、始めからそう言えばいいのに。
>>706 それはポインタの値渡しであって、参照渡しではないと思うが。
aやbの内容が変化するわけじゃないだろ?
int x,y;
x=0;
y=0;
func (&x,&y);
printf ("%d,%d\n",x,y);
とすれば46,49とと出力されるはず
Cには参照渡しがないので、ポインタで代用するわけだが。
>>708 引数はxとyじゃなくて、&xと&yだろ?
で、func(&x, &y)で&xや&yが変化するわけじゃない。
つまり参照渡しではないし、func内で引数に代入しているわけでもない。
単に&xや&yから得られる情報に従ってメモリを操作しているだけ。
ハッカソンはどうだったの?
Kent BeckもRubyに流れたwww
任意レベルの脱出ができるvalueWithExitの使い方ってありますか?
[ ^nil ] method inspect すると
2 <DE 01> outer(1) method return
なので
outer(n) method return になるようなコードが知りたいのですが・・
valueWithExitに拘らなければできます
>>717 「Rubyなどのスクリプト言語(高級言語)で「クロージャ」などと
呼ばれている機能」のところ? 別にいいじゃん。
Pharo インスコしてみたけど、動作が凄いもっさりしてるね…
Emacs + elisp とか WebKit + JavaScript みたいな、常用出来る
プログラミング環境になってくれると嬉しいんだけど…
クラスライブラリがしょっぱいとどうにも
>>704 結局ValueHolder使えば希望する事は出来たって事ですよね。
>>702 >そもそもどうして引数に対し := で直接書き換えさせてくれないんでしょう。
>不便で仕方がないと思うんですが・・
一度も不便を感じた事がないけど、なぜ書きかえれないだろう?
>>721は
>>704じゃないよね?
「書き換える」という表現で、Smalltalkの仮想マシンのどんな動作を自分が思い描いているのかよく考えてみるといいかも
723 :
デフォルトの名無しさん:2009/11/06(金) 06:31:25
pharoタソサイコオォォォォオオオォォ!!!
ふう、やれやれ。おぢさん疲れちゃった。
ゆっくり休むといいよ
RIP
>>721 結局手間ばかりかかってどうしようもなく不便で仕方がないのでVisualWorksからすっかり遠ざかってしまいました。
math libraryみたいにどうしても関数として扱いたい場合が出てくるので
MathLibClass func(&a,&b,&c) みたいなことが気軽に書けないのが致命的でした。
個人的には出来ない訳がないと確信していた分だけに落胆しています。
その筋の某氏にもお尋ねしてみたのですが、そうする必要がないのですよとか禅問答みたいな流れになってしまい
代案等適切な指導が頂けませんでした。
ネームスペースも異なる任意のオブジェクトから上記みたいなことをしたい場合ってかなりあると思うわけですが
現状のVisualWorksだとValueHolderをいちいち作って渡してローカル変数へ戻すか、リストを戻り値にしてローカル変数へ戻すとか
手間をかける以外に解決する方法がありません。
シェア変数やグローバル変数で解決するなどといった野暮な手法もどうかと思うし
適当なモデルを渡してset getなどもはや論外でして・・
VisualWorksでどこまでやれるのか興味はあったのですが
ImageReaderのdisplayFromFileを触った時に色んな意味で完全に吹っ切れました。
今は相変わらずObjective-CとBoostな毎日です。
smalltalkの世界(オブジェクトとメッセージ)の人にとって
> func(&a,&b,&c) みたいなことが気軽
は気軽にやりたいことではないってこと
>math libraryみたいにどうしても関数として
関数というよりも手続きだよね?
関数と言うならLispでの多値を求めた方がよいのでは
Squeak と Emacs って似てるよね。
どっちもプログラムで拡張可能な作業環境を提供していて、
どちらも古い実装を引きずってる。Squeak は Smalltalk-80 が
ベースで、Emacs は MacLisp がベース。ANS Smalltalk や
ANSI Common Lisp とは仕様が違う。両方ともレキシカル
バインディングが出来なくて、Smalltalk だと代わりに Pharo が
あって、Emacs だと lexbind がある。
HyperCard も良いですよね。ディスコンになってしまったのが残念。
Squeak 4.0 になったらクロージャとネイティブコンパイラは入るのかしら
ライセンス関連だけじゃないの?
仕様の話は話題になってないし
すみません
iPhoneAppでSqueakは無いでしょうか
>>736 何と無くそんな気はしてましたが
やっぱり無いですか。。。
jbしたら有るよ とかも無いのでしょうか?
有るならjbに挑戦しても欲しいです
>>738 まさにそんなのです‼
これ、DLしたらどうやってiPhoneに入れるんだろ。。。
取り合えず自力で行ける所までやって見ます
もしJBせずに使うなら開発者のJohn M McIntoshさんに
UDIDを送ってお願いする必要があります。
>>736 そうなんですが、Scratchで穴が開いたような気がしなくもないような。
Appleは気づいてないのか。
iPhone上で動くプログラム電卓がありますが、機能が限られているから
OKなのでしょうか。iPhone上で動くように機能制限したSqueakというのは
有り得るでしょうか。
>>740 え、そうなんですか。。。
道理で昨日頑張ってもだめだったわけですね
英語苦手だから迷いますね。。。
>>742 その限界がSmalltalk Consultingが売ってるiSqueakベースの
アプリ群だと思うよ。
ただ、ScratchはApp Storeの検閲なしで好きなプロジェクトを
動かせるし、その気になればインタプリタも書けるので、いずれ
消されるような気もする。
Squeakって今、どんな感じに開発進んでますか?
個人的にネームスペースとpublic/privateが他言後に比べて弱かったので、一度離れたのですが。。。
public/privateって・・
>>746 言い方が悪かったですか。。。
メソッドは事実上全て公開するという仕様に不安が有って
公開/非公開を選択出来たらな。。。と思っていたので
その辺が改善されたのか気になった次第です
問題ないよ
>>748 問題無いとは?
私の記憶ではprivateカテゴリに入れても「内部用メソッドだから使わないでね?」って意図で置かれるだけで外部のクラスからも使えていたと記憶してますが。。。
せめて、この部分だけでも外部のクラスから使えない様になっていれば。。。
と当時は思っていたのです
大丈夫とは、この点が改善されたと解釈して良いのでしょうか?
長文すみませんでした
>>747 たぶん言い方じゃなくて、そもそもの考え方だろうね。Smalltalk にそぐわないのは。
独裁者言語や委員会言語と違って、本当に必要なら自分で作って広めればいい…という
側面もあるので、改善されるまで使わないとか言っていると、なんだかなーって思われる罠。
ちなみに Squeak Smalltalk には、セレクタ名を pvt から始めると、レシーバーに
self 以外許さない(コンパイル時にはじかれる)というバグ、もとい仕様がある。これトリビアね。
くわしくは #pvtCheckForPvtSelector: を参照のこと。
>>750 なるほど
そう言う所からイジれるんですね
トリビア、目からウロコです
久し振りに弄って見ます
>>749 privateみたいな機能を実装するのはたいした手間ではないという点に加えて、
>せめて、この部分だけでも外部のクラスから使えない様になっていれば。。。
なっていればどうだというのか、よく考えてみて欲しい。
Smalltalkにそのような機能が標準では存在せず、しかし巨大なソフトウェアが
Smalltalkで開発されているということは、privateのような機能を標準では必要としない
プログラミングのスタイルがSmalltalkにはあると言うこと。
良くも悪くも特殊な環境なので、他の言語での経験をそのまま持ってこようとすると失敗する。
あと実行時コンテキストを好きに見て弄れるような環境で、
public/privateなんて荒っぽい分け方に思考を制限するのももったいない
4.1が凄いってんで、久々に落としてみた。Mac用のUniversalBinary版。OS10.4.11でPPC G3なので、これ以外の選択肢は無い。が、起動せず。
SqueakもG4じゃないと動かんかorz
#ソースからビルドできるかなぁ?(w
Go wwwwwwww
偶然とか有り円だろJK
VW7.7.1NC for OSXで日本語表示が崩れるのなんとか直らないかな
vw.im created at 2010年12月7日 09:00:00
となるところが
vw.im created at 2010 12 7 09:00:00
年 月 日
になる
コメントの日本語もずれまくってまずいことに。
>>761 そうか・・
念のため新規に10.5の起動ボリューム作って
まっさらの状態で7.7.1NC実行してみたが変わらなかった。
7.6NCだと日本語表示にまったく問題ないんで
7.7系の問題なのかと思ってたけど
そういうことじゃないのかな。
visualworksが落とせなくなってる
次バージョンから描画がCairoベースになるとか
チャルメラ大行った人いるの?
自由自在ゲットォ!
読・む・ぞ♪読・む・ぞ♪
>>767 おめ!
むっちゃ良書だ
個人的には、入門書はもう、自由自在だけで十分
(むしろ、英訳して海外でも売れば良いのにと思う)
次のステップはSqueakとの対話やね
自分も『自由自在Squeakプログラミング』の店頭在庫を見つけたので、確保した。
積ん読本になる予定。
ほしゆ
ほしゅ
いつの間にか Cog VM というのがリリースされていたのか
処理性能が速くなるのは良い事だね
774 :
デフォルトの名無しさん:2011/07/09(土) 10:37:35.92
最近あんまりニュース無いね
使っている人はバリバリ使っているんだろうか
遊びでしか使ってないけど
Arduinoに信号送ってLED点滅させたりサーボモータ動かしたりしてる
DriveACarで画面のハンドル動かしたらサーボも動くとか
アンドロイドきたね
VisualWorksのsandbox対応ってどうするんだろうな
やらざるを得ない内容なはずだけど
tablet型PC上で動かないのかな
ダイナブック構想が現実味を帯びて、目の前まできているのに
その遺伝子をついだobjective-cやjavaだけが動いている
>>778 まさか電話から発展するとは当時誰が想像できたかと
>>778 今でもTablet PCやiPad上で普通に動く。タッチパネルへの最適化は、OLPC XO-3あたりで。ちなみにMSのTablet PCを開発したのはAltoを設計したチャック・サッカーとバトラー・ランプソン。
某所であまりsqueak/pharoの事触れると、迷惑掛かりそうなんでこっちで
ここの上のコメントを見てると、emacsと似てるみたいな話出てるけど、
僕もそんな感じしてしまった。pharoの見た目はMacOSXなのにMacOSみたいな
不思議な感じ。とりあえずpharobyexample読んでます。
pharoとsqueakの違いってわかりにくかったけど、前者のほうが仕事より
で後者が教育目的という感じなんですね。
Squeakはスタート時こそ教育目的限定だったけれど、Smalltalkだったんでみんながいろんな目的で
使い始めて、機能は増えたけどいろいろと問題も増えてきたので一度整理したのがPharoかと。
ただ、使い慣れた雑然とした部屋を片付けるとよくあることだけれども、整理しきれないところや
整理したがゆえになくなったりうまく機能しなくなる部分もあったりして、じゃあ開発はPharoだけで
行けるかというとそうでもない感じ。
なるほど、まだ過渡期なんだね。整備はどうしても時間がかかるから
しゃーないような気もするな。
過渡期と言い続けてかれこれもう30年なわけだがorz
地球が太陽に飲み込まれるまで30億年はあるんだから、焦るなって。
squeakで検索したら ゲイコミュニティが引っかかった 苦笑。
pharobyexampleを読んでてわからなかった所があるけど、ビデオを見て解決
した所があった。
http://www.pharocasts.com/2010/11/lightsout-game.html lightout gameは作って実行したはいいけど、キルプロセスに当たるものが
何かわからなかった。適当にごちゃごちゃして消えたけど^^;クラスブラウザは
なかなか面白いと思ったけど、あんなの初めてだったから戸惑った。^^;
あとは、↑というのがソース中に現れるけど、^のことだと最初わからなかった。
しかしながら、一つでもサンプルを打って動かすとなんだか気分はいいですね。
これまでいくつかの言語をやってきたけど、全く違う世界を見ていい頭の体操に
なった感じはする。
Squeakとかもっとキッズに愛用されていいのに見向きもされず
おっさんのおもちゃになってるという現象はある意味面白いな
おっさん?
現状認識が甘い。
じいさんだろ。
自由自在 Squeakプログラミング PDF版 が公開されてるね
梅澤さんありがとう もちろん書籍持ってるけど
80時代の連中は確かに年寄りだけど、Pharoのやつらはちょっと若いね。
Scratchでプロジェクトを作るのに飽きた子はSmalltalkのコードいじって改造してるけど、むちゃくちゃ若いよ。
なんせScratchは母集団が100万人だからいろんなのがいる。
その年寄りが2名ほど某スレで痴話喧嘩してる件orz
せめてGUIをテカテカのハイカラにしてやらないと
若い子には受けんのじゃなかろうか
モダンSqueak
つ pharo
スクラッチってSmalltalkの処理系なんけ?
板全体まきこんで変な名無しにしてくれたなあ
(それもどうも現状維持でまとまってから反対派が申請しちゃったらしい)
>>797 1.4まではSqueak Smalltalkで記述されてるけど、Smalltalkとはまったく違う言語。
クラスはスプライトとステージの2つだけ。インスタンスをプログラムから生成できない。手動のクローニングだけ(ステージはシングルトン)。
レシーバーを指定してメッセージを送れない。引数も戻り値もない。メソッドを作れない。
継承もデリゲーションもない。
変数は形無しだけど、オブジェクトはファーストクラスじゃない。スコープはローカルとグローバル。
配列は一次元のみ。
プログラムは並行して動く。
Linux上のVisualWorksにJapaneseLocaleをロードしたんだけど、日本語が豆腐になる。
NamedFontSelector open で何を選べばいいのかわからない。
うまくいった人いる?
Centos6.2, VisualWorks7.8nc
Smalltalkスレすらないのは偶然ではない
デフォルトのブラウザで日本語が使えない、っていうの
十年前から直ってないのでは????
OSXのVW7.8.1NC使ってみたら以前問題だったUIの表示崩れが直ってた
これならいいか
806 :
デフォルトの名無しさん:2012/05/14(月) 20:53:58.99
すみません。毛玉ワールドとはなんですか?
使い方がさっぱり解りません。
ありがとうございます!
もう一つ教えてください。
入れ子になったViewのMVCを
勉強するのにおすすめのクラスが
あれば教えてください。
とあるスクリプトで
○のy座標←△のy座標というのを作りたいんだけど
どうやればこの形が出来るかな?
○や△はどんなオブジェクトですか?
さっきやってみたらうまくできました
ありがとうございました