Smalltalk(Squeak/VisualWorks/etc.)総合スレ
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001デフォルトの名無しさん
NGNG・ΨΨΨ Smalltalk/ Squeak 教えろゴルァ ΨΨΨ
http://pc3.2ch.net/test/read.cgi/tech/998444037/
・Smalltalk相談室
http://piza.2ch.net/tech/kako/982/982707274.html
0002デフォルトの名無しさん
NGNGSmalltalk Idioms | SRA の青木さん VisualWorks |
ttp://www.sra.co.jp/people/aoki/SmalltalkIdioms/index.htm
Happy Squeaking | OGIS の梅澤さん Squeak |
ttp://www.ogis-ri.co.jp/otc/hiroba/technical/Squeak/squeak.html
CINCOM VisualWorks Tutorial VW7.0 & VW5i.4 | VisualWorks |
ttp://www.cincom.co.jp/products/CincomSmalltalk/tutorials/index.htm
Smalltalk 演習 | 青山さん VisualWorks |
ttp://www.msel.t.u-tokyo.ac.jp/class/old/smalltalk/2000/textbook.htm
Smalltalk Hichhikers Guide | Cake さん Squeak |
ttp://www.ops.dti.ne.jp/~cake-smd/wiki/SmalltalkHichhikersGuide.html
Smalltalk/X についての文書 | Smalltalk/X |
ttp://www.sel.cs.hiroshima-cu.ac.jp/~sato/stx/TOP.html
Smalltalk でフラクタルを描画しよう! | VisualWorks |
ttp://www.max.hi-ho.ne.jp/kn-ichi/programming/
Smalltalk 入門コース | 中京大学 VisualWorks |
ttp://yoshio.sccs.chukyo-u.ac.jp/courses/smalltalk-intro/
Smalltalk-80 の説明
ttp://www.kimura.is.uec.ac.jp/faculties/int-mach-design/02/st80-lang.html
A Study of Smalltalk
ttp://www2.odn.ne.jp/~cap97700/smalltalk/smalltalk.html
Squeakを知りたいっ! | 平井夏児さん Squeak |
http://squeak.hp.infoseek.co.jp/1213SqHirai/
Squeak Tour | Squeak |
ttp://hw001.gate01.com/~thoru/squeak/squeak.html
0003反応が無いんで自分で貼っておく by 前スレ 958
NGNGVisualWorks のページ 処理系: VisualWorks
ttp://www.sra.co.jp/people/kondo/business/VW/
関連リンク集は出来ればちゃんと整形して欲しかったです。
処理系のリンク集も誰か作ってくれるかなと期待してたんだけどな。
あと Smalltalk 開発陣関連のリンク集もテンプレに欲しいね。
忘れちゃいけないのが、国内の情報源。日本語化イメージとか。
時間があったら次スレ(何時だろう?)くらい迄には用意しておきます。
何と言っても、"The best way to predict the future is to invent
it." ですからね。Happy Smalltalking!!
0004名無しさん@Meadow
NGNG0005現実逃避的に作ってみた by 3
NGNGSqueak
- http://www.squeak.org/
CINCOM Smalltalk
- http://www.cincom.com/scripts/smalltalk.dll//prodinformation/index.ssp
- http://www.cincom.co.jp/products/CincomSmalltalk/
GNU Smalltalk
- http://www.gnu.org/software/smalltalk/smalltalk.html
Little Smalltalk
- http://www.smalltalk.org/versions/LittleSmalltalk.html
Smalltalk/X
- http://www.exept.de/exept_99/english/welcomeFrame_exept.html
Pocket Smalltalk(tm) IDE
- http://www.pocketsmalltalk.com/
Dolphine Smalltalk
- http://www.object-arts.com/Home.htm
Smalltalk/JVM
- http://www.missionsoft.com/
Smalltalk MT
- http://www.objectconnect.com/
VisualAge Smalltalk by: IBM
- http://www-3.ibm.com/software/ad/smalltalk/
- http://www-6.ibm.com/jp/software/ad/smalltalk/
GemStone/S, Smalltalk object server
- http://www.gemstone.com/products/s/
ざうちゅう
- http://www.is.titech.ac.jp/~ohshima/squeak/squeak-zaurus-j.html
0006アデル・ゴールドバーグ情報求む! by 3
NGNGSmalltalk-80: The Language and Its Implementation
- http://users.ipa.net/~dwighth/smalltalk/bluebook/bluebook_imp_toc.html
@ 人
Alan Kay
- http://minnow.cc.gatech.edu/squeak.378
- http://www.smalltalk.org/alankay.html
- http://unrev.stanford.edu/presenters/alan_kay/alan_kay.html
Dan Ingalls
- http://www.computerhistory.org/events/lectures/ingalls_10112001/
Adele Goldberg
-
Ted Kaehler
- http://www.squeak.org/us/ted/
Who is who
- http://minnow.cc.gatech.edu/squeak/8
0007日本の Smalltalker の皆さん頑張れ!
NGNGSmalltalkers' Salon Mailing List
- http://www.sra.co.jp/smalltalk/SML/
Welcome to Aoki's Home Page
- http://www.sra.co.jp/people/aoki/
Welcome to Umejava's home page
- http://www.mars.dti.ne.jp/~umejava/
Smalltalk コミュニティ
- http://member.nifty.ne.jp/akon/smalltalk.htm
Smalltalk resources
- http://katsu.watanabe.name/smalltalk/
Smalltalk Page
- http://www.ecal.e.dendai.ac.jp/~masuda/st.html
Smalltalk
- http://nishis-web.hp.infoseek.co.jp/smalltalk/index.html
多言語化Squeakのホームページへようこそ!
- http://squeak.hp.infoseek.co.jp/
Multilingualized Squeak Update
- http://abee.infoseek.livedoor.com/m17nUpdates/
Morphic レッスン(もうひとつの Squeak 入門)
- http://sumim.no-ip.com:8080/morphiclesson
Fun Fun Fun Sqeak!
- http://hw001.gate01.com/~thoru/squeak/funsqueak.html
国内 Smalltalk 関連リンク
- http://www.geocities.co.jp/SiliconValley-Cupertino/4454/link.html
0008気になったので作りなおしたよ。
NGNGSmalltalk Idioms by: SRA の青木さん 処理系: VisualWorks
- http://www.sra.co.jp/people/aoki/SmalltalkIdioms/index.htm
Happy Squeaking by: OGIS の梅澤さん 処理系: Squeak
- http://www.ogis-ri.co.jp/otc/hiroba/technical/Squeak/squeak.html
CINCOM VisualWorks Tutorial VW7.0 & VW5i.4 処理系: VisualWorks
- http://www.cincom.co.jp/products/CincomSmalltalk/tutorials/index.htm
Smalltalk 演習 by: 青山さん 処理系: VisualWorks
- http://www.msel.t.u-tokyo.ac.jp/class/old/smalltalk/2000/textbook.htm
Smalltalk Hichhikers Guide by: Cake さん 処理系: Squeak
- http://www.ops.dti.ne.jp/~cake-smd/wiki/SmalltalkHichhikersGuide.html
Smalltalk/X についての文書 処理系: Smalltalk/X
- http://www.sel.cs.hiroshima-cu.ac.jp/~sato/stx/TOP.html
Smalltalk でフラクタルを描画しよう! 処理系: VisualWorks
- http://www.max.hi-ho.ne.jp/kn-ichi/programming/
Smalltalk 入門コース by: 中京大学 処理系: VisualWorks
- http://yoshio.sccs.chukyo-u.ac.jp/courses/smalltalk-intro/
Smalltalk-80 の説明
- http://www.kimura.is.uec.ac.jp/faculties/int-mach-design/02/st80-lang.html
A Study of Smalltalk
- http://www2.odn.ne.jp/~cap97700/smalltalk/smalltalk.html
Squeakを知りたいっ! by: 平井夏児さん 処理系: Squeak
- http://squeak.hp.infoseek.co.jp/1213SqHirai/
Squeak Tour 処理系: Squeak
- http://hw001.gate01.com/~thoru/squeak/squeak.html
0009どれが本スレとかは正直どうでも良いです。
NGNGSmalltalk.org
- http://www.smalltalk.org/main.html
The UIUC Smalltalk Archive
- http://st-www.cs.uiuc.edu/
STIC: The Smalltalk Industry Council
- http://www.stic.org/
Why Smalltalk?
- http://www.whysmalltalk.com/
Smalltalk - ONLINE
- http://www.phaidros.com/DIGITALIS/
camp.smalltalk.org
- http://camp.smalltalk.org/
GoodStart
- http://www.goodstart.com/
@ FAQ
- http://www-2.cs.cmu.edu/Groups/AI/html/faqs/lang/smalltalk/faq.html
- http://www.faqs.org/faqs/smalltalk-faq/
- http://www.dnsmith.com/SmallFAQ/
@ リンク
Cetus Links
- http://www.cetus-links.org/oo_smalltalk.html
Smalltalk Links
- http://www.goodstart.com/stlinks.shtml
Smalltalk Webring
- http://f.webring.com/hub?ring=smalltalk
0010とりあえずこれで終了。10 に間に合って良かった。
NGNG- Self
http://www.cichon.de/self/
http://www.gliebe.de/self/
http://www.lsi.usp.br/~jecel/tiny.html
http://research.sun.com/self/index.html
http://research.sun.com/research/self/release/Self-4.0/Tutorial/index.html
- Strongtalk
http://www.cs.ucsb.edu/projects/strongtalk/pages/index.html
http://java.sun.com/people/gbracha/nwst.html
http://www.cincomsmalltalk.com:8080/CincomSmalltalkWiki/VW+7+Competitive+With+Strongtalk
http://lambda.weblogs.com/discuss/msgReader$4826
0011と思ったら、これ入れるの忘れてた。鬱。
NGNGVisualWorks のページ 処理系: VisualWorks
- http://www.sra.co.jp/people/kondo/business/VW/
実はまともにコーディングした事が無かったりします。
所謂言語マニアかな?
Lisp, Scheme, Forth, Objective-C 辺りに興味があります。
もちろん、Smalltalk にも!!
sage 進行でマターリやりましょう。
0013デフォルトの名無しさん
NGNGなぜいまSelf?
001512
NGNGClass-Instanceっていう構造の必要性がいまいちわからんのよ。
それでPrototypeベースの言語にちょっと興味が湧いたということ。
>>14
SunもMacも持っとらんなぁ。どうしよ。
0016デフォルトの名無しさん
NGNGhttp://www.k-inet.com/~brown/ftp/newton/Documents/NewtonScript.pdf
0017デフォルトの名無しさん
NGNGそれならSelfじゃなくてSimula67をやりなさい藁
0018デフォルトの名無しさん
NGNG0019デフォルトの名無しさん
NGNGほんとだ。なんでclassがいるんだろうね。instance(Selfでいえば、
frame)だけでいいのにね…。ところでprototype-basedで隠蔽とか
ってできるのかなぁ。すくなくともSelfはslotまるだしだけど…。
0020デフォルトの名無しさん
NGNGSmalltalkをまったく知らない場合に何を使ったら良いでしょうか?
2の関連リンクを見るとSqueakとVisualWorksの解説が
多いようなのでどちらかにしようとは思っているのですが。
0021デフォルトの名無しさん
NGNGまじめにやりたいのならVisualWorks
おかしくなりたいのならSqueak
選択後は互いに交わらないので注意
0022デフォルトの名無しさん
NGNG> 選択後は互いに交わらないので注意
両方使う人、多いんじゃない?
俺も両方使うし。
0023デフォルトの名無しさん
NGNG0024デフォルトの名無しさん
NGNG002520
NGNGそんなに最初にやる方って重要なんですね(((;゚д゚)))
SDにSqueakの短期連載が載ってると聞いて借りてきたのですが
安易に始めずに良かった…。
>>24
この二つがメジャーなのか、解説ページも多いようなので
どちらかが良いかなと思っているのですが、他に何かあれば
アドバイスおねがいします。
0026デフォルトの名無しさん
NGNGVisualWorksはストイックできれいで速いくて信頼できますが、お仕事モードかも。
Squeakから入ると、Squeakのどこが汚いのか分からない大人になってしまうかもしれません。
Smalltalkは先人のコードを読んで真似するのがキモなので、妙なクセがつきそう。
私はObjectworksから来たので、笑いながら怒り狂いつつSqueakで遊んでいます。
0027デフォルトの名無しさん
NGNGDolphin XPは金を払う価値ありですか?
もう買う気は満々なのですが。。。
0028デフォルトの名無しさん
NGNG> 私はObjectworksから来たので、笑いながら怒り狂いつつSqueakで遊んでいます。
ハゲ同。でも、なぜか好奇心は刺激されるんだよな。
「ハア?何考えてんの、何したいのコイツ…」って 藁
002920
NGNGとりあえず日本語環境のインストール
http://www.sra.co.jp/people/h-asaoka/study/JunInstall/JunInstall.html#5
以外は上手く行ったのでチュートリアル見ながら
やって行きたいと思います。
色々とアドバイスありがとうございました。
0030デフォルトの名無しさん
NGNGとなりの人が「あり」だといっています。
「金があるならProfessional」とも言っています(RefactoringBrowserもついてくるし)。
次バージョンには前スレで話題のAiboがつっこむやつもついてくるそうです(Aibo以外)。
0031デフォルトの名無しさん
NGNGParagraphEditorを継承していじればいいということは何となくわかるのですが、
こいつがどういう仕組みで動いているのかがさっぱり分かりません。
ソースコード以外で参考にできるような資料はありませんでしょうか?
0032デフォルトの名無しさん
NGNG幸い、SqueakにHyperText機能は既に備わっているので(文字列選択してAlt+6)、
あと一押しでいけるのではないでしょうか。
ParagraphEditor>>changeEmphasis:
TextLink
などが鍵です(前者は恐ろしく読みにくいですが)。
0033デフォルトの名無しさん
NGNGSwikiをScamperで使うのはどうよ
0034デフォルトの名無しさん
NGNGよっしゃ買います!背中を押してくれてありが�d
となりの人にもよろすくどうぞ
003531
NGNGソースだけですか‥‥‥。 あと Alt+6 は知りませんでした。ありが�d。
>>33
編集もモードを変えずにやりたいんです。それにPDAでは重いし。
個人的なメモ帳なのでPalmWikiやEmacsWikiの手軽さが欲しい。
0036デフォルトの名無しさん
NGNGTextSqkProjectLinkのサブクラス(TextWkspWikiLinkとでもしま
しょうか(笑))を作って、actOnClickFor:を定義(オーバーライド)
します。メソッドとしてはとりあえず
actOnClickFor: anObject
| wikiWorkspaces |
wikiWorkspaces _ SystemWindow windowsIn: ActiveWorld satisfying: [ :w |
(w model isKindOf: Workspace) and: [
w label = url]].
wikiWorkspaces size = 0 ifTrue: [
Workspace new openAsMorphLabel: url. ^true].
wikiWorkspaces first activate.
^ true
てなぐあいでいかがでしょうか。動作テストするにはこれをParagraphEditor>>#changeEmphasis:のURLリンク作成あたりに置
き換える(具体的にはindex = 6 ifTrue: [attribute _ TextLink new.
のTextLinkをTextWkspWikiLinkに置き換える)とよろしかと。機能
的にこんなイメージでよければあとは重複しているalt-9あたりに割り
当てるべく作り込めばよいでしょう(alt-9はalt-shift-マイナスと
一緒です)。ただ、この仕様だとワークスペースのタイトルを変えた
りするとリンクが切れてしまうので、本格的なWiki(多くのWikiは
Wikiページのタイトル変更を許していないので仕様的にはSwiki)仕立
てにするには、ワークスペースのサブクラスをしたてるか、最終的
にはきちんとそれ用のオブジェクトを設計したほうがよいと思います。
0037デフォルトの名無しさん
NGNGコンボボックスやラジオボタンみたいなウィジェットの部品はないのでしょうか?
003831=35=37
NGNGSystemWindow>>windowsIn:
ActiveWorld>>satisfying:
どちらもエラーが出て実行できませんでした。
多分これMorphic系ですよね。MVC系列ではどう書くのでしょう。
0039デフォルトの名無しさん
NGNG1つのキーワードメッセージ式を2つと解釈しているのは、ちとまずい。文法をがんがれ。
MVCは、ほとんどSmalltlak-80なんで、それ系のドキュメントを読むのが吉。
でも、最近のSqueakでMVCはまともに動かない罠。
以下、サービス。
actOnClickFor: anObject
| wikiWorkspaces |
wikiWorkspaces _ ScheduledControllers scheduledControllers
select: [:controller | (controller model isKindOf: Workspace)
and: [controller view label = url]].
wikiWorkspaces isEmpty
ifTrue: [Workspace openLabel: url.
^ true].
ScheduledControllers scheduleActive: wikiWorkspaces first.
^ true
0041デフォルトの名無しさん
NGNGどうしたらいいの?サンプルプログラム書いてくだちい。
0042デフォルトの名無しさん
NGNG>ST-80のクラスライブラリ解説書ほすい。
ソースコードが一番頼れるものです。ソースコードが解説書です。
0043デフォルトの名無しさん
NGNGemacs というのは比喩だけど、プログラマブルな作業環境って事ね。
そういう意味で Squeak == emacs * GUI になれるなんじゃないかと。
今はプログラミング環境という色が強いけど、もっと作業環境、エディタ
とかドローツールとかプレゼンツールとか、そういう方向の活用方法が
もっと提示されて来ると面白そう。今でも一部そういう使い方をしている
人達がいるけど(ブラウザとかプレゼンとか)、ゆくゆくは Office とか
PIM とかデータベースとかを、全部 Squeak 上で済ませられるような作業
環境になったらなと妄想してます。
0044デフォルトの名無しさん
NGNGそして、同じ問題を抱えそう...
SmalltalkでもEmacsでもそうだけど、もうちょっと環境の分離というか、
保護の概念があるといいのになぁ。
0045デフォルトの名無しさん
NGNGMailとNetNewsとhtml書きが主なEmacsでの作業という軽い使い方だけど。
44はどういう問題を感じていて、保護の概念があるとそれがどう解決するの?
0046デフォルトの名無しさん
NGNG単一空間に混ざってるシステムは理解していればプログラムは組みやすいだろうし、
たしかに便利な側面もある。
しかし、1つのアプリケーションが悪さが他のアプリケーションに影響を及ぼすのは
許しがたい。これは、見えてるメモリ空間(Object空間??)を分離するとある程度
解決するのではないかと。
この問題と関連して、同じライブラリの互換性のない違うバージョンの同時使用が
できないのも問題。
って、これ書いてて、自分でも整理ができてきたのだが、同一VM上で、隔離された
複数の環境が動作して、かつ、それらの環境の操作が容易であるシステムがほしいのだな。うん。
0047デフォルトの名無しさん
NGNG普通にVisualWorksの名前空間じゃダメ?
0048デフォルトの名無しさん
NGNG>>43、そう、そんな風に使いたいんですよ!
実行中にデバッガやインスペクタ使いつつ改造して即accept
で、どんどん自分好みの環境に育てていく感じ
あーー
はやく色々作れるようになりたい
0049デフォルトの名無しさん
NGNGどんな構成になっているかとか、どこから読み始めるとか、チュートリアルとか、
そういったものの必要性すら皆無ってことですか。
すでに知っている人には、まだ知らない人の気持ちなんて分かる訳ないですよね。
0050デフォルトの名無しさん
NGNG> どんな構成になっているかとか、どこから読み始めるとか、チュートリアルとか、
> そういったものの必要性すら皆無ってことですか。
これは正論だが、
> すでに知っている人には、まだ知らない人の気持ちなんて分かる訳ないですよね。
これはただの暴言だぞ。
今Smalltalkでバリバリ書いてる人だって、最初はソースコードにかじりついて
勉強したんだよ。ソースコード以外は英書(the Blue Book)しかないような状況で。
「まだ知らない人の気持ちなんて分かる訳ない」のではなく、
「まだ知らなかった頃の自分がやった事を勧めている」んだよ。
もちろん、いいチュートリアルがあったほうがいいのは間違いないわけだけど、
それは>>1-3のリンク先を読んだ上での話なんだよね?
だったら、どのチュートリアルのどんな所が解り難かったか、という話から始めたほうが
建設的だと思うけど、どうよ?
0051デフォルトの名無しさん
NGNG静止画のテクスチャを貼る方法は分かるんだよね。
動画から一定間隔で静止画を抜き出して、テクスチャを差し替えてから
3Dオブジェクトを更新する戦略でどうよ。
0052デフォルトの名無しさん
NGNG最初その方法でやってみました。
マウスの形とか変わっちゃうし、動きもぎこちないんだよなー。
| handle player anImage texture object model process|
player := JunMoviePlayer request.
object := JunOpenGL3dObject cube .
player isNil ifTrue: [^nil].
model := object show.
handle := player movieHandle.
process := [
[0 to: 10 by:0.5 do:[ :i|
player gotoInSeconds: i.
anImage := handle asImage.
texture := JunOpenGLTexture image: anImage.
object texture: texture.
model changed:#texture.
Processor yield.
(Delay forMilliseconds: 100) wait.
]
] ensure: [player release]] newProcess.
"process priority: 40."
process resume
005352
NGNGマウスカーソルの形かわっちゃうし
0054名無しさん@Emacs
NGNG以前はinfoseekにあったと思うのですが?
0056デフォルトの名無しさん
NGNGアーカイブあればいいんですけど。
0057デフォルトの名無しさん
NGNGSelfのオリジナルペーパーがSmalltalkに批判的な理由も気になるなぁ。。。
ttp://sumim.no-ip.com:8080/wiki/319
0058デフォルトの名無しさん
NGNGソースコード探しても見つからない訳だ。
0059デフォルトの名無しさん
NGNGそんなこたーない。
MorphicでMVCライクな依存性機構を使うためのPluggableTextMorphを作って、ちゃんと
プラグインメッセージを送っている(StringHolder>>openAsMorphLabel:inWorld:)。
TextMorphとはクラス階層から違うよ。
0060年末保守
NGNG失礼しました。一応、inspect morph した上だったのですが、TextMorph と
PluggableTextMorph ってそんなに違うものなのですか。
SML で新しい日本語イメージの話が出てましたね。TrueType フォントと M$
IME の dll、本家に採用されたりしないのかな。
0061渡邊克宏
NGNGVisualWorksを含めたプログラミング言語の名前空間というものは、
名前の空間(しきり)に過ぎません。
つまり、何らかの方法(普通は空間の名前を陽に指定する)で相手の
名前がわかったり参照を入手できたりすれば、オブジェクト同士が
対話するのを妨げることはできません。
43-46などで語られている保護の概念は、アプリケーションごとに環境
(オブジェクトがなす場)を隔絶するというものなので、アプリケーションを
構成するオブジェクト同士の対話を制限することが本質的に必要です。
言うならば、OSのプロセスの概念に相当するものでしょう。名前空間は
この用途には向いていません。
(46氏はもちろんプロセス以上のことを念頭においているんだと思います。)
0062IP記録実験
NGNGhttp://qb.2ch.net/test/read.cgi/accuse/1042013605/
1 名前:ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ 投稿日:03/01/08 17:13 ID:???
そんなわけで、qbサーバでIPの記録実験をはじめましたー。
27 名前:心得をよく読みましょう 投稿日:03/01/08 17:20 ID:yL/kYdMc
SETTING.TXT管轄でないということは全鯖導入を視野に、か?
38 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:22 ID:rLfxQ17l
>>27
鋭いです。
73 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:27 ID:rLfxQ17l
>ところで、IPが抜かれて何か今までと変わることってあるのでしょうか?
・今までより、サーバが重くなる。
・裁判所や警察からの照会があった場合にはIPを提出することがある。
0063デフォルトの名無しさん
NGNG0064デフォルトの名無しさん
NGNG0065IP記録実験
NGNGhttp://qb.2ch.net/test/read.cgi/accuse/1042013605/
1 名前:ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ 投稿日:03/01/08 17:13 ID:???
そんなわけで、qbサーバでIPの記録実験をはじめましたー。
27 名前:心得をよく読みましょう 投稿日:03/01/08 17:20 ID:yL/kYdMc
SETTING.TXT管轄でないということは全鯖導入を視野に、か?
38 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:22 ID:rLfxQ17l
>>27
鋭いです。
73 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:27 ID:rLfxQ17l
>ところで、IPが抜かれて何か今までと変わることってあるのでしょうか?
・今までより、サーバが重くなる。
・裁判所や警察からの照会があった場合にはIPを提出することがある。
0066デフォルトの名無しさん
NGNGバイト始めたんだよ。宅急便の荷分け。
0067デフォルトの名無しさん
NGNG>1
>どうやら管理人
>qbサーバ
ってなんですか?
97 名前:●ITAN.IBM ◆GQITAN.IBM 本日のレス 投稿日:03/01/08 17:31 A4oVmFaH
>>90
批判要望、削除議論、削除整理、削除要請
98 名前:心得をよく読みましょう 本日のレス 投稿日:03/01/08 17:31 TzeruebF
>>90
qb.2ch.netで始まるアドレスの鯖。
とありましたな。スマソ
他の鯖はIPとってないの?
0068デフォルトの名無しさん
NGNG0069デフォルトの名無しさん
NGNG2ちゃんねるのお勧めな話題と
ネットでの面白い出来事を配送したいと思ってます。。。
===============================読者数: 138720人 発行日:2003/1/9
年末年始ボケがそろそろ収まり始めた今日このごろのひろゆきです。
そんなわけで、年末に予告したIP記録ですが実験を開始しています。
「2ちゃんねる20030107」
こんな感じで各掲示板の最下部に日付が入ってるんですが、
20030107以降になってるところはログ記録実験中ですー。
んじゃ!
────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50
────────────────────────────
0070デフォルトの名無しさん
NGNG今までの騒動もそうだったろ?
0071デフォルトの名無しさん
NGNG面白そうなんで、Visual Work 3.1を落としてみますた。
で、青木さんのところに書いてあるように環境を整えたはずなんですけど、
セーブ>終了しても、「チェンジファイル」とゆーものが出来ません。
3.1では出来ないものなんでしょうか?
(間違えてないか再チェックしますが。)
それから、市販の「Smalltalk Idioms」とWeb版ではどのくらい違うんでしょう?
どうぞよろしく。
0072デフォルトの名無しさん
NGNGプロバじゃないとわからないよね
0073デフォルトの名無しさん
NGNG0074デフォルトの名無しさん
NGNG0075デフォルトの名無しさん
NGNG0076デフォルトの名無しさん
NGNG0077デフォルトの名無しさん
NGNG宝くじ当たるから大丈夫。
0078デフォルトの名無しさん
NGNG爆破予告
http://ex.2ch.net/test/read.cgi/entrance/1041236513/
0079デフォルトの名無しさん
NGNGIPを保存することで書き込んだ人に
責任を擦り付けられるとでも思ってんのか?
関係無いぜ。
警察の捜査はしやすくなるかもしれんが、公開責任は依然ひろゆき。
いい加減理解しろや。
日本生命の時から言われてるぜ。
判決もこれに沿ったものだったしな。
日本生命
http://www.geocities.co.jp/Technopolis-Mars/6820/hoken/
0080デフォルトの名無しさん
NGNGlocalhost:12987みたいな自分のところで立ち上げてから見るんじゃなくて、
自分は立ち上げずに他の人のところで見たいという意味なんだよね。
やっぱ2ちゃんねるのアドバンテージは
多くの人が書き込んでいること、なんだけど、
そのひとつの要因として、ブラウザと言う、
OSに標準でついてるもので簡単に見れること、
があげられるし。
0081デフォルトの名無しさん
NGNG0082デフォルトの名無しさん
NGNGかぁ?
0083デフォルトの名無しさん
NGNG0084デフォルトの名無しさん
NGNG0085デフォルトの名無しさん
NGNG0086デフォルトの名無しさん
NGNG0087デフォルトの名無しさん
NGNG管理人は「逝ってよし」もダメだと言うのか!?
0088デフォルトの名無しさん
NGNGその告発者は別に2ちゃんに書き込んでたわけじゃなくて
ちゃんとなんらかの方法で警察にコンタクト取ってたわけでしょ?
ほんとに告発したいことなら掲示板で書くより警察・マスコミに流した方が
早いと思う
0089デフォルトの名無しさん
NGNGhttp://newspolls.yahoo.co.jp/public/archives/2076384460/p-ne6-7?m=r
0090デフォルトの名無しさん
NGNG2ちゃんねるのお勧めな話題と
ネットでの面白い出来事を配送したいと思ってます。。。
===============================読者数: 139038人 発行日:2003/1/10
なにやら、連日メルマガだしてるひろゆきです。
そんなわけで、ログ記録実験ですが、いちいちサーバ指定するのが面倒なので、
全部のサーバに入れてみました。
重くなって落ちたりしてもご愛嬌ってことで。。。
んじゃ!
────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50
────────────────────────────
0091デフォルトの名無しさん
NGNG0092デフォルトの名無しさん
NGNG「万札の諭吉消せ」やら「参政権よこせ」やらやっといて、マスコミが取り上げないのはおかしくないか?
創価・公明・民団は聖域で、一切の批判を許さないとでもいうのだろうか……。
0093デフォルトの名無しさん
NGNG0094デフォルトの名無しさん
NGNG0095デフォルトの名無しさん
NGNGでも現実派、ひろゆきにとってはあなたは単なるユーザーの一人
0096デフォルトの名無しさん
NGNG国内サッカー板が見れない…
0097デフォルトの名無しさん
NGNG0098デフォルトの名無しさん
NGNG繰り返し自作自演でスレ荒らしてる人は
質の低い書き込みだと思うんだけど
それは問題なし?
0099デフォルトの名無しさん
NGNG0101デフォルトの名無しさん
NGNGエビフライ相当食えるぞ。
0102デフォルトの名無しさん
NGNG0103年始保守
NGNG0104デフォルトの名無しさん
NGNG0105デフォルトの名無しさん
NGNG>プロバイダ責任制限法の下で、書き込み内容について管理者に責任を問えるのは、
それは言うまでも無いことですが?
ひろゆきが何をしたいかを考えれば問題点がわかるのでは? <争点のことね。
0106デフォルトの名無しさん
NGNG特定の2ch専用ブラウザと紛らわしいから。
0107デフォルトの名無しさん
NGNG0108山崎渉
NGNG0109デフォルトの名無しさん
NGNG0110山崎渉
NGNG0111デフォルトの名無しさん
NGNGOS は TRON で、ペン入力ではないみたいですが、これで
Squeak を動かして Alan Kay 博士に贈呈したら喜ぶかも。
一台 6 万円以下だそうです。
http://www.t-engine.org/ja/topics/tea.jpg
0112デフォルトの名無しさん
NGNG開発は続いてるのかな?
0113デフォルトの名無しさん
NGNGあと、環境変数を参照することはできますか?
環境はMac 10.2です。
0114デフォルトの名無しさん
NGNG0115デフォルトの名無しさん
NGNGOS Xはまだっぽい。
http://minnow.cc.gatech.edu/squeak/708
0116デフォルトの名無しさん
NGNG0117113
NGNGありがとうございます。リンク先のドキュメントに
Unix/LinuxとあったのでMacもUNIX 系?とやみくもにMacでFile Inしようとしてみました。
とりあえず、
world
open
file list
OSProcessV3-0-4-full-dtl.cs
File-in
してみましたが
>MessageNotUnderStood: moduleName
>UndefinedObject
さっぱりわかりません。
.sarファイルがなんだかもよくわかっていないし、もう少し探索してみます。
XonXで squeak(unix)を試すとか
VirtualPCで spueak(windows)を試してみるのもあり?(激遅いだろうけど)
0118デフォルトの名無しさん
NGNGアップルスクリプト経由で、
Applescript doIt: 'do shell script "cal 1 2003"'
などでは駄目ですか?
0119113
NGNGApplescriptがsqueakから呼び出せるのですか?
まさしく求めている機能だとおもいます。
しかし手もとでは、うまく実行できません。
>Object is Negative Integer
になってしまいます。
また勉強してきます。
0120デフォルトの名無しさん
NGNGプラグインが適正な場所にないとそういうノーティファイアが出ます。
ftp://st.cs.uiuc.edu/Smalltalk/Squeak/3.2/mac/carbonplugins/TestOSAPlugin.bundle.sit
から落として、VM の .app と同じフォルダに作った Plugins フォルダに収めておきましょう。
基本的なことがわからないときは、無理をせず、オールインワンのアーカイブを
落としてきて使うのが無難かと思います。
ftp://st.cs.uiuc.edu/Smalltalk/Squeak/3.2/mac/Squeak3.2-4956-MacOS-Full.sit
0121113
NGNG今までためしているのがSqueak3.2-4956-MacOS-Full.sit(3.2.8Beta9)なんですが、
これで>119の症状だたはず。
とおもったのですが、あちこちからイロイロ試していたのを全部ざっくり消去して
再度アーカイブ をゲットしてはじめからやってみます。
展開してPluginsフォルダの中に
TestOSAPlugin.bundleその他を再確認。
>118
Applescript doIt: 'do shell script "cal 1 2003"'
をWorkspaceに打ち込んで、
やったねエラーはでなくなったみたい、、なのですが、Transcriptの窓に結果が
出力されていないようなのですが。1月のカレンダーが出るんですよね?
ン?そんなわけないのか。外部の出力結果をどうやって受け取ればいいんでしょ
サンプルで見かけた
Applescript doIt: 'beep 2'
も、音がでている様子がありませんし。
すいませんsqueakの初歩からでなおしてきまつ。
あと、VMがPluginを認識しているかどうかは、確認できるのでしょうか?
足りない頭で考えると、SystemBrowserの中に存在を確認すればOKなのかな?
0122113
NGNG当初の目的を一言でまとめると
squeakで作ったデータを一度外部で処理してからsqueakに戻したい。
ということです。
(その先に「偽春菜」や「伺か」がでてくるのはまだまだ後の話ということで、、、、)
0123デフォルトの名無しさん
NGNGhttp://www-sor.inria.fr/~piumarta/squeak/goodies.html
0124デフォルトの名無しさん
NGNGトランスクリプトに結果を表示したいときは、
Transcript cr; show: (Applescript doIt: 'do shell script "cal 1 2003"')
を do-it します。ワークスペース内で結果を出力するのでよければ
Applescript doIt: 'do shell script "cal 1 2003"'
を print-it します。do-it も print-it も選択したメッセージ式を評価
するのですが、後者は返値を式の直後に挿入します。いずれも
黄ボタンメニューから実行可能ですが、cmd-d、cmd-p でもいけます。
今回のような例ならいいのですが、メッセージ式の評価の返値は
文字列できちんと表現できるとは限らないので、inspect-it(cmd-i)も
覚えておいたほうがよいでしょう。これは、式を評価した後、その返値
のインスペクタ(そのオブジェクトのインスタンス変数に束縛されている
オブジェクトを検査するためのツール)を開きます。
0125山崎渉
NGNG0126デフォルトの名無しさん
NGNG誰か助けて。
何で 2+1; *3が6になるんだ?
5とか9なら話は分かるんだけど。
0127デフォルトの名無しさん
NGNG詳しくは(Squeakの場合)Transcriptで
[^2+1;*3] method symbolic
を選択して、メニューから「評価して表示」を実行してみて下さい。
0128デフォルトの名無しさん
NGNGBASICのような行表示が出てきて面白いねこれ。
要するに2に+1を送った後、*3を送って結果を返してるってことですね。
やっとわかりました。
0129デフォルトの名無しさん
NGNGObjectクラスには
yourself
"Answer self."
って書いてあるんだけれども。
必要性が謎だ。selfでいいじゃん。
0130デフォルトの名無しさん
NGNGインターフェースオブジェクトを通して他のオブジェクトと会話する場合に、
インターフェースオブジェクトのyourselfをオーバーライドして元のオブジェクトを
返すようにすると、相手は直接話しているのか間接的に話しているのか意識する
必要がなくなるので便利だとか。。。
使用例はBrowserでyourselfを選択して、sendersボタンを押して見て下さい。
0131デフォルトの名無しさん
NGNGThx!
0132デフォルトの名無しさん
NGNG218個もあったよ。(VisualWorks7.0)
このうち僕が知ってるのはせいぜい20個くらい。
使ってるのはhaltとかcopyとか、せいぜい10個足らず。
皆さんどのくらい使いこなしてます?
全部知ってて当たり前かな。
0133デフォルトの名無しさん
NGNG> 全部知ってて当たり前かな。
いや、必要なときだけブラウザで調べる(遅延評価)というのがSmalltalk流では。
よく使うのは記憶してもいいけど、効率を上げるための一時的なキャッシュだな。
実際おれ今10個ぐらいしか思いつかんし。←ヘタレだからか?(w
0134デフォルトの名無しさん
NGNGBlockClosureってありますよね。
オブジェクトが関数(メソッド)を持った変数だとすると、BlockClosureって
変数(やコンテキスト)を保持した関数ってイメージでよいんでしょうか。
とてもおもしろいと思いました。
そこで質問なのですが、SmalltalkのBlockClosureのコンセプトをC++で(限定的な機能でも)
実装した例ってどこかにありますでしょうか。
0135デフォルトの名無しさん
NGNGクロージャはLisp系の言語や関数型言語で使われるデータ構造。
そっちの資料をあたると詳しい。
C++は、"Lambda abstractions in C++ vs. Scheme"
http://okmij.org/ftp/c++-digest/Lambda-CPP-more.html
とか?
0136134
NGNG/var/cvsrootに対して
#chmod g+wr /var/cvsroot
#ls -ld /var/cvsroot
drwxrwsrwx 16 root devgroup 4096 Feb 15 01:45 cvsroot
(テスト用にもともとパーミッションをゆるく設定してありました)
として、新たなモジュールhogeをImportしました。するとhogeディレクトリ
のパーミッションは
#ls -ld hoge
drwxrwsr-x 3 myacount devgroup 4096 Feb 15 01:45 hoge
となるんですが、その下にあるファイルmain.cpp.vのパーミッションが
-r--r--r--
となっています。何かおかしいでしょうか。。。
0137デフォルトの名無しさん
NGNG取り出すときに復号化したいんですが可能でしょうか?
squeakからlinuxのコマンドラインは使用出来るんですかね?
0138デフォルトの名無しさん
NGNGコマンドライン叩くにはOSProcessを使ってくださいな
ttp://minnow.cc.gatech.edu/squeak/708
0139プラガブルMVCについて。
NGNG結局各XXXModelに対して、対応するXXXControllerとXXXViewが
定義されていることが多いですよね。(VCがプラガブルになっていない)
Modelに全く依存しないView,Controllerって、実際のアプリを作ろうすると
実用にならない気がします。
つまり、ポップアップメニューだけで操作するアプリケーションならともかく、
凝ったGUIを作ろうとしたときには結局プラガブルにはできないのではないですか?
いかがでしょうか。。。
0140デフォルトの名無しさん
NGNGメンバーの可視性を自由に設定できる他の言語に比べて、どうなんでしょうか?
0141デフォルトの名無しさん
NGNGΨΨΨ Smalltalk/ Squeak 教えろゴルァ ΨΨΨ
の 136 あたりからその話題。
143 あたりが至言だろう。
0142140
NGNG0143デフォルトの名無しさん
NGNGここの>>1-11のリンク使ってもいいですか?
0144デフォルトの名無しさん
NGNG(私は)いいですよ。
0145143
NGNG2~3日中に建てます。
0146デフォルトの名無しさん
NGNGhttp://pc.2ch.net/test/read.cgi/mac/1046446110/
建ちました。よろしくお願いします。
0147デフォルトの名無しさん
NGNG↑を見てVW7NCをインストールしたのですが、アンインストールはどうすればいいのでしょうか?
単にフォルダ削除でOK?
システムブラウザでアイテムを選択するたびに画面がちらついて、目が悪くなりそうだった。。。
0148デフォルトの名無しさん
NGNGOK
0149デフォルトの名無しさん
NGNG今は画面外にスライダーおいてその数値を使ってます。
0150デフォルトの名無しさん
NGNGSqueakとSqueakToysを区別しようね。
質問の意図はSqueakToysで、だと思うのでここを読んでください。
http://www.cue.im.dendai.ac.jp/~masuda/squeak/accel.html
0151デフォルトの名無しさん
NGNG3Dユーザインタフェース研究:Open Croquet
http://slashdot.jp/articles/03/03/13/0217210.shtml
0152デフォルトの名無しさん
NGNGSmalltalk画面操作中に、ときどきこんなエラーがでます。
みなさんでたことあります?
0153デフォルトの名無しさん
NGNGGNU Smalltalk version 2.0.11 で
| g |
g:= (BLOX Gui new).
g blox: (BLOX BWindow new: 'test').
g blox map!
とやると窓が開きますが終了できません。
なにを加えればよいでしょうか。
コールバックがキーワードだと思いますが
よくわかりませんでした。
へたれでごめんなさい。
0154153
NGNG環境はLinuxで--with-tclと--with-tkでコンパイルしました。
BLOXはもともとはいってました
0155153
NGNG誰も知りたくないようですがこだわりません
| w |
w:= (BLOX BWindow new: 'test').
w map.
BLOX Blox dispatchEvents: w.
w release.
w unmap.
BLOX Blox terminateMainLoop!
でも、ようわかってないんでまだボタンとか追加できない
まあ、ぼちぼちがんばります
0156デフォルトの名無しさん
NGNGhttp://homepage2.nifty.com/igat/igapyon/diary/2003/ig030320.html
0157デフォルトの名無しさん
NGNG良いものはあるでしょうか。
amazon.co.jpで検索したところ、過去10年に出版された
本で在庫切れになっていないものとしては、
「Smalltalkのススメ」
「サクサクSmalltalk」
「ウィンストンのSmalltalk」
ぐらいしかないようです。
処理系はVisualWorksを使います。
0158デフォルトの名無しさん
NGNG同名の別人に決まってるだろ(w
0159デフォルトの名無しさん
NGNG都内まで買いに出るのはしんどい。
0160デフォルトの名無しさん
NGNGhttp://www.esbooks.co.jp/product/keyword/keyword?accd=31108030
0161デフォルトの名無しさん
NGNGhttp://www.heeg.de/heeg/Datenblatt_main.html
0162デフォルトの名無しさん
NGNG『Smalltalkイディオム』がおすすめ。書籍は絶版だけどweb上で筆者が全文公開してる。
0163デフォルトの名無しさん
NGNG0164デフォルトの名無しさん
NGNGマジレスすると青木さんが現在いる場所のことです。
0165三村
NGNG0166デフォルトの名無しさん
NGNGあ、いや、その、そもそも「筍寺」って何のことなのかなと。
0167デフォルトの名無しさん
NGNG0168デフォルトの名無しさん
NGNGありがとうございます。
サイトを見てみました。
本一冊分だけあって膨大な量がありますね。
0169デフォルトの名無しさん
NGNGjunのクラスやメソッドが変色しますよね。
あれって何でなんでしょうか。
意味を知らないと、知らないうちにとんでもないことになってそうで怖いのです。
0170かおりん祭り
NGNG〜oノノハヽo〜
( ^▽^)/⌒\ , −-
((ニ[二=( こんなのがございま−−==≡≡す♪ ))
/∧=:|| \_/ `ー‐‐'
じ/___/
0171デフォルトの名無しさん
NGNGsmalltalk のメッセージ機構を使うのとはどう違うんですか?
別に大差ないように思うんですが…。
0172山崎渉
NGNG0173デフォルトの名無しさん
NGNG0174デフォルトの名無しさん
NGNG0175山崎渉
NGNG( ^^ )< ぬるぽ(^^)
0176デフォルトの名無しさん
NGNGCDちゃんと焼けます?
なんかウチだと焼いてる途中でエラーになっちゃうんだよなぁ。
イメージマウントするか個別のパッケージ毎にDLしてインストールしろってことなの?
保守を兼ねて(w
0177デフォルトの名無しさん
NGNG原書:Prentice Hall「Squeak:Open Personal Computing and Multimedia」ISBN0130280917
Mark Guzdial/Kim Rose 著
軋音組 訳
A5判 266ページ 本体価格¥2.800 2003年3月発売
http://www.yfcbookshelf.com/programming's%20books18.htm
おまえらの中で読んだ人はいますか?
いやがったら感想を聞かせてください。
0178デフォルトの名無しさん
NGNGヨカタ
0179デフォルトの名無しさん
NGNGつべこべ言わずに買うときなさい
0180デフォルトの名無しさん
NGNG今日久々に都会にでたので本屋に寄ってみた。
が、なかった(鬱
思った程の都会ではなかったらしい(死
0181177
NGNG安い本ではないから一度手にとって見たいのです。
0183179
NGNGすまぬ。レスつける番号違ってた。
>181
amazonでもbk1でも楽天でもいーから通販で買うべし。
0184デフォルトの名無しさん
NGNGケント・ベックのSmalltalkベストプラクティス・パターン
http://www.pearsoned.co.jp/washo/object/wa_obj71-j.shtml
0185デフォルトの名無しさん
NGNGうのが通販で本買えない事になるんだよなぁ。
一番奇麗なの選ぶし(w
本に書き込みとか絶対できないんだよなぁ。
必須とか思ったらノートに書くという。
あぁ、貧乏性。
0186デフォルトの名無しさん
NGNGそれ必読でしょ。
0187デフォルトの名無しさん
NGNGいままで c と vb と vbs くらいしかやったことないが。
まぁ>>184の本をとりあえず買ってくる予定。
0188デフォルトの名無しさん
NGNG変な言い方だけど、この本はある程度分かったやつじゃないと分からない本なんで、
初心者にはおすすめしない。ある段階に達したときにこいつを読めば一気にレベル
アップできる。じゃあ、いい入門書は何かというと、これが結構むずかしい。少な
くともSqueak入門は入門じゃない。青木さんの本はいつか読むべきと思うけれども、
本当に言いたいことが字面には書いていなかったりするので受け手を選ぶ。
0189デフォルトの名無しさん
NGNG0190デフォルトの名無しさん
NGNG変数にバインドってのはできないんじゃないかなぁ。多分。
そんかしメソッドで代わりにするなぁ。
maxValue
^ 237
0191デフォルトの名無しさん
NGNG忠告ありがトン。
でも、時既に遅し。
買ってきちゃったよ・・・
でも、なかなか面白い。
かなり実践的なカタログだね。
これって、xp白本とどっちが先なんだろ。
しかし、Smalltalkかなり風変わりな言語だね。
全部オブジェクトってのも驚いた。
条件分岐までオブジェクトのポリモーフィズムで実現しているとは。
あとこれって型がかなり曖昧だから動的継承もどきとかやる気になれば出来るのかな?
それならモデルからクラスに落とすときの苦労が少なくて良いんだけど。
とりあえず、このスレにあるリンクを適当に回ってみようとは思っているけど数が多すぎるので
出来れば絞って教えてくだされ。
良書&開発環境(現在はSqueak)も良い物があればプリーズ。
よろしくです。
0192デフォルトの名無しさん
NGNGこの本の 2章に書かれているもので全てなんでしょうか?
だとしたらめっちゃシンプルでいいですね。
0193デフォルトの名無しさん
NGNGそうですよ。「要らない機能より、沢山のメタ」ですから。
構文図もパープルブックの裏表紙に収まるくらいです。
この点、「百年の言語」に通じるかもしれません。
http://www.shiro.dreamhost.com/scheme/trans/hundred-j.html
0194デフォルトの名無しさん
NGNGいろんな人のサイト(まだ日本のみ)を見て回ったんです。
で、感じたことだけど、ちょっと癖のある人が多いような、
また排他的印象も少なからず...
世界が狭いとこうなちゃうのかな?
0195デフォルトの名無しさん
NGNG0196デフォルトの名無しさん
NGNGあまりにもスムーズ(ルーズ)にnet,publish,shareしちゃってて。
0197デフォルトの名無しさん
NGNGのではないでしょうか。
Squeakのセキュリティが真剣に議論されるようになれば、Squeakとしては成功か
もしれません。
0198デフォルトの名無しさん
NGNGること自体が一種のセキュリティとして働いている面があると思います。
0199デフォルトの名無しさん
NGNGppc-unknown-linux-gnu 3.0 #1 XShm Thu Jul 26 00:52:26 CEST 2001 gcc 2.95.3
Linux calvin 2.2.18-4hikp #12 Thu Jul 19 18:01:43 CEST 2001 ppc unknown
default plugin location: /usr/local/lib/squeak/3.0/*.so
なバージョンのSqueakでSWikiつこうてます。気に入っているんですが、動作が結構
不安定だったりするのでSqueakの新しいバージョンに移行しようと思っています。
そこで相談なのですが、これまで書きためたSwikiの内容を新しい環境にそのまま移すことって
可能なのでしょうか。
そのあたりの手順が書いてあるページとかあったらおしえてもらいたいです、、、。
0200デフォルトの名無しさん
NGNG原則として、Swikiディレクトリをまるごと持って行くだけで大丈夫だと思います。
ただし、クラスライブラリをカスタマイズしていたり、Swikiのバージョンが変わ
るようなら若干の作業が必要な場合もあるようです。
http://ma2tak.dyndns.org:8888/ma2tak/1404
http://sumim.no-ip.com:8080/collab/37
0201デフォルトの名無しさん
NGNGあれか。
一昔前言われた、*NIXであることがセキュリティの〜と女痔事か。
0202デフォルトの名無しさん
NGNG0203196
NGNG厨にはイノセンス教育ですか。
0204202
NGNGSqueak ユーザって一日中 Squeak の中で生活してると思ってたんですが、
そんなことでも無いんですね。
メールや Web や SWiki ページの閲覧・編集とかは
Squeak の外でやってるんでしょうか。
0205デフォルトの名無しさん
NGNG昔はありました。今はありません。
http://www.sra.co.jp/smalltalk/SML/archives/2000-August/004443.html
http://www.sra.co.jp/smalltalk/SML/archives/2000-September/004530.html
http://www.sra.co.jp/smalltalk/SML/archives/2001-May/005099.html
http://www.sra.co.jp/smalltalk/SML/archives/2000-August/004386.html
http://www.sra.co.jp/smalltalk/SML/archives/2001-October/005376.html
0206デフォルトの名無しさん
NGNG考古学者になって、化石を発掘すべし。
0207デフォルトの名無しさん
NGNGと思うのですが、CLOS より機能において Smalltalk が優れている部分って何か
ありますか? もともと Smalltalk は Common Lisp をかなり参考にしているそう
ですが、Common Lisp からどんな点でエンハンスしているのか気になります。
0208デフォルトの名無しさん
NGNG0209become:
NGNG>>207
ライブラリと環境抜きでの比較ですよね。
とするとSmalltalkの方がCLOSより文法が単純・機能限定と思います。
たとえばCommon Lispは関数定義に関する部分に機能がテンコ盛りで、
CLOSもスロットの初期化やら:before,:afterみたいにメソッド定義に機能が
テンコ盛りで、結果多少複雑です。
多重継承はSmalltalkにはありません。
クラスシステムのmeta関係方面はSmalltalkの方がきれいで強力でしょう。
それから、CLOSのメソッドは言語仕様上も実装上もクラスの持ち物に
していないので、Lisp hackerや行儀悪い人はこれをleakさせちゃえます。
つまり、無関係なクラスでメソッドを流用することがありえますよね。
私はやってみたことないけど。
> もともと Smalltalk は Common Lisp をかなり参考にしているそうですが
えーそれは違う気がするな。
言語としてのLispおよび、多くのLisp処理系を参考にSmalltalkは発展しました。
当然FlavorやLoopsとか横目で見ながら作られたでしょう。ところが、
ことCommonLispとCLOSとなると、影響された部分というのはないでしょ?多分。
0210デフォルトの名無しさん
NGNGCommon Lisp 云々は間違いかも。昔どこかでそんな話を聞いたような気がした
んだけど。適当な事を書いちゃいけないですね。
一番の疑問は Smalltalk を Smalltalk たらしめている最もプリミティブな特徴って
何だろうかと言う事です。おっしゃる通り、ライブラリと環境抜きでです。
純粋なオブジェクト指向言語であるっていう紋切り型な表現も良いけど、どうも
抽象的すぎるきらいがあります。CLOS を例に出したのは、リフレクション機能が
キーワードかと思ったからです。多重継承か単一継承か、メソッドがクラスに従属
しているか等も大きな相違点ですね。
0211デフォルトの名無しさん
NGNG比較もありとは思いますが、原典にあたるのはいかがでしょうか。
Design Principles Behind Smalltalk
http://users.ipa.net/~dwighth/smalltalk/byte_aug81/design_principles_behind_smalltalk.html
これは有名なBYTE 1981年8月号のSmalltalk-80特集に載った記事で、BitBLTの発
明者であるダン・インガルスによって書かれたものです(ちなみにCommon Lispの
仕様策定は1984年)。
0212デフォルトの名無しさん
NGNG> 一番の疑問は Smalltalk を Smalltalk たらしめている最もプリミティブな特徴って
> 何だろうかと言う事です。おっしゃる通り、ライブラリと環境抜きでです。
Smalltalkを語るのにライブラリと環境抜きでってのは本末転倒と思われ。
ユーザーとインタラクションするためのSmalltalk環境で、
Smalltalk言語はあくまでSmalltalk環境で使われる記述言語でしょ。
まあこの辺はLISPも同様だろうけどね。
LISP環境の目的はインタラクションというよりも計算(処理)っぽいけど。
0213突然ですが
NGNGくださいまし。。。
0214デフォルトの名無しさん
NGNGアランケイがLisperだったのは確かだけど、もし参考にしたのであれば
MacLispとかの統合環境じゃないかな。
0215デフォルトの名無しさん
NGNGあんまりそこには突っ込まないであげて下さい・・・。
0216デフォルトの名無しさん
NGNG読んでみました。今読むと OO 一般の教科書みたいな感じですね。まぁそれだけ
広く支持されているという事でしょうけど。面白いドキュメントをありがとう
ございます。
>212
それをあえて考えてみたいと思ったのです。ライブラリや環境は言語のコアとは
別の話ですからね。Simula や Lisp にライブラリを追加するのではなく、新しく
言語を設計したからには何らかの考えがあったと思います。
0217デフォルトの名無しさん
NGNGこれから読みまつ。
前書きのあたり読んでると面白そうなところが割愛されてそうにも読めたけど(^-^;
0218デフォルトの名無しさん
NGNGでは、これはいかが。
The Early History of Smalltalk, Alan C. Kay
http://www.metaobject.com/papers/Smallhistory.pdf
0219デフォルトの名無しさん
NGNG> それをあえて考えてみたいと思ったのです。ライブラリや環境は言語のコアとは
> 別の話ですからね。
いや、だから、別の話じゃないんだって。
Smalltalk言語はあくまで対話環境のための言語なんだからさ・・・
もし言語ありきで設計してたら、Smalltalkは今のSmalltalkとは別物になってたろうな。
> Simula や Lisp にライブラリを追加するのではなく、新しく
> 言語を設計したからには何らかの考えがあったと思います。
Smalltalk-72でも使ってみれば、何となく肌で感じると思うぞ。
俺的には、SimulaというよりはむしろLOGOが出発点で、
SimulaやLispをから取り入れた技術要素は、LOGO以上のLOGOをつくるために
利用したに過ぎないと思ってるけどね。
あるいはSmalltalk-72からSmalltalk-80までの道のりを辿るのもまた一興。
0220デフォルトの名無しさん
NGNG0221あほな213
NGNGSWikiではHTMLタグは基本的にみんな利用できるのね。
あほな質問してスマソ。
さ、議論の続きをどーぞ。
↓
0222デフォルトの名無しさん
NGNG要するにSmalltalk72はSqueakで動くやつがあるからそれでも動かしてみて見ろやってことじゃ?
URLはぐぐってみてちょ。
0223デフォルトの名無しさん
NGNGその出自は別として、どこまで削ぎ落としたらSmalltalkじゃなくなるのかという
のは面白い視点かもしれない。
例えば、Little SmalltalkやGNU Smalltalk, GemStoneのOpal/Topaz、最近では
SmallScriptやS#など、CUIしかない(あるいは中心とした)、 Smalltalk処理系は、
もはやSmalltalkではないのか、それとも、残ったものにこそ、言語としての
Smalltalkの本質があるのか。
そもそものSmalltalk-72はチャンクフォーマットをコマンドラインから逐次入力
して実行する環境だったわけだし。
0224デフォルトの名無しさん
NGNGhttp://lists.squeakfoundation.org/pipermail/squeak-dev/2002-August/042924.html
0225マ板ハゲスレ住人
NGNG0228マ板ハゲスレ住人
NGNGフサフサですね。
0229デフォルトの名無しさん
NGNGもしやLISPスレでフサフサとかゆーてた人だろーか?
妙にシンクロしてててなんか分散オブジェクトが通信してんのかと(藁
0230デフォルトの名無しさん
NGNG湖池屋のカラムーチョを単なるポテトチップスというような、
大変に失礼なことである。」 --萩谷 昌己
http://nicosia.is.s.u-tokyo.ac.jp/pub/essay/hagiya/7bits/koukogaku
0231デフォルトの名無しさん
NGNGこれも西手新九郎でつか。
http://science.2ch.net/test/read.cgi/infosys/1003585175/159-160
0232デフォルトの名無しさん
NGNG凄い所からドキュメントを引っ張ってきますね。。。是非読ませていただきます。
ご紹介ありがとうございました。ちょっと読み終わるまで時間を下さい。
>219
環境込みで Smalltalk というのは理解しています。Dynabook 構想等、H/W まで
込みで知的アシストを提供するという話は聞いています。環境無しの Smalltalk は
GUI 無しの Macintosh みたいな物かなとも思います。
ただ、Lisp Scheme スレでも出ていましたが、Common Lisp に対する Scheme
の様な、削ぎ落として見えてくる物もあるかなと思いました。
ただ、如何せん私の知識不足であまり面白そうな話に発展させられそうにないので
この辺りで失礼させていただいて、もう少し勉強してきます。お邪魔しますた。
0233デフォルトの名無しさん
NGNG0235デフォルトの名無しさん
NGNG動けばexeでなくとも同じことだということですね。
0236デフォルトの名無しさん
NGNG0237デフォルトの名無しさん
NGNGDolphin
GNU smalltalk
Squeak
VisualWorks
win98上で使うならどれがいいですか?
0238デフォルトの名無しさん
NGNG0239デフォルトの名無しさん
NGNGVisualWorksが無難
0240デフォルトの名無しさん
NGNG239と同じくやっぱVisualWorksだろうなぁ。
はじめてのSmalltalkなら迷わずVisualWorksNonCommercialの3.1をお勧め。
で、青木さんのサイトの教科書でお勉強してみるといいんじゃなかろうか?と。
Win98ならその辺でつよね?
0241渡邊克宏
NGNGどちらもパーセルから入れたのでしょうか?二つのパーセルで
クラスに重なりがあるので警告をしているような気がします。
junを使ってるのか、たけのこを使ってるのかわからなくなるので、
混ぜないほうがいいでしょう。
0242渡邊克宏
NGNGデータが全てオブジェクトという特性も述べておきましょう。
[データ型の単一性(unity)]
言語としてのSmalltalkでは、1st class objectは全てan instance
of Objectです。病的な例外を除き、全てのデータが Object クラスの
メソッドに応答します。そのメソッドの数は200を超えています。
一方Lispでは、1st class objectにはcons cell以外に、nilとか数の
ようなものがありますね。CommonLispに至っては、配列やらクロージャ
やら非常に沢山のデータ型があります。全てのデータに共通して
適用できる関数・スペシャルフォームは、atomぐらいだと思います。
0243渡邊克宏
NGNG・ >>242 のようなことを美しく実現できます。
・ Reflectiveなプログラミングが可能・容易です。Lispなら専用の
special formやら埋め込みの関数を用意しなければなりません。
0244_
NGNG( ・∀・)/< こんなのみつけたっち♪
http://www.yoshiwara.susukino.com/moe/hankaku07.html
http://yoshiwara.susukino.com/moe/hankaku08.html
http://www.yoshiwara.susukino.com/moe/hankaku10.html
http://yoshiwara.susukino.com/moe/hankaku09.html
http://www.yoshiwara.susukino.com/moe/hankaku06.html
http://yoshiwara.susukino.com/moe/hankaku05.html
http://www.yoshiwara.susukino.com/moe/hankaku01.html
http://yoshiwara.susukino.com/moe/hankaku02.html
http://www.yoshiwara.susukino.com/moe/hankaku03.html
http://yoshiwara.susukino.com/moe/hankaku04.html
0245渡邊克宏
NGNGSmalltalkは、データ全体の空間(imageといいます)が一体になっている
という側面があります。imageのsnapshotを撮影して後に再生する機能は
環境に実装された機能ではなく言語仕様の要求です。また、以下のような
膠着性も隠れて存在しています。
[データの膠着性(agglutination)]
Smalltalkのデータは、自分のクラスを知っています。だから
aObject class
を評価すると、aObject のクラス自体(名前でなくクラスの実体)が
得られます。あるクラスからは、クラスシステム全体が参照できます。
さらにそこから、その瞬間に生きている全オブジェクトを参照できます。
(今はできない実装もあるかもしれません。)
つまり、Smalltalkの1個のデータは、独立してencapsulateされた実体
であるかのように見えて、実は背後にシステム全体の後ろ盾があります。
Lisp programmerがあるデータへの参照をつかまえたとしても、
そのLispシステムの全データを参照するのは無理です。Lispは
プログラマが細かくcellの参照関係を制御する言語だからでしょう。
0246渡邊克宏
NGNGCommon Lispよりも簡潔な範囲、最低限に限定されています。
アランケイさんは、元々はその辺の市井のお子様にメソッドを
書かせたかったからでしょう。これは >>219 にある通りです。
0247渡邊克宏
NGNG1970年代のLisp環境といえば MacLisp と InterLisp-D が双頭ですが、
Smalltalk は InterLisp-D 側じゃないでしょうか。
どなたかこのへんの歴史をご存知ありませんか?
Smalltalk-80以降は、Xerox での開発ということもあって InterLisp-D
側ですよね。
0248デフォルトの名無しさん
NGNG0249デフォルトの名無しさん
NGNGこれからはこちらが真似したといわれるのでつか。
http://pc.watch.impress.co.jp/docs/2003/0509/kaigai01.htm
0250デフォルトの名無しさん
NGNG(゚Д゚)ハァ?
0252デフォルトの名無しさん
NGNGパクリつーかさ、
Squeakはあくまで「どういう環境にしたらより良い対話環境になるのだろうか」という
問いからスタートしているのに対して、
アチラのはあくまで技術主導でしょ。「こんなクールな技術があるから使えよ」という
発想からスタートしているっぽくて、それが対話環境として優れているかどうかは
二の次な感じがありありとしてる。
0253デフォルトの名無しさん
NGNGttp://www.src-j.com/seminar_no/23/23_165.htm
0254デフォルトの名無しさん
NGNGimage が一体になっている事が必ずしも良いとは思えないけど。むしろ複数
image をプラグイン、プラグアウトして使えた方が嬉しいな。
0255デフォルトの名無しさん
NGNGカコワルイ
0256デフォルトの名無しさん
NGNGかっちゃんは、言語としてのSmalltalkとLispの違いは何か?
という質問に回答しているだけと思われ。
別に image が一体になっていることを自慢しているわけではなく。
0257デフォルトの名無しさん
NGNGInterlisp-DのSYSOUTとかFranzのDUMPLISPとかありますが、
これはどうなんでしょうね。言語仕様の要求とまでは言えない?
それはそれとして、
>>254の目的に適うものにVisualWorksのparcelなんかがあります。
これはまさにimageの断片をロード/アンロードする仕組みです。
0258デフォルトの名無しさん
NGNGかっちゃんって誰? と思ったら、root で rm -rf / した人か。
確かにそうですね。最近、Squeak プログラムの配布はどうするのが良いのか
考えていて、その都度 image 丸ごと渡すのもしんどいなと思ってた物で。
かといって、cs を file in してねというのも敷居が高いかなと。
Hyper Card のスタックみたいに気軽に渡せると良いんだけど。
image ファイルはメモリダンプみたいな物と考えて良いんですよね?
0259258
NGNG0260デフォルトの名無しさん
NGNG0261デフォルトの名無しさん
NGNG公衆の面前で固有名詞をしっかり表記しないってのはどういう
根性してるんだろうか。新しく入ろうとしてる人がLog見たら
ひっくり返るぞ。
0262デフォルトの名無しさん
NGNGメニューをクリックすると一瞬だけメニュー(らしきもの)が表示されてすぐに消えてしまいます。
マウスの位置を動かさずにもう一度ゆっくりとクリックすると、今度はちゃんとメニューが現れて
選択することができます。右クリックでコンテキストメニューを出す際も同様で、やはり一回目は
だめで2回目にメニューが表示されます。Smalltalkのような環境にあってマウス操作に
難があるのは耐え難いのですが、どなたか対策方法をご存知のかたはいらしゃいますでしょうか。
0263デフォルトの名無しさん
NGNG他には Mac Common Lisp くらいしか思い付かないけど、どんなのがあるの?
>>261
Micro$oft で google 検索すると Microsoft がトップに出るから良いんじゃね。
0264デフォルトの名無しさん
NGNG一般人にはわからない、ふかーい理由があるらしいから、そのまま流しましょう。
0265デフォルトの名無しさん
NGNG私も退いた。
本当に「オープン」ならばあそこまでしないと思たよ。
0266262
NGNG0267デフォルトの名無しさん
NGNGそんな状況になったことないしのぉ
キーボードやマウスのドライバが標準ぢゃないとか、ユーティリティソフト入れてるとか
マウス交換したら無事動いちゃうとか
流石にそんなことはない?
0268デフォルトの名無しさん
NGNGどちらもパーセルです。
そうですね。仰る通り混ぜないようにします。
>>262
クリックでなく押しっぱなしでドラッグしてみそ。
直らなかったら「コントロールパネル」「マウス」「ボタンの設定」を
確認してみ。
最近7.1だと沢山パーセルが準備されてるじゃないですか。
色々使用してみて、おすすめ度とか判定しませんか?
言いだしっぺなんで私から。
パーセル名: ColorEditing
<機能>
コードに色がつけられる
<使える度>
初めはわかりやすいかな?おすすめ。慣れると別にいらないかも
0269デフォルトの名無しさん
NGNG>Smalltalkがなぜ、商売面で失敗したか、良くわかった。ツールベンダがタコだったのか。
http://www.kk.iij4u.or.jp/~y-kamite/book/kondou_object.html
気球ではなくタコだったのですか?というか、誰か読んだ人います?
0271デフォルトの名無しさん
NGNG0272デフォルトの名無しさん
NGNG0273デフォルトの名無しさん
NGNGSmalltalkヤバイ。
まずオブジェクト。もうオブジェクトなんてもんじゃない。超オブジェクト。
オブジェクトとかっても
「自分でクラスが作れるくらい?」
とか、もう、そういうレベルじゃない。
何しろ全部。スゲェ!なんかオブジェクトじゃないやつとか無いの。インスタンスとかクラスとかを超越してる。全部オブジェクトだし超たくさん。
しかも膨張してるらしい。ヤバイよ、膨張だよ。
だって普通はライブラリとか膨張しないじゃん。だって自分が使っているライブラリががだんだん変わってったら困るじゃん。インタフェースとか変わると困るっしょ。
ライブラリが変わって、一年のときはバッチリだったのに、三年のときはリンクも通らないとか泣くっしょ。
だからlibcとか膨張しない。話のわかるヤツだ。
けどSmalltalkはヤバイ。そんなの気にしない。膨張しまくり。メトリックス計っても毎日わかんなくなるくらい多い。ヤバすぎ。
全部オブジェクトっていったけど、もしかしたらそうじゃないかもしんない。でもそうじゃないって事にすると
「じゃあ、クラスのクラスってナニよ?」
って事になるし、それは誰もわからない(false)。ヤバイ。誰にも分からないなんて凄すぎる(false)。
あと超弱い。カーネルいじり放題。グローバル変数剥き出し。弱すぎ。
Smalltalkにnilを代入しただけで死ぬ。怖い。
それに超ユーザ少ない。超ガラガラ。それに超のんびり。30年とか平気で出てくる。30年て。小学生でも言わねぇよ、最近。
なんつってもSmalltalkは馬力が凄い。無限とか平気だし。
うちらなんて無限とかたかだか積分計算で出てきただけで上手く扱えないから有限にしたり、fと置いてみたり、演算子使ったりするのに、
Smalltalkは全然平気。無限を無限のまま扱ってる。凄い。ヤバイ。
とにかく貴様ら、Smalltalkのヤバさをもっと知るべきだと思います。
そんなヤバイSmalltalkを使ってる青木さんとか超偉い。もっとがんばれ。超がんばれ。
0274デフォルトの名無しさん
NGNGもう少し Smalltalk のお仕事の話を聞かせて欲しいです。差し障り無い程度で
お願い出来ませんか。practical scheme の Smalltalk 版が読みたいです。
;; このスレって schemer 結構いそうですね。
0275デフォルトの名無しさん
NGNGまあ基本と言うことで。
http://www.cincom.co.jp/products/CincomSmalltalk/application.html
http://web.archive.org/web/19981203012253/www.fxis.co.jp/OO/products/examples.html
あと、SmalltalkのSの字もないけど、スカパー。
http://www.bsi.co.jp/si/si_res_satelite.html
もしかしたら、これも。
http://www.p-change.com/flash/index.html
誰かがまたQ大とか言いそうなニョガーン
0276デフォルトの名無しさん
NGNG0277デフォルトの名無しさん
NGNG274は273の別バージョンみたいものを読みたいってことなのかも。
0278山崎渉
NGNGピュ.ー ( ^^ ) <これからも僕を応援して下さいね(^^)。
=〔~∪ ̄ ̄〕
= ◎――◎ 山崎渉
0279デフォルトの名無しさん
NGNGしたってのにまだSmalltalkとかほざくのか(wwwww
0280デフォルトの名無しさん
NGNG九大病院の話ってそんなに有名な話だったの?
0281デフォルトの名無しさん
NGNG終了はどうするんでしょうか?
いきなり kill しちゃって大丈夫でしょうか?
それとも何か終了手順がありますか?
0282デフォルトの名無しさん
NGNG「ただし、「危機」はプロジェクト管理の問題で、Smalltalkの問題ではないことに注意されたい。」
0283デフォルトの名無しさん
NGNG0284デフォルトの名無しさん
NGNGRe: [pws] How to stop a Swiki?
I just use kill.
Peace and Luck!
Je77
On Tue, Mar 12, 2002 at 03:47:29PM -0800, Mike O'Brien wrote:
> Assume you have a Swiki running in "normal" mode,
> thati is, headless and in the background. How do you take
> it down safely? Is there a signal that it understands that
> makes it shut down cleanly, or do you just aim a "kill -9"
> at the sucker?
>
> Mike O'Brien
と開発者は答えておる。killでよし。
0285デフォルトの名無しさん
NGNG大事なことを言い忘れていました。ComSwiki を使っています。
でも、このへんの事情は変わらないですよね。
というわけで、気兼ね無く kill しちゃうことにします。
ありがとうございました。
0286デフォルトの名無しさん
NGNG0287デフォルトの名無しさん
NGNGブロッククロージャの引数には代入できない。
なぜ〜?
0288デフォルトの名無しさん
NGNGredhat 7.1 に squeak3.5をインストールしてみたのですが、
起動しようとすると、エラーが出てしまい起動できません。
/lib/libc.so.6: version `GLIBC_2.3' not found (required by squeak)
というメッセージが出てしまうのですが、これはどのように
対処すればよいのでしょうか?
ちなみにredhat7.2のマシンにも入れてみましたが同じでした。
0289デフォルトの名無しさん
NGNGSqueakでもDolphinでもできますたがVisualWorksはできませんですた。
0290デフォルトの名無しさん
NGNGこれってacceptではねられるっていう意味?
もしそうなら、メソッド引数の代入が可能な処理系はないと思う。
ブロック引数の代入ができるのは、VisualWorks以外はちゃんとしたクロージャじゃないから。
VisualWorksでも小手先の技を使えば抜けられるよ。
| block |
block := [:arg |
| argIndex |
argIndex := thisContext tempNames indexOf: 'arg'.
thisContext tempAt: argIndex put: 0.
arg].
^block value: 1
0291デフォルトの名無しさん
NGNG商用利用可能とか書籍が多いとか…
0292デフォルトの名無しさん
NGNGような感じだったので、Squeakを選択しました。
0293デフォルトの名無しさん
NGNG愛の問題はさておき、やっつけ仕事はむしろSqueakの方では。
少なくとも初期のParcPlaceはかっこよかったよ。なんとしてもSmalltalkを世に出してやるという気概があった。
0294デフォルトの名無しさん
NGNG具体例でも出してくれた方が幾分か参考になる。
0295デフォルトの名無しさん
NGNG293ではないですが、
Squeakのやっつけ仕事っぷりは、Morphクラスの実装をみると一目瞭然です。
さらに、Objectクラスあたりの実装をVWとSqueakで比較してみるとよいでしょう。
0296デフォルトの名無しさん
NGNG(つд・)チラ
0297デフォルトの名無しさん
NGNG0298名無しさん@Vim%Chalice
NGNGベンゼン環でも表示させようとおもったら"Visual info error"ってのがでて
ベンゼン環見れなかった。Mesaちゃんと入ってるはず。Gauche-gl動いてるから。
なんで動かないんだろう?たすけてー
0299デフォルトの名無しさん
NGNGdri使ってないか?
dri使うとダブルバッファ専用になっちゃって、
#詳しくは知らんけど、ウチではそうなる
じゅんは使えなくなるぞ。
#ダブルバッファ版じゅんをつくってる人がいたと
#思うけど、今どうなってるのかは知らん。
0300名無しさん@Vim%Chalice
NGNGglxinfoでdirect rendering: Noになってる。
うぇーん。
300!
0301デフォルトの名無しさん
NGNG根本的な差異って何でしょう。クラスベースではなく、インスタンスベースの
Self の影響が色濃いって事かな。プラガブル何たらクラスは後付けで振る舞い
が変えられるオブジェクトを作れるって意味?
0302デフォルトの名無しさん
NGNGないと思いますよ。ちゃんと(かどうかは議論の余地はありますが(笑))
クラスベースでインプリメントされて(つまり、SmalltalkでSelf
ライクなフレームワークを作ってそこに実装することもできたのに
そこまではしていないという意味。関係ないけど、VisualSmalltalk版の
Self処理系ってあったんですね。びくーり)いますし。
稚拙な表現だと、倹約的か富豪的かに尽きるかな…と私は思います。
使っていないのでよく知らないのですが、MVCワールドどっぷりと
言われるVisualWorksユーザーの皆さんはいかがでしょう。聞けば
最近のMVCはどうやら富豪的だともとれる発言を目にすることが
多いので、あるいはVisualWorksもそうなのかな、と。
0303デフォルトの名無しさん
NGNGインスタンスベースのプログラミング環境であるSqurakToysはMorphicを使って作
られていますが、302さんの言うようにMorphic自体はインスタンスベースではあ
りません。
Morphicは、オブジェクトに「生命感」を与えるというコンセプトで作られていま
す。
MVCではモデル自身に表示能力やイベントハンドリング能力はなく、これらをビ
ューやコントローラと分業することでGUIを構成します。
Morphicのモーフは、このMVCがごっちゃまぜになっていると言えるかもしれませ
ん。 Morphクラスのサブクラスとして定義するだけで、ワールドに表示できます
し、マウス操作に反応することもできます。モーフごとに独立してステッピング
できるので、プロセスを気にすることなく、複数のモーフを並行に動かすことも
できます。
MVCの場合、ビューはモデルに依存しており、モデルの値が変わったら、ビューに
通知して、その部分だけを描き直します。Morphicでは、モーフはステッピングで
定期的に興味のある値をチェックしており、変わっていたら書き直します。ここ
らへんは貧民と富豪的と言えるかもしれません(Morphicを初めて見たときは依存
関係がないインスペクタの値が勝手に変わったのに驚いた)。
あと、プラガブルなんたらクラスは、MVCプログラマがプラガブルMVC的に
Morphicを使うために用意されているクラス群です。同等のものがMVC用に存在し
ます。
MVCについては、青木さんの「使わないと損をするMVC」を、Morphicについては、
ジョン・マロニーさんの「Morphic入門:SqueakのGUIフレームワーク」(Squeak入
門に収録)を読んでください。
ttp://www.jac-net.com/~tarzan/smalltalkers/mvc/mvc.html
ttp://www.amazon.co.jp/exec/obidos/ASIN/4434029479
長文スマソ。
0304デフォルトの名無しさん
NGNGどうもありがとうございます。
MVC がごっちゃまぜになっているという形容が一番しっくり来ました。
View が View 以上の能力を持っているという感じでしょうか。
0305298@Vim%Chalice
NGNGWebで調べたんだけどなー。ウインドーズで使わなきゃいかんのはやだー
0306デフォルトの名無しさん
NGNG処理系ってないんですか?
0307デフォルトの名無しさん
NGNG0308306
NGNG私のような大きなお兄さんには何とも言えない違和感がすばらしく隅々まで行き渡って
いるので。。。アレかと。。。
アラン刑の影響が大きすぎるのかそれとも、、、、、、
さくらたんのcgがsqueakで動くようになるともっと萌えかもしれません。。。
0309デフォルトの名無しさん
NGNGmpegもjpegも読み込んで、Morphで表示できるので、動くのではないかと
0310デフォルトの名無しさん
NGNGこどもにはSqueakToys、大きなお兄さんにはこれ
ttp://www.lcv.ne.jp/~ryunsk/squeak/thms/
0311デフォルトの名無しさん
NGNGCにトランスレート後ならOKと言うのでも大歓迎。
1.環境変数の取得
2.標準入力からの入力
3.標準出力への出力
0312デフォルトの名無しさん
NGNGOSと処理系の種類を書いてネ。
大体どれでもできますが。
0313デフォルトの名無しさん
NGNG了解。
0314山崎 渉
NGNG__∧_∧_
|( ^^ )| <寝るぽ(^^)
|\⌒⌒⌒\
\ |⌒⌒⌒~| 山崎渉
~ ̄ ̄ ̄ ̄
0315デフォルトの名無しさん
NGNG0316デフォルトの名無しさん
NGNG0317デフォルトの名無しさん
NGNGSmalltalkはクラスベースなので、そもそもインスタンスはメソッドを持っていま
せん。インスタンスの生成後であっても、クラスにメソッドを追加することがで
きます。動的束縛ですから、実際にどのメソッドが使われるかは、そのインスタ
ンスにメッセージが送られて、メソッド探索されたときに決まります。
0318デフォルトの名無しさん
NGNGメソッドを変更すると途中から振る舞いが変わるという事でしょうか?
また、クラスにメソッドを追加するメッセージ式が存在するという事で
しょうか?
コレかなぁ・・・。
"It also allows methods to be dynamically added at runtime (
ClassDescription>>compile:classified:). "
http://www2.parc.com/csl/groups/sda/projects/reflection96/docs/rivard/rivard.html
0319316
NGNGエミュレートするにはどうしたら良いのかなと考えていて生まれた疑問です。
0320デフォルトの名無しさん
NGNGあんまり面白くない例ですが。
foo
self class
compile: 'foo ^ 3'
classified: 'as yet unclassified'
notifying: nil.
^ self foo
結果は3です。実行後にブラウザでこのメソッドを見ると
foo ^ 3
になってます。
0321デフォルトの名無しさん
NGNGインスタンスベースのSqueakToysはまさにそれだと思います。
コンポーネント(モーフ)ごとに、対応するクラス(Playerのサブクラス)
を作って、スクリプトをそのクラスのインスタンスメソッドとして定義し、
実行はそのインスタンスにやらせるというかなり無茶な方法ですが。
0322デフォルトの名無しさん
NGNG単にハイパーカードライクなこと(オブジェクトベースなこと)をしたければ、
Smalltalk ではなく、SqueakToys あるいは、SqueakToys の枠組みで
Smalltalk コードを記述する…という方法があります。
SqueakToys は Squeak に用意されている Smalltalk とは別の、ある種の
ビジュアルプログラミング言語/処理系で、モーフと呼ばれる GUI
ウィジェット(というか、Squeak では画面に見えるものすべてがモーフで
構成されているので、あらゆるもの)に対して、個別にスクリプトを記述すること
ができます。これはハイパーカード、そのまんまです。mouseUp だとか
mouseDown だとかいったイベント駆動型のスクリプトも組めます。
また、こうして記述された SqueakToys スクリプトは、実は、内部的
には Smalltalk に変換されており、スクリプタ(スクリプティとも。タイル
スクリプトを編集するための矩形状のしくみ)の表示モードを切り替える
ことで対応する Smalltalk コードを見たり、Smalltalkコードとして改変
することもできます。ただ、Smalltalk についてや SqueakToys の枠組み
のしくみ(具体的には Morph 、Player クラスについて)を知らないと
いけないので、いろいろと勉強は必要でしょう。
0323山崎 渉
NGNG0324316
NGNGレス遅れて済みません。いろいろ参考になるお話ありがとうございます。
ruby の singleton method って便利そうとか思ってみたり、Self を
ダウンロードして来ていじったりしてました。
SqueakToys を探索してみます。
0325デフォルトの名無しさん
NGNGそうですね。子供向きとあなどるなかれ。SqueakToysも意外と
奧が深いですよ。わけあって私は嫌いですが(^_^;)。
ちなみに Morphic がらみで Self に行き着かれたのだと思いますが、
Squeak 版 Morphic と Self 版 Morphic は実装者と見た目は同じでも
中身は全然違うので参考程度に留めておくのが吉です。
オブジェクトがクラス(Self の場合、クラスはないのでその役割りは
traits というクラス様のオブジェクトが担います)に依存せず、独自の
機能や属性を持つことができる Self の特性は、Squeak Morphic GUI
フレームワークよりは SqueakToys フレームワークに反映されて
います。ただ、まあ、私のようにあまり Smalltalk になじみのない
人間からみてもかなりトリッキーな方法で実現されているなと感じます。
ちなみに、少々うがちすぎかもしれませんが、プレイヤは Player
(のサブクラス)のシングルトンではありません。インスタンスは
複数存在できるようになっていて、それが sibling(兄弟)と呼ばれる
メソッドだけを共有できるおもしろい効果を生みだしています。
0326デフォルトの名無しさん
NGNG0327山崎 渉
NGNG│ ^ ^ │<これからも僕を応援して下さいね(^^)。
⊂| |つ
(_)(_) 山崎パン
0328デフォルトの名無しさん
NGNG0329デフォルトの名無しさん
NGNGこれかな?
0330デフォルトの名無しさん
NGNG店頭で手にとって見たけど、ちょっと恥ずかしくて買えなかった・・・
0331名無しさん@Vim%Chalice
NGNG0332デフォルトの名無しさん
NGNGうは。ほんとだ。都合によりってなんだ?なんだ?
SRAから離れる?
日本のコミュニティーに愛想つかした?
真相知っとる椰子は尾鰭つけてええんで、報告よろ。
0333名無しさん
NGNG0334デフォルトの名無しさん
NGNGうそだよなっ、なっなっ?
0335333
NGNG心配させちゃってごめんね>334
おれも豆蔵はやだーん
0336名無しさん
NGNG青木さんのHPがなくなっていたなんて悲惨。
ぜんぜん一人前じゃないことがよくわかったよ。
HP復活するのかな?どこかで
0337デフォルトの名無しさん
NGNG結構抜けてるかもしれない。
ttp://web.archive.org/web/*/http://www.sra.co.jp/people/aoki/
0338デフォルトの名無しさん
NGNGttp://kondo-hi.web.infoseek.co.jp/2003/09/20030901.html
0339名無しさん
NGNG親切な人もいるんだな。ありがとう。
必要になったら青木さんのHP見ればいいやー、なんて想ってた。
いざ見ることが出来なくなると、おれはいままで何やってたんだって感じ。
おれとおなじことおもったやつら、精進しようね。
0340デフォルトの名無しさん
NGNGWebArchiveって抜け多くていかんよね。
いざとなるとほんとに情けない自分を再確認できる(死
0341デフォルトの名無しさん
NGNG青木さんのHPのバックアップを確認したら、280MBぐらいあった。
0343デフォルトの名無しさん
NGNGだれかが引導わたしてあげたのかなー?
だとしたら折れじゃないのがくやちー!
0344デフォルトの名無しさん
NGNGSmalltalkから撤退?で、青木さん辞めてやる!とかなのかね?
SMLで質問してた人スルーされてるのぉ
0345デフォルトの名無しさん
NGNGosbにはもとからほとんどなかったでしょう。
http://www.google.co.jp/search?hl=ja&ie=UTF-8&oe=UTF-8&as_qdr=all&q=smalltalk+site%3Aosb.sra.co.jp&lr=
どっちかといえばKTLです。Jun for Javaはまだ健在ですね。
こちらも西中さんのところへのリンクですが。
http://www.sra-ktl.co.jp/
SRAがビジネスとしてVisualWorksとVSEから撤退したのはずいぶん前の話。
0346渡邊克宏
NGNGSRAの近藤氏さえ「不明」と言っているぐらいだから、色々深そう。
>>341
エライ、よく保存してた!海賊版CDROMとしてこっそり配って下さい。
>>344
青木さんSMLではマメに反応するのになあ。本人でさえ何も書けない
ということなんでしょうか。
0347デフォルトの名無しさん
NGNGあ、海賊版CDできたらISOイメージかなんかで配布してください(笑)
SMLがSRAから追い出されたりしない事をお祈りちう。
0348デフォルトの名無しさん
NGNGいろいろと想像しつつ12月まで我慢しますか。
0349デフォルトの名無しさん
NGNG0350341
NGNGでも、青木さんの邪魔をしてはいけないな、とか思っていたり。。。
0351デフォルトの名無しさん
NGNGそれはともかく、SRAでさえも人月いくらで請け負いしてるのか。
0352デフォルトの名無しさん
NGNGしばらくは自分で迷宮に迷い込んで遭難してみまつ
0353デフォルトの名無しさん
NGNG0355渡邊克宏
NGNGttp://kondo-hi.web.infoseek.co.jp/2003/09/20030901.html#20030905
休職かあ。これからかな?既にかな?
0356デフォルトの名無しさん
NGNGこれからSqueakで遊ぼうと思ってた僕はどうすればいいんでしょう……。
0357デフォルトの名無しさん
NGNGなんかあったら、ここで投げてみたら?
青木さんしか答えられない質問って入門レベルではそうそう出てこないともいう。
0358突然ですが
NGNG0359358
NGNGここのところ数ヶ月ずっーとカキコに失敗してたから(当方アメリカ在住)
だめもとで書き込んだらageてしまった。
なんかマターリしたスレだったのにスマソ。
んで、クラス志向ってなんですか。
0360デフォルトの名無しさん
NGNG0361358
NGNGサンクスです。
(実は自分でググってその文章は既に読んでいたのですが。)
単一分類<->多重分類、静的分類<->動的分類という観点から、
それぞれ前者のみの実装しか可能でない現在のほとんどの
"オブジェクト指向"言語は、"クラス指向"言語と呼ぶべきではないのか、
というのが論点でしょうか。
その意味では、"クラス指向"とは、上の観点を意識して
"オブジェクト指向"を呼び変えているだけのもの、ということなのですね。
質問を間違えていました。そもそも聞きたかったのは、とあるページで
「クラスベースのSmalltalkに対してオブジェクトベースのRuby」
という言い回しを読んだのですが、この「クラスベース」、
「オブジェクトベース」な言語の違いとは何なのでしょうか?
(Smalltalkも勉強を始めたばかりですが、Rubyはコードを
見たこともありません。)
0362358
NGNG過去ログを読んでみたら、>>317 あたりからの議論にそれらしいことが書いてあったのですね。
SqueakToysのタイルスクリプティングのように、"インスタンス"にメソッドを動的に
定義できるのが"オブジェクトベース"?
でもSqueakToysって実装はSmalltalkなわけですよね。オブジェクトベースのエミュレート
じゃなくて、VM(って言い方が正しいかは疑問)のレベルでそれをサポートしているのが
Rubyってことなんでしょうか。
クラスベースとオブジェクトベースそれぞれの得意、不得意な面なんかをまとめた
ページか書籍があったら教えてほしいです。どうぞよろしゅう。
0363デフォルトの名無しさん
NGNGttp://sumim.no-ip.com:8080/wiki/482
0364デフォルトの名無しさん
NGNG>>363 からのリンクを辿った先でも触れられていますが、見つけにくいので
こちらもお薦めしておきます。
ttp://a414s1.it.nanzan-u.ac.jp/seminar/tobj/tobj3/node1.html
やはり触れられていますが、Ruby は基本はクラスベースです。ただ、特異メソッド
という特殊なメソッドをインスタンスレベルで持つことが許されているらしいです。
0365デフォルトの名無しさん
NGNGsawfishなんかLispで動いているわけだし、決して不可能ではないとおもう。
それにSmalltalkの自分で作るって感覚はUnixと相性がいいように思うんだが。
0366デフォルトの名無しさん
NGNGやっと神が降臨しましたか!このときをどれほど待ったことか・・・(感涙)
0367デフォルトの名無しさん
NGNGむしろ、X 捨てて Squeak でいいと思う。
0368デフォルトの名無しさん
NGNGおれも今、そう言おうと思ってた
0369デフォルトの名無しさん
NGNGPython や CLOS もプロトタイプベースな書き方が出来るらしいですね。
CLOS はどうやるのか知らないけど。
Self とか Lua とか io とか、他にも色々あります。
>>365
国際化が不十分な現状では勘弁して欲しいけど、実装するなら Direct
FrameBuffer 上に Squeak を載せるのが良いと思う。
sawfish は rep という scheme ちっくな Lisp を使っているけど、
rep のグラフィック周りは確か Gtk+ だから、GNU Smalltalk を使え
ば似たような事は出来るかも。
0370デフォルトの名無しさん
NGNG0371デフォルトの名無しさん
NGNGSqueakNOS(No OS)
http://mathmorphs.swiki.net/9
0372デフォルトの名無しさん
NGNGOSProsess
http://minnow.cc.gatech.edu/squeak/708
0373デフォルトの名無しさん
NGNG0374デフォルトの名無しさん
NGNGやり始めてます。
0375デフォルトの名無しさん
NGNGセンスが養われればいいなぁと思って少しずつ勉強しています。
今仕事でMFCアプリケーションを作っていて、MFCのDocument-Viewアーキテクチャ
(DV)とModel-View-Controllerアーキテクチャ(MVC)との間でどう折り合いを
つければよいか考えています。
SmalltalkでMVCと言ったとき、青木師匠によれば、
http://www.jac-net.com/~tarzan/smalltalkers/mvc/mvc.html
3種類(レベル)あるんですよね。
(1) コントローラが頑張るMVC
(2) 依存性を利用するMVC
(3) プラガブルを利用するMVC
0376375
NGNGDVで普通に実装すると(1)か、せいぜい(2)のレベルに落ち着いてしまい
そうなんですが、できれば(3)みたいな形で実装したいなぁと。
(3)のようにプラガブル、とまではいかないまでも、Model部分に機能の比重が
置かれ始めると、ほとんどデータの管理者としての役割しかないDVのDとして
Modelを実装すると、なんとなく収まりが悪くなってくるような気がします。
、、、って、自分でも何を聞いているのかよくわからないんですが、MVCを強く
意識してプログラムしたいって時に、MFCのDVモデルをどう捕らえればいいのかなーっ
て言うのが疑問です。
フレームワークが与えられたときはその流儀に素直に従えば楽だよ、って意見も
あるんでしょうが、今回の場合も他のOSにも移植を考えていまして、必ずしも
MFCの流儀にそのまま沿った解が正しいとも言えなさそうなので。
0377デフォルトの名無しさん
NGNGM-VCで良いと思うけど。
どうせ具体的な画面作るのにそれが汎用的なVになんてなるわけがないし、そんなVにくっつくCもまた使い捨てだし。
0378375
NGNGそんな身も蓋もない言い方をされると
、、、すっきりしました(w。
具体的な操作画面を作りこんでいくとどうしたってdomain model-specificな
実装になってしまいますよね。
汎用的なV,Cを実装するのは、たとえばVisualWorksみたいにApplicationModel
という概念が存在していて、ボタンなどのUIコントロールの配置情報をモデル側に
エンコードできるようになっていればこそ可能なんでしょうし。
0379375
NGNGについてもよくわかっていませんです。
ドメインモデルからGUI関連の部分を抽出したモデル、という理解でいいのかなぁ。
だとするとそれに相当するものはMFCのDocument-Viewで言えばView側に
実装されるべきもの?
その意味で、仮にModelを"DataModel"と"ApplicationModel"とに分けるとして、
DV MVC
---------------------------------------------
Document DataModel
- - - - - - - - - - - - - - - - - - - - -
View ApplicationModel
View
Controller
って感じで分けるのかな。形ではDataModelだけをDocumentで
ラップすればいいんだろうけど、そもそもそうしてまでDVアーキテクチャに
あわせて実装する意味がよくわからなくなってしまふ
0380375
NGNG----------------------------------
Document DataModel
- - - - - - - - - - - - - - - - - - - - -
View ApplicationModel
View
Controller
0381375
NGNG文章長いし。ちなみに、デザパタにはまってるやつもそうなんだろうけど、
何か他にきちんとした正解があるんじゃないか(よいデザインがあるんじゃないか)
といって何も実行に移せない(実装が始まらない)状態を「受験生症候群」というらしいです。
漏れ的にはデザパタの勉強のためにはVisualWorks、受験生-の克服のためには
Squeakをいじる、って感じでバランス取れたらとおもとります。
単純に楽しい言語だと思うし。でも周りに誰も使ってる人がいなくて、MLはなんか怖くて
投稿できないし、というわけで連続カキコスマソ。
0382デフォルトの名無しさん
NGNG再利用を前提とせずにただ既存の形式に沿って分割しても意味がない。
その辺は実際に再利用してみるとよくわかるんじゃないか。
カンを養っていけば、理屈は後から付いてくる。
0383デフォルトの名無しさん
NGNG0384デフォルトの名無しさん
NGNGお!おおおーーー!!!
0385デフォルトの名無しさん
NGNGSMLでJunの新しいのとTextBookのお知らせがご本人から出てたからそこだけかとおもったら
おおむね復活でつね。
話まとまったんだろか?
0386デフォルトの名無しさん
NGNG>オブジェクト指向という考え方の中の重要な概念。
>オブジェクトに対してメッセージを送信すると、受信したオブジェクトが対応するメソッドを起動する。
メッセージレスのオブジェクト指向言語はないのかな?
オブジェクトに対して任意のオブジェクトを送る(ぶつける)みたいな(^^;
0387デフォルトの名無しさん
NGNG指詰め理論・ヤクザの抗争デザインパターン
0388デフォルトの名無しさん
NGNGメッセージの一部としてオブジェクトを渡すことは出来るぞ。
Giko giko = new Giko();
mona.omaeMona(giko);
0389デフォルトの名無しさん
NGNGこのスレではSmalltalkで書いたほうが皆喜ぶと思われ。
0390デフォルトの名無しさん
NGNGじゃあオイがかいちゃる
| mona giko |
mona := Mona new.
giko := Giko new.
^mona omaeMona: giko
0391名無しさん
NGNGJavaってすごーい。
このスレさみしいね。
0392memo
NGNGhttp://pcweb.mycom.co.jp/news/2003/10/14/03.html
>その原因のひとつとして、同氏はツールがそろった現在のソフトウエア開発環境を揚げる。
>開発期間やコストの削減につながるかもしれないが、「レールの上を走っているような
>ものだ」と指摘。開発者には創造力を持って、自らレールを敷く開拓精神を求めていた。
0393デフォルトの名無しさん
NGNG0394デフォルトの名無しさん
NGNGよく考えたら漏れにはFlash作る技術と金も絵を描く才能もなかった(鬱
0395デフォルトの名無しさん
NGNGSqueakPluginでもってそれなりに遊んでみるならとりあえずはタダじゃね?
画才とスキルはまぁ、がんがれ
0396デフォルトの名無しさん
NGNGcoming soon...
MacOS X Smalltalk
- native widgets
- integrated environment
- ansi compliant
とかなってるんですが(w
マジで出すのか!
0397デフォルトの名無しさん
NGNGこれはヤバすぎる。たまらん(;´Д`)ハァハァ
0398デフォルトの名無しさん
NGNGこれを機にMacに転向するか
0399デフォルトの名無しさん
NGNG>- native widgets
Screenshot見たけどCarbonみたいだね
0400デフォルトの名無しさん
NGNG0401デフォルトの名無しさん
NGNGとりあえず買っとけ!って感じじゃないかと。
VW7.2のCD落としてみたが、インストールが途中でこける(w
Previewとかで必ず止まるんで、最後無理矢理手でインスコしますたよ。
でも個人的にはOpenGLのハードウェアアクセラレータないマシンではじめてJunが動いたのが嬉しい。めさめさ遅いけど(藁
0402デフォルトの名無しさん
NGNG青木氏の本は全滅、「サクサク」もいつまであるのか。
Smalltalk書籍は風前の灯か。
0403デフォルトの名無しさん
NGNGうまく使えてる奴いない?
ポップアップメニューがプライマリDisplayに出ちゃうんだよね。
何とかなんないかな。
0404デフォルトの名無しさん
NGNGCincomに問い合わせてみたら?
インスコできね〜〜〜!にはけっこう親切なメールきたよ。
その先の事態ぽいから有償版買え!ついでにサポートしてやるとか言われるかもだが(死
0405名無しさん@Vim%Chalice
NGNG| aWindow |
aWindow := ScheduledWindow new.
aWindow openIn: (200 @ 100 extent: 400 @ 300).
^aWindow
でウィンドウ開いた後、ウィンドウ閉じるために右上の×ボタン押しても
ウィンドウ閉じてくれない。
仕方ないからScheduleWindow allInstancesでインスペクタ開いて
それらしいのにcloseメッセージ送って閉じてるけど何とかならんの?
こんな症状俺だけ?
0406デフォルトの名無しさん
NGNGちょっと疑問に思ったもので。
0407名無しさん@Vim%Chalice
NGNGはいはいはーい?
0408デフォルトの名無しさん
NGNGおぉ〜、いらっしゃいましたか。
支障がなければで良いんですけど、どのような分野で使っていますか?
また、実際に使ってみて効率はよいのでしょうか?
0409名無しさん
NGNG0410デフォルトの名無しさん
NGNG0411デフォルトの名無しさん
NGNGいえいえ、実際に仕事として使った場合の効率の話でして。
家で趣味でやるものと仕事でプロジェクトとして使い場合では違うじゃありませんか。
0412デフォルトの名無しさん
NGNG現象、再現しました。
windowのcomponentがnilであると、この現象が
発生するようです。再現性はたぶん100%です。
componentに何か入っていれば出ないみたい。
0413412
NGNGやはりcomponentがnilであるとウインドウは
イベント処理をしないというのが「仕様」みたい。
(クラスWindowのcanProcesEvent:に記述有)
現在のVisualWorksは全部イベント駆動なので、
この結果ウインドウは閉じなくなりますね。
何か適当なものをcomponentに設定しましょう。
0414名無しさん
NGNGWindow>>canProcessEventを書き換えちゃってtrueを返すようにしてみた。
いまのところ問題なく使えてるみたい。
componentに何か入れないとイベント駆動してくれないなんておかしくない?
Window>>canProcessEvent
^true
0415名無しさん
NGNGだれも変だなとは思わなかったのかな?
それとも自分で解決したのかな?
0416デフォルトの名無しさん
NGNGviewなりcomposedTextなりを放り込むのが
普通だからという思想なんじゃないのかな。
Windowの開き方のチュートリアルならともかく、
サンプルプログラムでもない実システムでそうする
局面が必要とはあまり思えないわけで。
…とはいえ、そうしなければならない必然性もあんまり
思い付かないなあ。何か不具合が出て、アドホックに
やったくさいですね。
0417デフォルトの名無しさん
NGNGブラウザーを一回閉じる→再び前の状態で開く
ということをやりたいのです。
アプリケーションモデルのビルダーからウィンドウを取得して,サイズを指定して開くと再び開けるのですが,
ビューホルダーを使用している部分のコントローラがnilになってしまします。
0418デフォルトの名無しさん
NGNGどのようにGCのデザイン変更、改良されていますか?進化なし?
あと、Smalltalkに限らず、最新のGC事情ってどうなっているのだろう。。。
http://katsu.watanabe.name/smalltalk/gc
0419デフォルトの名無しさん
NGNG,n。'^゚,n。'^゚,n。'^゚,n。'^゚,n。'^゚,n。'^゚,n。'^゚,n。^゚,n。'^゚,n。'^゚,n。'^゚,n。'^゚,n。'^゚,n。'^゚,n。
_no _no _no _no _no _no _no _no _no_no _no _no _no _no _no _no
_l⌒l0 _l⌒l0 _l⌒l0 _l⌒l0 _l⌒l0 _l⌒l0 _l⌒l0 _l⌒l0 _l⌒l0 _l⌒l0
_| ̄|○ _| ̄|○ _| ̄|○ _| ̄|○ _| ̄|○ _| ̄|○ _| ̄|○
0420デフォルトの名無しさん
NGNGあまりにも自分の作る設計がゴミなので
言語でカバーしようかと思いSmalltalkの考え方を
参考にしようかと思ってます。
英語もろくにできない雑魚兵ですが どうぞよろしく
0421デフォルトの名無しさん
NGNG悪いこと言わんからそれだけの理由ならJavaにしとけ。
0422デフォルトの名無しさん
NGNGすべてがオブジェクトの世界へようこそ。
考え方を参考にするのなら、Smalltalkは最強だと思います。
ここでのJava,C++,C#でも活用できるとおもうので、
がんばってね。
0423デフォルトの名無しさん
NGNGC++,Java などは オブジェクトひとつひとつに多様性をもたせ、
多数のオブジェクトで ひとつのシステムを構築するようなイメージが
あるのですが、
Smalltalkは、すべてをオブジェクトととらえ、
このオブジェクト同士を繋げる鎖みたいなもので 構成するイメージですね。
多様性をもたせているのは、鎖側な感じがしました。
ちょっとC++のプログラムが複雑になってきたので、とても参考になります。
特にバージョンが絡むと しんどいです。
鎖に重点を置く考え方、おもしろいですね。
混ぜるという今までの考え方ではなく、繋げるという考え方
言われてみれば簡単ですが、なかなか深いですね。
0424渡邊克宏
NGNG反応遅くてすみません。しばらく2ちゃんねるを見てませんでした。
8年半も前の資料をよくぞ発掘して下さいました。
ObjectWorks,VW,VW3,VW5,VW7と、10年余りGCの基本戦略は
変更されていません。10年あまり進化がないとも、10年もつ
設計だったとも言えるでしょう。私のweb pageの内容は、
今のVW7にもあてはまるはずです。
プログラマ向けのメモリ管理のインタフェースはObjectMemory
クラスですが、公開されたメソッドの種類や名前に変更はありません。
このクラスにある、メモリ管理に関する説明の文章も昔のままです。
0425デフォルトの名無しさん
NGNG一方で、実装には明らかに改善が見られます。
少なくとも、メモリ管理の活動を規定する閾値や空間の広さを
決める定数は、現代のハードウェア環境の裕福化に合わせて
VW5あたり?で調整されました。
また、メモリが逼迫した極限状況でのパフォーマンスと安定性が
VW5ぐらいから大きく改善したのを観測しています。が、どのような
改善が行なわれたのかは私はわかりません。
0426424=425=渡邊克宏
NGNG> メモリが逼迫した極限状況でのパフォーマンスと安定性
私は時折VMの性能の比較をすることがあります。例えば:
http://katsu.watanabe.name/smalltalk/jun/benchmark/stversion.html
http://katsu.watanabe.name/smalltalk/jun/benchmark/
上を見ると、crtという大量のオブジェクト生成をするベンチマークで
VW3が時折妙に遅いこともあるのが見て取れるでしょう。
(vor,delはボロノイ図の計算というCPU boundベンチマークなので
メモリ管理の面からは無視してください。)
そもそも実は上のベンチマークは、VW3でも落ちない程度に相当に
「手加減」してあるのです。速度差を見たいために、測定可能な範囲の
易しいテストに限ったのでした。
このベンチマークを設計する際には数々の極限状況を作り出しましたが、
VW3以前では以下のような障害にでくわしました。
・深く再帰したり大きくstackを消費すると、あるところを境に急に遅くなる
ことがある。(再帰に関するscalabilityの欠如?)
・短期間に特別に大量にオブジェクトを生成することで、再現性を持って
停止や異常終了に持ち込むことができる。
・GCが多く走る状況で、効率よく空間を回収(あるいはcompaction)
できない(?)ことがあって、仕事がGCばかりになってしまう。
これがVW5以降だと、ぱったり安定(性能も向上)していました。
0427渡邊克宏
NGNGメモリ管理の基本戦略上の変更というより進化を一つ思い出しました。
かつてはSmalltalk(のイメージ)はその世界だけでほぼ閉じていました。
つまり、VMはSmalltalkのオブジェクトだけを扱い、逆にSmalltalkの
オブジェクトだけでアプリケーション(イメージ世界)を作っていました。
しかしVisualWorksでは、他の言語や他のプロセスや下位OSの
オブジェクトと協調して動くよう、方向性が転回されました。
これは汚れたととることもopenになったととることもできるでしょう。
とにかく、この傾向はVWのバージョンが上がるにつれ強まる一方です。
このため、メモリレイアウト上も、VisualWorks以外のオブジェクトを
置く空間に関する工夫が強化されました。GCはあまり関係ないかな?
具体的にはすっかり忘れました。ゴメソ。どなたか補足お願いします。
0428デフォルトの名無しさん
NGNGホー。
(わかっていない)
0429デフォルトの名無しさん
NGNG良く分からないな。各種ライブラリのファイルと、現在の環境を記録
したファイルに細かく分割しても何の問題も無さそうだけど。そして
そっちの方が、取り回しや効率の点でメリットが大きいと思う。
何でかな。
0430デフォルトの名無しさん
NGNG各種ライブラリにも手を入れるのが前提だから
0431デフォルトの名無しさん
NGNGとかでも良いような気がして。クラス名の辞書を各実行環境で持っていれば
問題無いでしょ?
0432デフォルトの名無しさん
NGNGオブジェクト(ファーストクラスオブジェクトを含む)指向か、クラス(ファーストクラスなら単なる定義)指向
かの違いでは? 定義大事なら、定義テキストがファイルで整理、管理されていれば安心だけど、
オブジェクト大事だとイメージにダンプして永続化しておくほうが便利だからでは、と。オブジェクトには
名前があるとは限らないから名前で管理はしにくいし、Smalltalk 環境で定義は、極端なことを言えば
「あれば便利」程度の扱い(イメージさえあればとりあえず運用可能)。
あるいはもっと単純に、言語処理系ととらえるか、個人向けのコンピューティング環境ととらえるか。
処理系なら実行環境ごとの個性は極力排除したい。環境なら副作用ごと継続して使いたい。
0433デフォルトの名無しさん
NGNGつーか、実際Smalltalkではソースファイルとイメージファイルとチェンジファイルは
別々のファイルとして分かれてますが?
0434デフォルトの名無しさん
NGNG・WindowsならタスクマネージャでVisualWorksを強制終了
・EmergencyEvaluaterを起動させてObjectMemory quitを評価
無限ループだけを終わらせる方法はないんでしょうか?
0435デフォルトの名無しさん
NGNG正直、あるかもしれんし、ないかもしれん。
自作クラスが自作メソッドを呼び続けているような
場合には、ブラウザでそのメソッド定義を書き換え
るとそれが呼ばれて止まる可能性も高い。
無限ループがオブジェクトの状態依存なら、
インスタンスを束縛できているならそれをつかまえる
ことは容易だし、個数が少なければクラスにallInstancesを
かけてつかまえることもできるかもしれん。
その後で状態を書き換えて止めることができるかもしれん。
しかしメソッドも含めてコンテクストがclosure内で
完結させた中でループさせていると、まずもって困難
かもしれんね。
まあ、何にせよ実行直前まで組んでいたコードは復旧できる
わけなので、さっさと終了させて今後は止め方も含めて
コーディングするように心掛けるのが正解だと思いますが。
0436デフォルトの名無しさん
NGNGVisualWorksとめたり復旧させたりがめんどいから聞いてみたんよー。
初心者なんでやさしくしてね。
0437デフォルトの名無しさん
NGNG最初ってどんなんだ
0438デフォルトの名無しさん
NGNGApple 版の Squeak は 68k のアセンブラだらけって聞いたような。
0439デフォルトの名無しさん
NGNG最初はAppleのAPDA版のSmalltalk-80のサブセット(っていうか実装段階の1だか2だか
だっけ?)。
こいつをCへのトランスレータを使ってSmalltalkに書き換えてってなループで作ってったって
話がBackToTheFuturあたりに書いてなかったっけ?
Squeak抜いちゃったんで判らん(w
0440デフォルトの名無しさん
NGNG「Squeak 入門」にそのへん詳しく書いてあったような。
0441デフォルトの名無しさん
NGNG今、まさにそれを読んでます。面白いです。
>>437
AppleのSmalltalk-80上で、SmalltalkによってVMを書き、デバッグ。
同時にSmalltalkからCへのトランスレータを、やっぱりSmalltalkで書く、
というやり方だったらしいっす。
0442437
NGNGSqueak 入門 買おうかな。あの濃い青紫みたいな表紙のアレだよね?
0443デフォルトの名無しさん
NGNGそだよ。キミなら買って絶対損はないよ。
0444437
NGNGPrologl -> C -> Lisp と来た僕のノーミソ,果たして再度柔らかくなれるのでしょうかっ
0445デフォルトの名無しさん
NGNG0447デフォルトの名無しさん
NGNGProcessとかProcessorSchedulerあたりの振る舞いを解説したHPってないですかぁ?
0448デフォルトの名無しさん
NGNG単に実装継承でしょ。
0449デフォルトの名無しさん
NGNGwinならCtrl+C(Ver2*),Ctrl+Y(Ver7)
でプログラムを止められる.
0450デフォルトの名無しさん
NGNG実装継承なのは知ってるよProcessが何でリンクみたいな構造になってるのかしりたい。
>434
それはエマージェンシーエヴァリュエータが起動するだけでは。。。
0451デフォルトの名無しさん
NGNGSemaphoreの要素として使うから。
>>450
起動するのはデバッガかノーティファイヤ。
ちなみにSqueakではalt/cmd-ピリオド。
0452デフォルトの名無しさん
NGNGctrl+y(小文字)のこと?
0453デフォルトの名無しさん
NGNG0454デフォルトの名無しさん
NGNGメソッドとメッセージの違いを教えて下さい。同じ物のように思えますが、
もし実装上の区別とかありましたらご教授ください。
0455デフォルトの名無しさん
NGNG参考になるリソースを急いでageてくれたまえよチミたち
0456デフォルトの名無しさん
NGNGhttp://users.ipa.net/~dwighth/smalltalk/bluebook/bluebook_imp_toc.html
http://users.ipa.net/~dwighth/smalltalk/St76/Smalltalk76ProgrammingSystem.html
http://www.phaidros.com/DIGITALIS/englisch/sti/sti000002.htm
http://www.smalltalk.org/versions/LittleSmalltalk.html
Squeak 関係を見ると良いのかな。
0457デフォルトの名無しさん
NGNG0458デフォルトの名無しさん
NGNGイメージに移しまくった結果だと思っていいのかな?
0459デフォルトの名無しさん
NGNGたとえば、3 + 4 で、
「3」はレシーバ
「+ 4」がメッセージ
「+」がセレクタ
「4」がパラメータ。
このメッセージ送信により起動される「Integer >> #+」本体(場合によってはそのソース)がメソッド。
0460デフォルトの名無しさん
NGNGなおさら分かりにくくなってるんじゃないのかなあ。
ブラウザでIntegerの「+」を見ても「ハァ?」だしさあ。
とりあえず、
メッセージ=オブジェクトに送る「命令」自体のこと。
メソッド=オブジェクトが命令を受けて、実行する「中身」のこと。
ブラウザでコードを見た際の、コメントより後の部分に相当する。
とでもしておけば入り口としては十分だと思うけどな。
まずこれを説明してから、ポリモルフィズムの話だのコンパイルと
実行コードとメソッドサーチの話にでもつなげればいいでしょ。
0461デフォルトの名無しさん
NGNGSmallInteger >> +
0462454
NGNGレスどうもありがとうございます。
メッセージは手続きを呼び出す式で、メソッドは手続きその物であるオブジェクト
という事ですよね。メッセージ送信 --> メソッド検索 --> メソッド起動という流れ
であり、メッセージはメソッド自体とは別の物。
そもそもの疑問は、このメッセージ送信と、メソッド呼び出しを同じ物と考えて
良いのかという点です。違いが良く分からないのですが、何か異なる点があるの
でしょうか。
0463デフォルトの名無しさん
NGNGメッセージ送信→メソッドサーチ→メソッド起動という流れはそれでいい。
違いはたとえば同名のメソッドをもつ異なるオブジェクトがある場合、
呼び出されるメソッドはレシーバが何のオブジェクトかわからないと
メッセージ送信する側では特定できない。
またメッセージはセレクタを利用してそれ単体で保存して後で送信したりできるってのもある。
0464454
NGNGレスありがとうございます。
Java 出身という訳ではありませんが、念頭に置いていたのは Java 等で言う
メソッド呼び出しです。
>違いはたとえば同名のメソッドをもつ異なるオブジェクトがある場合、
>呼び出されるメソッドはレシーバが何のオブジェクトかわからないと
>メッセージ送信する側では特定できない。
これはプログラム実行時にメソッドが決定されると言う事ですよね。
>またメッセージはセレクタを利用してそれ単体で保存して後で送信したり
>できるってのもある。
こちらは Lisp の lambda みたいな感じですよね。
0465454
NGNG実行時に行われるかの。
0466デフォルトの名無しさん
NGNGVisualWorks の 2.X に附属していた
チュートリアルを探しています。
Checkbook(小切手帳)をつくるやつです。
VisualWorks Tutorial Rev.2.1 だと思います。
日本語・英語 両方のpdfを持っていたのですが、
うっかり消してしまいました。
ググッたのですが...。・゚・(ノД`)・゚・。
ありかを教えてくださ〜い
0467デフォルトの名無しさん
NGNG> 466
http://wiki.cs.uiuc.edu/VisualWorks/DOWNLOAD/
ここは、あたった?
3.0は落とせるが?
0468デフォルトの名無しさん
NGNG> 467
ありがとうございます
http://www.cincomsmalltalk.com:8080/CincomSmalltalkWiki/DOWNLOAD/DOCS/VWTutorial.pdf
にありました。
これの日本語版もどこかにあったはずですが、これが見つかったので、まずは嬉しいです。
お騒がせしました。
0469デフォルトの名無しさん
NGNG不安定すぎてとてもつかえません、Windowsのマシンでばかりつかってます。
せっかくマクかったのに!
起動してすぐキーボード入力しようとすると
vwmacxgui[1981] *** -[NSConcreteAttributedString characterAtIndex:]: selector not recognized
なんてメッセージがでちゃいます。
ImageやRectangleのfromUserなんて実行すると
vwmacxgui[1981] Invalid message sent to event "NSEvent: type=AppDefined loc=(0,0) time=0.0 flags=0 win=0 winNum=0 ctxt=0xe633 subtype=0 data1=0 data2=0"
こんなのがでて固まります。
これじゃつかえねーヨ!。どなたか救いの手をー
0470untitled
NGNG0471デフォルトの名無しさん
NGNG0472デフォルトの名無しさん
NGNGリマインダーは届いてるから単純に流れてないだけじゃ?
0473デフォルトの名無しさん
NGNG同じように動的な言語である Lisp はメジャーな処理系の殆どがコンパイラを
備えていますよね。
0474デフォルトの名無しさん
NGNGSmalltalk/Xとか、青木さんが作られたCへのトランスレータとか。
でもハイブリッドなものは (Javaで言うHotSpot) 他にもありそうですが。
0475デフォルトの名無しさん
NGNG青木さんじゃなくて安松さんのSPiCEでは?
http://www.jssst.or.jp/jssst/prod/yasumatsu-thesis.html
あと有名どころでは、SqueakのVMを生成するためのSlangとか。
http://minnow.cc.gatech.edu/squeak/2267
0476デフォルトの名無しさん
NGNGどうもありがとうございます。ネイティブコンパイルするのに何か問題があるのかな
と思っていたのですが、そういう訳でも無いのですね。
0477デフォルトの名無しさん
NGNG0478デフォルトの名無しさん
NGNGLispやSmalltalkにはevalやevaluate:みたいなものがあるのだから、
コンパイルできるのがサブセットなのは当たり前。
0479デフォルトの名無しさん
NGNGつまりネイティブコンパイルするのに何か問題あるってことでFA?
ところでさ、Smalltalkのevaluate:はコンパイラ動かしてバイトコード生成してるんだから、
ネイティブコード生成して動的リンクすれば実現可能な気もするが、どうよ?
0480478
NGNG477が静的コンパイルとネイティブ・コンパイルをごっちゃにしているようなので
こうなった次第。ごっちゃにしてんの俺かも。
> ところでさ、Smalltalkのevaluate:はコンパイラ動かしてバイトコード生成してるんだから、
> ネイティブコード生成して動的リンクすれば実現可能な気もするが、どうよ?
evaluate:の引数の中にevaluate:やらユーザー入力やらがなければね。
結論:
静的コンパイルは、できないコードはできない。でも、それは「問題」
ではなくて、言語がリッチであることの証。
ネイティブコンパイルは、JITだったりする処理系であればevaluate:も含めて
もうやっている。
0481デフォルトの名無しさん
NGNG> evaluate:の引数の中にevaluate:やらユーザー入力やらがなければね。
いや、だから、実行中にその文字列をネイティブコンパイルして
tmpname.soなりtmpname.dllなりを作って動的リンクすれば?って話なんだが。
0482480
NGNGつまり作られたtmpname.soからネイティブコンパイラが呼べれば、という
ことだよな。そしてさらに作ったtmpname2.soをtmpname.soから呼ぶと。
...がんばってくれ。
ユーザー入力をウィンドウで受けとってそれを文字列に変換して、
というようなコードがevaluate:の引数の中にある場合も考えてね。
もう一度書くけど、JIT的ににやることもネイティブコンパイルと言うなら別に
別にそれはもうやっている。
0483デフォルトの名無しさん
NGNG> ...がんばってくれ。
がんばるも何も、問題あるなら具体的に出せばいいのに。
> もう一度書くけど、JIT的ににやることもネイティブコンパイルと言うなら別に
> 別にそれはもうやっている。
つーかJITの話をしてるのは君だけでは?
そもそも「JIT的」ってどういう意味のJIT的よ?
0484デフォルトの名無しさん
NGNG「高級」なこと言っている自分に酔っているのかしらん
0485478
NGNGCompiler evaluate: '3 + (Compiler evaluate: ''4'')'
のような式をワークスペースから評価したとき、外側のevaluate:をコンパイ
ルして動的リンクして呼ぶ「処理系1(UIトップレベル)」があるわけでしょ。
その「処理系1」は内側のevaluate: をコンパイルして動的リンクして呼ぶ
「処理系2(.so内のコンパイルされたコード)」とは「違う」んだよね、きっと。
その場合、例えば'4' の代わりにもっと複雑な式が来て、'3 + 'の代わりの複
雑な式のところで変更されたメソッドを呼んでいたりしたら、内側のやつが使
うべき(例えば)メソッドルックアップのロジックはどの処理系のものになるの
か、と言うような話。
で、JIT的というのは中間コードのセマンティクスを保って動くVMがあるけ
ど、実際にCPUが実行しているコードはVMが動的に変換したコードであるよう
なもののつもり。この場合、(例えば)メソッドルックアップが必要になったら、
いつも同じVMが持っているロジックを使う。.soとかじゃないから、動的に変
わっているかもしれない.soの外へのコールバックをどうするか、と言う問題
を考えなくて良くなる。
最初の例のように.soを作るとしても、理屈の上では細切れな.soを作っ
て、動的ディスパッチの飛び先とかもちゃんと管理して、「常にどれかの.so
の中で動いているけど、Smalltalkのセマンティクスを保って動く」という処
理系も作れるかもしれない。でも、それをあなたは「ネイティブコンパイルし
たものが動いている」と呼ぶのかな、と言う疑問は残るけどね。
0486デフォルトの名無しさん
NGNGそのケースなら処理系は1っこだけでしょ。
処理系自身を拡張するならともかく、
ただのeval程度で処理系ごと複製するような
無駄な事はしなくていい。
0487デフォルトの名無しさん
NGNGCompiler やオブジェクトファイルを特別視しすぎなんじゃないかな。
動的な部分に関しては、実行時にコンパイルが行われてもネイティブコード
コンパイルに違いは無いと思うけど(だってそういうコードだから)。
構文木を作るメソッドやアセンブラに翻訳するメソッド、アセンブラを機械語
に翻訳するメソッド、機械語の羅列をメモリにマップするメソッド、メモリに
マップされた機械語を管理して適切に呼び出すメソッド等々が動いているだけ
じゃない?
0488デフォルトの名無しさん
NGNGマクosXとWinでImageのRGBの並びが違うのか、どっちかがなんかバイトずれるのか
コードがちがくなったよ。なんでかな?
DLL&C コネクトのプログラムの参考になったよJunが。
あとマクosxのVW7.2ncでWebToolkitのWebサーバ(かつてTinyWebServerとかいわれてた?)がなんかうごかないんすけど
みなさんどう?
0489sage
NGNG0490デフォルトの名無しさん
NGNG0491デフォルトの名無しさん
NGNGhttp://tech.millto.net/~pngnews/kndh/PngSpec/2.htm#1
http://tech.millto.net/~pngnews/kndh/PngSpec/12.htm#5
0492デフォルトの名無しさん
NGNG0493デフォルトの名無しさん
NGNG0494デフォルトの名無しさん
NGNG0495デフォルトの名無しさん
NGNG俺も一時探したんだけど、どうも「買え」って話らしいよ。
0496デフォルトの名無しさん
NGNGなぜ普及せんのだろう・・・
0497デフォルトの名無しさん
NGNG仕事でも使ってるところはあるよ。
0498デフォルトの名無しさん
NGNG0499お馬さん@名無しで人生アウト
NGNG0500デフォルトの名無しさん
NGNG外資系だけど。
んで500
0501デフォルトの名無しさん
NGNGほれ。
http://minnow.cc.gatech.edu/squeak/172
0502デフォルトの名無しさん
NGNGどんなジャンルでも、10年〜20年先を予見したような物は、
は普通売れない。その後、数年経って、安っぽいフォロワー
が売れたりするが....
まあ、仕事で直接関係なくても、smalltalkはやって
おいて決して損はしないと思うけど。
0503デフォルトの名無しさん
NGNGJava やら .NET の VM 環境もそうといえるのかな。
0504デフォルトの名無しさん
NGNG0505デフォルトの名無しさん
NGNG0506デフォルトの名無しさん
NGNG2.0用ですが。
http://www.sra.co.jp/smalltalk/SML/archives/1998-November/003056.html
0507デフォルトの名無しさん
NGNG"visualnc.im created at May 8, 1998 5:25:00 pm"
にfile inしてみましたが。動かないです。
エンジンはバージョン 3.0, 3.0a, 3.1b, 3.1c の四種類で試してみました。
OSはWindows 2000pro です。
操作はWorkspace等でコントロールを押しながら
. (ピリオド) , (カンマ) 0 (ゼロ) 9
ですよね。
ParagraphEditor>>processKeyboard から StringCompletion class>>checkUp: が呼ばれていることは確認したんですが、C-. などを押しても真を返さないみたいです。
WindowSensor>>primCtrlDown -> InputState>>ctrDown
という流れは調べることができたのですが、なぜ真にならないのか、
どうすればテスト・修正できるか分からず困っています。
0508デフォルトの名無しさん
NGNGCtrlを押下したときに、InputSensor>>keyboardPeekが返す値として、Ctrlシフト
していない文字を期待しているのですが、実際はシフトした文字が返っています。
Ctrlを使うとちょっと面倒なので、Altに変えるのが手っ取り早いと思います。
StringCompletion.stのctrlDownをaltDownに全置換してファイルインしてみてく
ださい。
0509デフォルトの名無しさん
NGNG0510デフォルトの名無しさん
NGNGVisualWorksではできないの?
0511デフォルトの名無しさん
NGNG電大の生協に行けば買えるのかな。
半年前にラオックスBook館で見かけていつか買おうと思っていたのに
昨日欲しくなって見に行ったらBook館自体がなくなってた…
0512デフォルトの名無しさん
NGNGamazonやbk1なんかがお手軽では。
0513デフォルトの名無しさん
NGNGChangeListでリカバーして同じセレクタを絞り込むとか。
0514デフォルトの名無しさん
NGNG0515デフォルトの名無しさん
NGNG書泉ブックタワーで売られてましたよ。
代わりに買っておきました。
0517デフォルトの名無しさん
NGNG三省堂神田本店や書泉グランデでも売られてましたよ。
>>511 のために買わずにおきました。
0518デフォルトの名無しさん
NGNG0519デフォルトの名無しさん
NGNG0520デフォルトの名無しさん
NGNGなんでそう思う? 仕事ないから?
0521デフォルトの名無しさん
NGNG0522デフォルトの名無しさん
NGNG青木さんは現役でしょ。
でも他の人は段々離れてるのかも。
0523デフォルトの名無しさん
NGNG0524デフォルトの名無しさん
NGNG私も学んでいるところです.
dependencyやaspectadaptorを使うことでModelが変化しても
Modelはself changedを依存物に送るだけでViewについて特に知る必要がなくなる.
と理解しています.
そのおかげで再利用性が高まったりいろんなViewを持てるようになるようです.
サクサクや青木さんのWEBをみて勉強してるのですが
誤解も多いと思いますので詳しい方補足や訂正をお願いします.
便乗質問で申し訳ないです.
ApplicationModelにキャンパスツールでインストールしたWindowをオープンしたものは
GUIでModelを操作できたりしますが,ViewやControllerといえる(同列にみなせる)のでしょうか?
WindowにはViewHolderは無く,action buttonとラジオスイッチなどが主体のものです.
0525523
NGNGself changedはModelが自分に送るメッセージで
依存物たちはupdateを受け取るのでした
0526511
NGNG0527515
NGNGいい本ですね、サクサク本。
0528デフォルトの名無しさん
NGNG「Squeak プログラミング入門」は対話形式です。
私はその手の本とは相性が悪いらしく、見送りました。
(最後の2つの章以外はもう知ってることだし)
0529523
NGNGありがとうございます。お返しに。
GUIビルダで生成したApplicationModelのサブクラスをopenしたときですよね。
マウスをウィンドウの上に載せて Ctrl-y してデバッガを開けば、
コントローラを捕まえることができます。
C ApplicationStandardSystemController
V ApplicationWindow
M ApplicationModelのサブクラス
だそうです。(VWNC3.1の場合)
viewをインスペクトすれば各コンポーネントにどんどんdiveしていけます。
0530デフォルトの名無しさん
NGNG多分VWのバージョン2.5から3.0に上がるとき、ブラウザの構造がイベントドリブンベースに変わったからではないかと推測。
で、こういうのをみつけた
ttp://wiki.cs.uiuc.edu/VisualWorks/Auto+Text+Completion
こっちはブラウザでも使えるがキーアサインが <Insert> と遠いし
クラスしか検索してくれない模様。
二つを自分で合体するしかないか?
0531デフォルトの名無しさん
NGNGSqueak でアスペクト指向
http://www.prakinf.tu-ilmenau.de/~hirsch/Projects/Squeak/AspectS/AspectS.html
0532デフォルトの名無しさん
NGNG970MBってあ〜た(wでけ〜。
ちまちま見てますが。時々基本に帰れる気がする(気がしてるだけで終わると駄目だな漏れ
0533デフォルトの名無しさん
NGNGあるクラスに foo: bar: baz: foobar: というメソッドと、foo: bar: と
いうメソッド、baz: foobar: というメソッドの3種類があったとして、
この文は A, B どちらで解釈されるのでしょうか。
obj foo: a bar: b baz: c foobar: d.
A: (foo: a bar: b baz: c foobar: d)
B: ((foo: a bar: b) (baz: c foobar: d))
0534デフォルトの名無しさん
NGNG0535デフォルトの名無しさん
NGNGAとBのいずれでもありません。レシーバのないメッセージ式は存在しません。
メッセージだけを括弧で括ることはできません。
C: obj foo: a bar: b baz: c foobar: d
D: obj foo: a bar: b; baz: c foobar: d
という意味だとすると、Cです。
0536デフォルトの名無しさん
NGNGどうもありがとうございます。
これって一番長い候補にマッチする規則なのでしょうか?
>>535
B はカスケードではなく、foo: bar: の戻り値に baz: foobar: を
適用する↓イメージでした。分かり辛くて済みません。
E: ((obj foo: a bar: b) baz: c foobar: d)
経緯としては、Io の FAQ に Smalltalk の syntax について書かれていて
疑問を持ちました。"Why not use an infix message syntax like Smalltalk?"
という項です。
http://www.iolanguage.com/FAQ.html
調べていて、unary msg > binary msg > keyword msg という優先順位
があるのは分かりましたが、keyword msg が折り重なった時にどういう
規則で解釈されるのかの説明が見つかりませんでした。
0537デフォルトの名無しさん
NGNGSelf だと the longest possible sequence にマッチして、尚かつ
2 番目のセレクタから大文字になるみたいですね。
これだと
obj foo: a Bar: b baz: c Foobar: d
が
((obj foo: a Bar: b) baz: c Foobar: d)
と無理無く解釈出来てウマーなのかな。
0538デフォルトの名無しさん
NGNG> これって一番長い候補にマッチする規則なのでしょうか?
全然違う。動的束縛でそんなことができるわけがない。
0539デフォルトの名無しさん
NGNG使うメッセージセレクタが決定するのは静的なコンパイル時では。
そのセレクタに対応するメソッドが動的に決まるのが実行時でしょう。
なのでこのケースでは動的束縛は関係ないような。
0540デフォルトの名無しさん
NGNG>((obj foo: a Bar: b) baz: c Foobar: d)
良く読んだらこうでした。
(obj foo: a Bar: (b baz: c Foobar: d))
上の E みたいに keyword message 式で式の戻り値を使いたい場合は、
常に元の式を括弧で括る必要があるのかな。
0541デフォルトの名無しさん
NGNGSqueakの場合ですが、コンパイル時にParser>>messagePart:repeatで
やってますね。
トークンのタイプが#keywordである限りセレクタ候補が伸びて行くので、
結果として最長のセレクタ名が選ばれます。
0542デフォルトの名無しさん
NGNG> 使うメッセージセレクタが決定するのは静的なコンパイル時では。
そうだよ。で、コンパイル時にはレシーバの型(つまり受け付けられるセレクタ)が
決まらないから、動的束縛しているかぎりはレシーバの持つメソッドに応じて
キーワードメッセージのキーワード数を「コンパイル時に増減」させることは
不可能でしょ?
> なのでこのケースでは動的束縛は関係ないような。
というわけで関係ありってことで。
0543デフォルトの名無しさん
NGNG成る程。無意識のうちに、「存在するメソッドから最適な物を探索して
来てくれる」と考えていました。確かにそんな訳無いですね。
キーワードメッセージ式の戻り値にメッセージを送信したい場合は、
括弧で括る必要があるで宜しいでしょうか。
# 偶然且つ勘違いでしたが、Self のらくだこぶ型で先頭セレクタか後続
# セレクタか区別するというのは面白いですね。
0544デフォルトの名無しさん
NGNG0545デフォルトの名無しさん
NGNG0546デフォルトの名無しさん
NGNG3.6までなら B3DVector3。
3.7からは Balloon3D がデフォで入ってないので doesNotUnderStand:。
0547デフォルトの名無しさん
NGNG片方から変更してacceptしてももう片方はupdate
されませんが、これはMVCの原則に沿っていない
ということでしょうか。
changed -> update で通知されれば、新しい定義を
再読み込みできると思うのですが。
0548デフォルトの名無しさん
NGNG0549デフォルトの名無しさん
NGNGhttp://developers.slashdot.org/developers/04/04/22/1243254.shtml
0550デフォルトの名無しさん
NGNGチュートリアルをざーっと読んでみたけど、既にあるメソッド定義を
印字する方法とかは書いてなかった。どうするんだろう。
0551デフォルトの名無しさん
NGNGst> Point sourceCodeAt: #x !
'x
"Answer the x coordinate"
^x
'
0552デフォルトの名無しさん
NGNGへぇ〜、なるほど変な感じもする。
ブラウザに限らず大抵のアプリケーションは、開くごとにMが1個できる。
あるMから、それにつながってるVはupdateできる。
でもMから、他のMとかそのVとかにはupdateは伝わらない。
とかゆう感じ?
0553デフォルトの名無しさん
NGNGうちのパンサータンでは普通にさくさく動きました。日本語もオケみたい。
dmg を展開して中身をコピーするだけで実行可能です。実行バイナリ
は 79KB で Image ファイルが 2MB ほど。バンドルになってるので、
アプリの配布が楽そうですね。
0554553
NGNG0555デフォルトの名無しさん
NGNG漏れもSMLで見てあわてて落としてインスコして試してまつ。
なかなか軽快な感じでええでつね。
do itじゃなくてEvaluate itなので面食らった漏れは逝ってよしでつなorz
0556デフォルトの名無しさん
NGNG保存→再開した時に、外部環境に依存するリソース(開いているファイルとか
ソケットとか)の整合性が問題になったりしないのでしょうか?
0557デフォルトの名無しさん
NGNGなるよ。
0558デフォルトの名無しさん
NGNGどうもです。
前スレ >499-502 辺りに GC との絡みについての議論があったんですが、
外部リソースの扱いは面倒そうですね。
実行環境のスナップショットを取らない Java みたいな仕様なら、実装も
楽なんだろうけど、そういう処理系って無いのかな。
0559デフォルトの名無しさん
NGNG開発中は別として、
アプリケーションの実運用に入ったら、開発環境を外して(または隠して)
データの保存はファイルシステムやDBに行い、イメージの保存は一切しない、
させない。というのが定跡なんだと思ってました。
0560デフォルトの名無しさん
NGNGとどこかで読んだのですが、
Perl でスクリプトを書くときとか、何も考えずに . で
文字列を連結していく人って多い気がします。
タイトなループでゴミオブジェクトが量産されてGC行き…
とかいうことを心配しないでいいケースでは、安直に , を使っても
バチは当たらないのかなと思うのですがどうでしょうか。
0561デフォルトの名無しさん
NGNGゴミオブジェクトのGCだけじゃなくて、生成するコストも考えてみ?
0562デフォルトの名無しさん
NGNG(↓こんな感じのメソッドを実装するイメージで)。
Behavior>>addSelector: selector withBlock: aBlock
メソッドとブロックは双子みたいな感じがするので、可能なのではないかなと思う
のですが(Too Lispy だなんて嫌がられそうですけど)。
0563デフォルトの名無しさん
NGNGselectorメソッドが呼ばれたら、保存されたブロックをvalue:で
評価すればいいです。
でも、処理内容を一旦ブロッククロージャにするよりは、
文字列データのままにしておいて、その文字列で動的に
メソッドを定義した方が使いやすいと思います。
(addSelector:withBlock:でもどうせ動的メソッド定義をするのだから)
0564デフォルトの名無しさん
NGNGダウンロードしてみたけど見た目もゴージャスで中身もいじりがいありそう
日本語の情報源キボンヌ age
0565562
NGNGどうもありがとうございます。
どちらかというと、aBlock --> aMethod にコンバートする方向を考えて
いました。文字列のままコードを渡す方法だと、ソースが見辛くなる(気が
する)というだけの理由なのですが。。。
ブロックとメソッドの内部的な仕組みについてもう少し調べてみます。
0566デフォルトの名無しさん
NGNGGnu Lithtning って結構凄いのかしらん。
0567デフォルトの名無しさん
NGNG0568超初心者ですみません
NGNGマウスポインタの座標をView上に表示したいんですが、ControllerのmoveMouseEvent
の中でViewに書き込んでいると、座標表示がどんどん上書きされてしまいます。
GraphicsContextをいちいちクリアしないでViewをリフレッシュするのには
どうしたらいいのでしょうか?
0569デフォルトの名無しさん
NGNGactiveWindow := ScheduledControllers activeController view.
のこと?
普通に考えるとViewを書き換えるには 消す→書く を繰り返すしかない気がする。
ダブルバッファみたいなことって Pixmap とか使うのかな。
0570デフォルトの名無しさん
NGNGダブルバッファみたいなことも出来ればしたいですし、無理なら
部分的に更新する方法があるとうれしいです。
この辺りの話が系統的に書かれている参考書ってありますでしょうか?
(一応パープルブックは現在読み進めているんですが。)
0571デフォルトの名無しさん
NGNGUI Painter で画面を作りこんでいるのか、
Workspace からdo itするだけの例題プログラミングなのか
それによって答えも変わってくる。
0572デフォルトの名無しさん
NGNGプリミティブなVMの世界とユーザーが読み書きする言語上の世界が
なめらかにつながっていて感動した。
反面、パフォーマンスとメモリ効率を稼ぐために
1ワードたりとも無駄にしたくないというケチケチな切り詰め方に
時代の哀しみをおぼえた。
0573570
NGNGUI Painterを使って作っています。やりたいことは、マウスポインタの
座標値をViewにリアルタイムに表示することです。
MVC的に、Modelに座標値を持たせてViewに見に行かせるのが
筋なのかもしれませんが、ViewとControllerで閉じている話なので
以下のようにControllerからViewに直接書かせてみたんです。
すると座標値が上書きされてしまうようになってしまいました。
そこでこのような状況でViewを更新するための定石があれば、と
質問した次第です。
XXController>>mouseMovedEvent: event
super mouseMovedEvent: event.
self view displayCursorPosition: self sensor cursorPoint.
XXView>>displayCursorPosition: aPoint
| oldColor corner textLoc posText |
posText := aPoint x printString, ',', aPoint y printString.
corner := self bounds corner.
textLoc := (corner x - 160) asInteger @ (corner y - 20) asInteger.
oldColor := self graphicsContext paint.
self graphicsContext paint: ColorValue black.
self graphicsContext displayString: posText at: textLoc.
self graphicsContext paint: oldColor.
0574デフォルトの名無しさん
NGNG> 反面、パフォーマンスとメモリ効率を稼ぐために
> 1ワードたりとも無駄にしたくないというケチケチな切り詰め方に
> 時代の哀しみをおぼえた。
今でもVM屋の主流の意識はかわってないよ。
0575デフォルトの名無しさん
NGNG文字列の結合の仕方が分らずに小一時間考える・・・。
Cとかならこんなの3秒なのに
smalltalkだと解説本とか少ないから分らず。。。。
0576デフォルトの名無しさん
NGNGぐぐれ。
'smalltalk は一行も書いたことなかった', 'が、1分で調べられた。'.
0577デフォルトの名無しさん
NGNG>>560 にも書いてあったりして。
0578デフォルトの名無しさん
NGNG無くても平気ですか? , で繋ぐので十分なのか、適宜自作しているのかって
事ですけど。
0579デフォルトの名無しさん
NGNGカンマで繋ぐのは、本当に単純で、そして遅くていい所だけの方がいいよ。
俺はCからプログラミングに入った人だから、最初こそprintfが欲しいと
思った。でも今は、要素ごとに適当に整形して、それをストリームに
nextPutAll:するやり方で全然困ってないな。
printfがあったらどうなるか考えてみたけど、何か楽になるかな?
別にオブジェクトの種類別にprintStringその他の外部表現メソッドがあって、
そしてそれをまとめるやつ(nextPut:類みたいなの)がストリームクラスに
凝集モジュール化されてる現状でいい気がする。
0580デフォルトの名無しさん
NGNG0581デフォルトの名無しさん
NGNGそんなのはInteger>>ぜろぱでぅんぐ:とかで実装しろよ。
0582デフォルトの名無しさん
NGNG>printfがあったらどうなるか考えてみたけど、何か楽になるかな?
ソースコードが簡潔になるのを期待してます。要素毎に分割してメソッドに
渡してあげる必要がないので、出力したい文字列が一目瞭然だと思うのですが。
0583デフォルトの名無しさん
NGNGprintfだと、どの要素がどのフォーマットに適用されるのかが解りづらいと思うのだが
printfの利点は、フォーマット変換だろ
0584デフォルトの名無しさん
NGNG>どの要素がどのフォーマットに適用されるのかが解りづらい
それもあって >>578 が微妙な書き方になってしまったのですけど、
文字列中に変数を挿入する事を意識していたので(↓こんなの)。
stdout print: '今日は 'D 年 'D 月 'D 日 'S 曜日です。'N'
format: #(#year #month #day #week).
0585デフォルトの名無しさん
NGNGSmalltalk-80(Squeak)にはDate>>printOn:format:がありますね。
VisualWorksにはより汎用的なPrintConverterがあります。
0586デフォルトの名無しさん
NGNGこれですね。どうもありがとうございます。
http://www.oldenbuettel.de/squeak-doku/Kernel-Magnitudes/Date.html#printOn:format:
VW は使っていないのですが、やはりコンバータを自作するのが良さそうですね。
0587デフォルトの名無しさん
NGNGちゃんとポリモーフィックに作っておけば下手なprintfもどきよりもずっと
Smalltalkらしい使い勝手のものになると思われ。
0588デフォルトの名無しさん
NGNG0589デフォルトの名無しさん
NGNG> すると座標値が上書きされてしまうようになってしまいました。
消さずに書いているから文字が重なってしまうということ?
座標値を書くための小窓を ViewHolder で貼り付けて、そこだけ clear すれ
ばいいんじゃないのかな
0590デフォルトの名無しさん
NGNGいままで耳にたこができるほど「ソースから学べ」「Smalltalk自体がSmalltalkの最高の教材だ」などと言われて反発を感じてきましたが、やっと最近なるほどそうだなあと分かり始めました。
最近分かった具体的なことは、
* ブラウザのimplementersとsendersの使い方
* プロトコル(メソッドカテゴリ)の代表的なグループの意味
* デバッガの使い方
なんとも基本的なことばかりです。(恥
知識としては知っていたつもりでしたが、「こういうときにこういう目的で使う」というのが理解できてませんでした。
どうやって理解したかというと、「サクサクSmalltalk」「Smalltalkベストプラクティスパターン」を読んだからです。
Smalltalkはアートとサイエンスで出来ていて、ネットに転がっている入門者向けの情報はたいていサイエンスで終始しています。
入門者にも、アートに踏み込んだ情報が必要です。
0591デフォルトの名無しさん
NGNG文法とツールの使い方を覚えたら、いろいろかじっていくことはできます。
でも全体を貫くアートがありません。興味のある部分のスキルには習熟できますが、
木から始めて林くらいまではいけても森を見れません。
MVCが放置されてMorphicが上に覆い被さっているところなど、
GNOMEやKDEに覆われている今のPC-Unixとそっくりです。
0592デフォルトの名無しさん
NGNG0593デフォルトの名無しさん
NGNGもうね(ry
0594デフォルトの名無しさん
NGNGどんな仕組みになってるんでしょうか?
ZipファイルにFileInチャンクと初期化スクリプト、依存パッケージのリスト
とかそんな感じ?
0595デフォルトの名無しさん
NGNGそれもまた楽し。
1.xならシンプルで扱いやすいと思います。
0596デフォルトの名無しさん
NGNG“転がっている”とか“Squeakはだめ”とかいうネガティブな言い回しだと、
結局反感買って、伝わるものも伝わらなくなるよ…。 orz
0597デフォルトの名無しさん
NGNG0598デフォルトの名無しさん
NGNGhttp://www.amazon.co.jp/exec/obidos/ASIN/0133713458
サクサクSmalltalk―オブジェクト指向のアートとサイエンス
http://www.amazon.co.jp/exec/obidos/ASIN/4501525703
0599570
NGNGサンクスでした。
>>590
漏れはVisualWorksでSmalltalkをはじめて半年だけど、確かに青木さんなんかが
初心者が安直にSqueakに行くことを戒めてるよね。
でもSqueakのワクワクする感じってきっとなんかあると思うよ。そうそう簡単に
切り捨てるのはもったいないかも(と予想)。
(見たことないから無責任発言ですが)ソースコードを見て勉強するって対象では
ないのかも知れないけど、自由に操れて自分の環境にできたらきっとたのしいだろうなぁ
と憧れてます。
0600600
NGNGDLL and C Connectのテスト セットのためのダイナミック リンクライブラリーの構築方法について
についてです。
WindowsでVisualWorks2.5
にてこのテストを行っています。
readmeの記載されているようにしてやっているんですが
どうしてもmakefileが実行できません。
わかる方本当にお願いします。教えてください。
0601デフォルトの名無しさん
NGNGvwnc30のサンプル(vector)をVC++6でビルドしようとしたら
makefileの書き換えが少々必要だった
0602デフォルトの名無しさん
NGNG> 漏れはVisualWorksでSmalltalkをはじめて半年だけど、確かに青木さんなんかが
> 初心者が安直にSqueakに行くことを戒めてるよね。
俺は別に青木さんの体験に追従する必要なんてサラサラないと思うし、
同じ初心者でも、そう言われただけでSqueakを無視するような奴よりも
自分で実際に動かしてソース読んだ上でそれ以上ツッコむかどうかを
判断する奴のほうがずっと見込みあると思うけどね。
0603デフォルトの名無しさん
NGNGまぁ、ね。
ただこれだけ巷で『ソースが汚い』だのなんだの言われてると
初心者としては手順を踏んで(VisualWorksとかから)勉強しようと考えてしまう
のは致し方ないかと。暇人なら何でもかんでも試せるけどねー。
0604デフォルトの名無しさん
NGNGその際にプロトコルは'as yet unclassified'でいいじゃんとか、
変数名はやっぱt1だよねとか、うまく動かないときは、とりあえ
ず既存のメソッドに条件分岐を足しちゃえとか、Objectに書いて
おけばどこでも使えて便利ということになるのは、ちょっと悲し
いかなと思わなくも無いわけです。
もちろん、Smalltalk-80からObjectWorks、VisualWorksの流れに
もこういうことはあったわけですが、良くも悪くもParcPlaceに閉
じていたので限度がありました。
オープンソースのSqueakの場合、これが爆発している感が強いで
す。そのようにして作られたコードを、さらに模倣するので。な
にがなにやらという段階まで来てしまったと思います。
Squeakコミュニティでは、ステイブルする動きが、ないがしろにさ
れがちということもありますね(みんな楽しくて面白いことが大好
き)。
0605デフォルトの名無しさん
NGNG0606デフォルトの名無しさん
NGNGのlinuxのディス鳥は何いいのか教えてくださいませ。
できればSqueakとそれ以外の場合と2種類知りたいです。
0607デフォルトの名無しさん
NGNG無いよ
0608デフォルトの名無しさん
NGNG(Linuxよく知らないので、この「付属」ってのが正確に何を意味するか
自分でもわかんないで書いてます。)
0609606
NGNGどうもです。
Squeakがknoppixにはいってるらしいです。
けど、どんなもんなんでしょうね…
0610デフォルトの名無しさん
NGNGttp://squeak.hp.infoseek.co.jp/nihongo.htm
0611デフォルトの名無しさん
NGNGKNOPPIX_20030924-20031015に入っていたのは古いバージョンです。
Nihongo6.1は、Knoppix 3.3, 3.4で日本語入力も含め問題なく動きました。
つーか、Knoppixなら環境変えなくても試せるからやってみればいいじゃん。
0612606
NGNGありがと。
knoppixはやたら重くて2度と使うかっ、て感じでした。
きっとHDに入れて使えばいいんでしょうがこの辺りの質問は
スレ違いにつき控えさせていただきます。
0613デフォルトの名無しさん
NGNGwhileTrue:の中身をみたけどさっぱりわからん。
なぜこれでループが組めるんだ?
0614デフォルトの名無しさん
NGNG前スレ349と全く同じ質問ですね
ttp://pc3.2ch.net/test/read.cgi/tech/998444037/
0615613
NGNG過去ログみた、実行可能にする仕掛けはコンパイラにあった事もわかった。
でも納得いかないのはコンパイラレベルで
condition := [ ほげ〜 ].
condition whileTrue: [もげ〜].
と
[ ほげ〜 ] whileTrue: [もげ〜].
を異なる解釈させないとBlockContextの実装ってできないものなの?ってこと。
最初からこの形で処理させる事にしてたの?
それとも昔のSmalltalkではBlockContextのwhileTrue:はプリミティブ実装だったのかってことが知りたいの。
どうしてこんな事聞くかって言うとループ構造自体が言語には規定されていないのどうしてこの形にたどり着いたかを知りたいからなんだけど.
0616デフォルトの名無しさん
NGNG過去ログ読んだんなら、それはあくまで高速化のための実装に過ぎないことぐらい
わかりそうなものだと思うのだが?
0617デフォルトの名無しさん
NGNG1982年のSmalltalk-80 Licence Version 1に限りなく近いと
思われるSqueak Version 1.1でも同じ実装でした。
ftp://st.cs.uiuc.edu/Smalltalk/Squeak/1.1/
0618613
NGNGサンクス、
ブルーブックが手に入らないのがSmalltalkの足跡たどるのに一番つらいよ!
5年くらい前に青木さんの本(イディオム)買ったときにも探したんだけどなぁ。
0619デフォルトの名無しさん
NGNGパープル + これじゃだめなんですか。
http://users.ipa.net/~dwighth/smalltalk/bluebook/bluebook_imp_toc.html
0620デフォルトの名無しさん
NGNG借りるヨロシ。借りるの面倒なら>>619。
0621デフォルトの名無しさん
NGNGコンピュータサロンは閉館しますた。ここにはBYTE Aug. 1981もあったのにね。
http://slashdot.jp/articles/03/09/10/1339243.shtml?topic=1
0622デフォルトの名無しさん
NGNG0623デフォルトの名無しさん
NGNGオレンジとパープルの和訳は置いてあった。が古い本ですね〜とか言われて予想通り書庫だった。
コンピュータ物は新しいのを置いておかないと駄目なんじゃないかと勘違いしてる司書タン萌え。
いや、萎え。
やっぱ判らないんだろうなぁ、こういう基本文献とかの価値って。orz
>>620の中の本はどこ逝ったか気になるね。
廃棄とかされてなきゃいいが(つーか閉鎖に伴って除籍になる蔵書はご自由にお持ちくださいとか
で誰かのコレクションになってるとまだ救いがあるな)。
0624デフォルトの名無しさん
NGNG0625デフォルトの名無しさん
NGNG現在の主流のOOPLであるJavaに対してのアドバンテージなど聞かせて頂ければ幸いです。
0626デフォルトの名無しさん
NGNGそういう話は荒れそうだなぁ。
0627デフォルトの名無しさん
NGNG備え付けのツールがいい
Browser、Inspector、Debugger、Workspace、etc
書いたコードがどこでもすぐに評価できるのもいい
0628デフォルトの名無しさん
NGNG使ってる人のレア度の高さ
0629デフォルトの名無しさん
NGNGアドバンテージ?ないよ。ごめん。
0630デフォルトの名無しさん
NGNGすみません
>>627
Squeakってヤツを入れてみましたけどまだ教えて頂いた物がよく解りませんw
ただ、入れた時にちょっと感動しました
IDEってよりもう既にOSみたいな感じで何か新鮮
プログラム開発環境なのに無意味に楽しげなところもステキw
こういうノリは大好きです
なんか凄く独特な世界でひと味違いますね
と言いつつまだプログラミングはしてなかったりしますw
メチャ難しそうだし'`,、('∀`)'`,、
0631デフォルトの名無しさん
NGNG最初はクラスライブラリの多さにビックリしますが、そのうちにクラスもメソッドも
データも所詮はオブジェクトじゃんみたいな気持ちになってくるのが凄いと思います。
Lisp で言えば、お前も所詮マクロの皮を被ったラムちゃんだろみたいな感じかな。
0632Linu
NGNGExample->Cubeを実行すると
Unhandled exception: exception occured #(11 1090521070)
JunMesaInterface(ExternalInterface)>>externalAccessFailedWith:
JunMesaInterface>>glColor4f:with:with:with:
optimized [] in JunOpenGLRenderingContext>>paint:alpha:
[] in JunOpenGLRenderingContext>>activate:
BlockClosure>>ensure:
などといわれて怒られます。Mesaライブラリはインストールできていそうです。
(Mesaに付属するデモも動きました。)/usr/lib/libMesaGL, libMesaGLUのシンボリックリンクも
張ってあります。どなたか対策、手がかりなど心当たりがありましたら
教えてください。よろしくお願い致します。
0633632
NGNGJun : 581,
Mesa: 6.1
特定の組合せで使わなければならないなどという決まりはあるのでしょうか?
0634デフォルトの名無しさん
NGNG御参考
(for VisualWorks 3.x 日本語版)なら
QuickTime インスト
フリーソフトウェア「じゅん for Smalltalk」
ttp://www.sra.co.jp/people/aoki/Jun/Main.htm
の[ダウンロード]のJun all in one (for VisualWorks 3.x 日本語版)で
出来ました。動きました。
バラだと動きませんでした。判りません。
0636632
NGNGsqueakもちゃんと動かない(動かせない)とだとかなしひです。
できればWinに後戻りしたくないので、どなたかお知恵を貸してください。
とあえてageてみるテスツ
0637デフォルトの名無しさん
NGNGJunMesaInterfaceが見に行くライブラリはlibGL.soとlibGLU.so。
/usr/lib /usr/local/lib /usr/X11R6/libのどこかにあれば大丈夫。
#うちは/compat/linux/usr/X11R6/libだけれどね。
DRIなlibGLじゃダメとかの罠もあった気がするが、エラーからすると
ライブラリが見つかってないだけだわ。
0638632
NGNGアドバイスありがとうございます。
Mesaは/usr/libに以下のようにインストールしてあります。
lrwxrwxrwx 1 hoge users 10 7月 20日 01:15 libGL.so -> libGL.so.1*
lrwxrwxrwx 1 hoge users 19 7月 20日 01:15 libGL.so.1 -> libGL.so.1.5.060001*
-rwxr-xr-x 1 hoge users 2330511 7月 18日 15:01 libGL.so.1.5.060001*
lrwxrwxrwx 1 hoge users 11 7月 20日 01:15 libGLU.so -> libGLU.so.1*
lrwxrwxrwx 1 hoge users 20 7月 20日 01:15 libGLU.so.1 -> libGLU.so.1.3.060001*
-rwxr-xr-x 1 hoge users 517969 7月 18日 15:02 libGLU.so.1.3.060001*
lrwxrwxrwx 1 hoge users 11 7月 20日 01:15 libGLw.so -> libGLw.so.1*
lrwxrwxrwx 1 hoge users 15 7月 20日 01:15 libGLw.so.1 -> libGLw.so.1.0.0*
-rwxr-xr-x 1 hoge users 13456 7月 18日 15:02 libGLw.so.1.0.0*
/etc/ld.so.confに/usr/libを足して/sbin/ldconfigも実行しました。
Junの起動スクリプトにも
LD_LIBRARY_PATH=/usr/local/lib:/usr/lib:/usr/X11R6/lib; export LD_LIBRARY_PATH
という記述をしてみました。
が、ダメです。。。何とか動かせるといいなぁ。
0639デフォルトの名無しさん
NGNG勇気を出してSMLにポストすれば御大が答えてくれると思います。
0640デフォルトの名無しさん
NGNGSmalltalkを使ってオブジェクト指向を勉強したいと思っているんですが・・・
0641デフォルトの名無しさん
NGNGVisualWorks3 から始めるとよいというのが定説
じゅんオールインワン(VW3 + Jun)だと導入も楽ですよ
ttp://www.sra.co.jp/people/aoki/Jun/JunAllInOne/
0642640
NGNGレスありがとうございます。
早速「じゅんオールインワン」というのをダウンロードしてみたいと思います。
また、リンク先のページにはSmalltalkに関するページが色々あるみたいなので、
今後の参考にもしたいと思います。
0643デフォルトの名無しさん
NGNGメソッドのインライン化とかプログラム変換的な事とかはやりずらそうな言語に
思えます。型の支援とかも受けにくいし。思いつくのはメソッドキャッシュくらい
です。
0644デフォルトの名無しさん
NGNGsystem[Deutsch, Schiffman 1984]を呼んでみるヨロシ。
0645デフォルトの名無しさん
NGNGthanx!!
ここから辿れました。
http://c2.com/cgi/wiki?PortableSmalltalk
0646デフォルトの名無しさん
NGNG0648デフォルトの名無しさん
NGNGまさかVisual Squeak.NETなんて出すつもりはないよなぁ(w
0649デフォルトの名無しさん
NGNG0650デフォルトの名無しさん
NGNGhttp://www.smallscript.org/
Cincom Smalltalk .NET Plans
http://www.cincomsmalltalk.com/CincomSmalltalkWiki/Cincom+Smalltalk+.NET+Plans
0651デフォルトの名無しさん
NGNGてことはCroquetでちょっと下地を作っておいてCincom買収?
0652デフォルトの名無しさん
NGNGttp://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=6919797058
残念ながら us only なので入手可な人は限られると思いますが…、
お知らせまで。
0653デフォルトの名無しさん
NGNGhttp://web.engr.oregonstate.edu/~budd/Books/little/info/SmallWorld/ReadMe.html
久々なんであげ。
0654デフォルトの名無しさん
NGNGおお、ブラウザ+workspaceもどきでメソッドの追加や
評価が画面から出来る。
0655デフォルトの名無しさん
NGNGお言葉を返すようですが、これは私が学んできたSmalltalkのレベルを遥かに超えています。
そこまで渡邊さんをSmalltalkに惹きつけるものは何ですか?
0656デフォルトの名無しさん
NGNG0657デフォルトの名無しさん
NGNG> お言葉を返すようですが、〜(中略)〜 遥かに超えています。
「お言葉を返すようですが」は相手の発言に反対するときの言葉。
冒頭にこれが置かれているために文章全体の意味が不明瞭。
655は 424-427 のカキコに感動したのか、反発したのか、疑問を覚えたのか
はたまた全く違う何かなのか、さっぱり分からない。
0658デフォルトの名無しさん
NGNG0659デフォルトの名無しさん
NGNGVisualWorks使ってGUIベースのゲーム作る時って
GUIで動かす時って画像のパーツ(カードゲームならカードとか)って
自分でなんかのペイントツール使って描いてそれをVisualWorksで取り込んで
使うんですか?それともVisualWorksにそういったツール入ってるんですか?
いじったんですがサパーリだったんで教えてもらえないでしょうか?
参考サイトとかあるならお願いします_| ̄|○
0660デフォルトの名無しさん
NGNGメニューにTools→ImageEditorっていうのがあった。
これを使うと良いんじゃないか?
0661デフォルトの名無しさん
NGNGてかSML廃止は'HAL'collect:[:c|(c asInteger+1)asCharacter]の圧力ってほんと?
0663デフォルトの名無しさん
NGNG素人っぽくて恐縮ですが、
1) 画像をなにかのアプリで画面に表示させた状態で
2) 'Image fromUser' を inspect
3) カーソルが十字になるので画面上の取り込みたい矩形をドラッグ
4) インスペクタが開く
5) インスペクタの中では self が取り込まれた Image オブジェクト自身を指す
という状態に持っていくことができます。
# 多分 Jun の中にはファイルから直接開くユーティリティとかあるんでしょうけど。
0664デフォルトの名無しさん
NGNG使い方は簡単だからソース読んでね。
0666デフォルトの名無しさん
NGNG>する-クリックする」という手順を採用していた。しかし、それだとミスが多くなるという
>ことで「クリック&ドラッグ」が編み出されたのである。
http://www.ricoh.co.jp/appliance/fujita/fujita_20.html
この「ミスが多くなる」理由は何?
PARC方式(?)の方が楽で良いような気もするけど。ドラッグ中、マウスボタンを押し続けるのって、
指が疲れるんですよね。GUIのデザインは女性か病弱な人かお年寄りにしてもらいたかった。
でもなめらかUIという考えからしたら、今の方式のほうが離散的でないから自然なのかな。
それと、StarとMac(OSX)/Win(XP)の違いって何?
Starと比較したら、Mac-Win間の相違って無いようなものなのかな?
StarのDWIM(Do What I Mean)に基づくオブジェクト指向UIというのもよくわかりません。
0667デフォルトの名無しさん
NGNG「モード」 の切り替えが発生するため。
どちらの場合でも、クリックすると非選択モードから選択モードに切り替わる。
十分なフィードバックによって、今どちらのモードなのかが
認識できないとミスが多くなる。
ドラッグであれば 「クリックし続ける」 という
身体感覚に基づくフィードバックがあるため
選択モードであることが考えなくても意識される。
一方、PARC 方式?だと現在のモードを頭で覚えるか、
画面上に描画されたオブジェクトからフィードバック
(例えば点滅するとか枠が付くとか) を得なくてはいけない。
当時のグラフィックでは視覚だけで十分なフィードバックを与えるのが
無理だったのかもね。
あとは単純に、オブジェクトがたくさんあると前者の方式では、
どれが操作対象か分り辛くなるってのも。
0668デフォルトの名無しさん
NGNGってか、Starはそもそも3ボタンじゃない。この文脈でStarを連想するのはよくやる
勘違い。引用元は引用元で「クリック&ドラッグ」を「プレス&ドラッグ」の意味で使って
いるし、「プレス&ドラッグ」なんて別に発明ってほどのものでもでもないし。
0669デフォルトの名無しさん
NGNGPARC方式?ではマウスポインタに追随してDnDSourceが移動して表示されていなかった?
0670デフォルトの名無しさん
NGNGまず、「PARC方式?」って具体的に何を指しているのかが分からないと…。純粋に、
「クリック(ピックアップ)→ムーブ→クリック(プレイス)」と「プレス→ドラッグ→リリース」との
ミス発生度合いの違いなら、667の通りだし。
ラスキンらがおおいに参考にした、当時のSmalltalkシステムがって話なら、ウインドウやメニュー、
テキスト操作は両者が混在、アイコンみたいのはないからドラドロはそもそもなかったかと。
アイコンのほうはStarからのパクリだけど、StarはPARCじゃないしなぁ…。
ソースをざっと見た感じでは著者は、たんにMac好きで、でもMacのGUIの成り立ちなどは
Mac系の書物(往々にして嘘か、その一歩手前の誇張の多い)から得た程度の知識しか
なくて、だからラスキンの学習の結果の変心について行けてないだけのような気も。
0671デフォルトの名無しさん
NGNG1. アイコンをマウスの左ボタンクリックで選択
2. キーボードの「MOVE」キー(JStarでは「移動」)を押下
3. 移動先でマウスの左ボタンクリック
で実現していました。ウィンドウや文字列の移動なども同様です。
Select first, Action secondですね。選択でレシーバを特定、キーでメッセージ
を送信します。この様に主要なメッセージセレクタについてはメニューでなくキー
ボードに独立したキーが用意されていました。
また、Starの物理的なマウスボタンは2つですが、同時押し(コード)を多用する
ので、事実上3つボタンとして機能していました。
DWIM(Do What I Mean)は、身近なところではbashやemacsなどの補完機能や
可能性のある候補の提示を意味します。そもそもINTERLISPで開発されたもの
なのでオブジェクト指向に固有の機能ではありません。
# WDIMは無理だよね、というジョークがあります。
0672デフォルトの名無しさん
NGNG0673デフォルトの名無しさん
NGNG0674デフォルトの名無しさん
NGNGSmalltalk イディオム 第5章 描画
http://www.sra.co.jp/people/aoki/SmalltalkIdioms/chapter5/chapter5.htm
を参照して下さい。
0675デフォルトの名無しさん
NGNGhttp://www.sra.co.jp/people/kondo/business/VW/Basic/1-5/1-5.html#anchor1395656
0677デフォルトの名無しさん
NGNGselectors というのはインスタンスメソッドのリストでいいんでしょうか?
ついでに、この selectors というメソッドがどのクラスで定義されているのか smalltalk のコードで調べられますか?
「smalltalk クラスメソッド インスタンスメソッド」で検索してもクラスメソッドとは。のような内容の文章しか見つからないのです。
どなたかお願いします。
0678デフォルトの名無しさん
NGNG継承を遡って、応答できるメソッドを全て調べられるallSelectorsの方が
ふさわしい場合もあるから気をつけてね。
次に、一般に、xxxという名前のメソッドの定義を調べたければ、
"Implementors Of"という機能を使えばいいです。これがどこにあるかは
処理系依存ですが、メニューのどこかに必ずあります。
VWだったらラウンチャーのBrowseメニューあたりかな。
で、selectorsやallSelectorをあるクラスCに送ると、返ってくるのは
Cのインスタンスメソッドです。で、Cのクラスメソッドがほしければ、
Cのクラスメソッド = 『C class』のインスタンスメソッド
なので、C class allSelectorsなどとやればいいというわけ。
0680デフォルトの名無しさん
NGNG世の中にはインスタンスメソッドしかないという考え方もできますね。
つまり、クラスの持っているメソッドはそのインスタンスが解釈できるメソッドで、
メタクラスの持っているメソッドもそのインスタンス(つまりクラス)が解釈できる
メソッドです。後者を便宜上クラスメソッドと呼んでいるだけで。
0681デフォルトの名無しさん
NGNGではどうすればいいのでしょうか?メソッド用意されてますよね?
メソッド名 sort で探してみたのですがどうにも・・・
よろしくお願いします。
0682デフォルトの名無しさん
NGNG> anArray asSortedCollection のようにソートをすると遅いらしいのですが、
どのくらい遅かったの?
0683デフォルトの名無しさん
NGNG0684デフォルトの名無しさん
NGNGArrayのつもりで操作してたのが、いつのまにか
(anArray asSortedCollectionで返ってきた)SortedCollectionへの
操作にすり替わってたのを遅いと勘違いしたとか?
SortedCollectionはOrderedCollectionの一種だから、
追加削除なしに普通の参照だけだとArrayより遅いでしょ。
ソート自体が遅かったんじゃなくて、SortedCollectionに
置き換わったためにその後の操作が遅くなったって話は
ありそうじゃないかな。
0685デフォルトの名無しさん
NGNGがすべてを物語っているな。
Perlとかのスレでも、「変数への代入は減らしたほうがいいですか」とか
「local より my の方が早いらしいのですが」とか、聞きかじりを鵜呑みに
する人が多い。
0686デフォルトの名無しさん
NGNGObject new ができてしまうのですが、これは一体どうなっているのでしょうか?
Object クラスなのでもちろん継承しているメソッドをすべて表示してもやはり new メソッドはないです。
ご存知の方お願いします。
0687デフォルトの名無しさん
NGNGうメタクラスのインスタンスでもあるわけです。
そこで、Object class allSuperclassesを評価してスーパークラス階層を調べる
と、 Behaviorクラスが見つかり、その「インスタンスメソッド」にnewがあります。
お手軽には、ブラウザでObjectクラスを選び、class側に切り替えて、クラスペイ
ンの黄ボタンメニューから「show hierarchy」してみてください。
このあたりは、Smalltalkをある側面から見たときに一番面白いところなので、が
んばってください。
0688686
NGNGInteger superclass = Number
Integer class superclass = Number class
であるところが、トップである Object の場合は
Object superclass = nil
Object class superclass = Class
のようになるんですね。で辿っていくと
Object > Behavior > ClassDescription > Class > Object class
で、Object は Object class のインスタンス・・・
親クラスが子クラスのインスタンス・・・・
なんのことだかよくわかりません。どなたか助けてください orz
0689デフォルトの名無しさん
NGNG考えるよう頭を切り換えるとよいかもしれません。そうすると、
親クラスのメソッドを子クラスが持っていても(たまたまそういった
役回りになっただけで)不思議はないかな、と。
さらに混乱させるようでいけないのですが、クラスとインスタンスの関係を
産み、産まれの関係で捉えてしまうと、Metaclass と Metaclass class
の関係はもっとシュールです。w
0690デフォルトの名無しさん
NGNGなぜかオブジェクト世界の一部に間借りしちゃってるところが混乱の元だよね。
0691デフォルトの名無しさん
NGNGProtoObjectが出ていないところを見ると、お使いの環境はSqueakではないですね。
でも、このあたりはどれも大きな違いは無いので梅澤さんの解説をおすすめします。
http://www.ogis-ri.co.jp/otc/hiroba/technical/Squeak4/S4-5-2.html
メタクラスの説明は上からですが、まずここまでを通して読んだほうがよいでしょう。
http://www.ogis-ri.co.jp/otc/hiroba/technical/Squeak4/index.html
0692デフォルトの名無しさん
NGNG「すべてをオブジェクトとしたのはわざにおぼれすぎ。」
http://nicosia.is.s.u-tokyo.ac.jp/pub/essay/hagiya/7bits/koukogaku
0693デフォルトの名無しさん
NGNGそのエッセイ、かなり同感できますね。
俺的には、「すべてをオブジェクトとしたのは独善的」といったところか。
0694686
NGNGこの Class というクラスがインスタンスをもたない抽象クラスってところが肝なんですかね。
ただのメタクラスのまとめ役というか。
http://www.ogis-ri.co.jp/otc/hiroba/technical/Squeak4/S4-5-4_1.html
で、
>Objectが二箇所で出てきますが、実際には同一のものになり、全てがObjectからはじまる世界が構築されたことになります。
とすらっと書いているのですが、この Object が二箇所でてくるというところが、不可思議なところなんですよね。
そういうものだと思うしかないのかな。
もう一度熟読してみます。ありがとうございました。
0695デフォルトの名無しさん
NGNG(superclass<-subclass)
A >> write
Transcript cr; show:'A'.
B >> write
Transcript cr; show:'B'
B >> message1
super write
B >> message2
self write
C >> write
Transcript cr; show: 'C'
ということで、次の式を実行するとどうなる?
C new message1
C new message2
0696デフォルトの名無しさん
NGNGどこのガッコの宿題?
0697デフォルトの名無しさん
NGNGA
C
になった。
0698デフォルトの名無しさん
NGNGたくさんあって理由もそれぞれ異なるんでしょうけど、どういうことなのかよくわからないです。
よろしくお願いします。
0699デフォルトの名無しさん
NGNGそれぞれ異なるかも知れないなら、実例を挙げてみては。
0700698
NGNG環境が VisualWorks なので Squeak にもあるのかわかりません。
0701デフォルトの名無しさん
NGNG分類
0702698
NGNG例えば Collection から Sequenceable なのとそうでないものに分類するというのとは意味が違うのでしょうか?
0703デフォルトの名無しさん
NGNG止まってるので、詳しくないながらもコメント。
一般的にエラーとか例外処理の場合、エラーの種類と内容を表現するオブジェ
クトを定義して、それをパラメータとして発信するという手法がとられます。
システムにもよりますが、エラーの情報だけを伝えるという役割から振舞いを
まったく持たないこともあります。
InformationSignalはクラスコメントに "backward compatibility" とある
ように、Exception subclass: #Notification が現役のクラスです。
Application Developer's Guide (= vwadg.pdf)の Exception and Error
Handling のあたりを読んでみると分かりますが、VW3.0の時点で、それまでの
VW2.xまでのSignalという方式からANSI Smalltalkの規格に準拠したException
方式に切り替わっています。
OSErrorHandlerのほうは自分もよく分っていません。各OS固有のエラーに関わっ
ているようなので、かなり下層の部分なのでしょうね。
例外処理はプログラムの制御構造にも関わってくる特別な機構なので、普通の
オブジェクトとは扱いが違うのだと思います。まずはExceptionの使い方を先
に理解することにして、中の仕組みの追及はその後ということにしてはどうで
しょうか。
0704デフォルトの名無しさん
NGNGApplication Developer's Guide (= vwadg.pdf)は、VWNC30-c.ZIPに含まれています。
かなりのボリュームで、VisualWorks上でできることのひととおりが記述されています。
0705デフォルトの名無しさん
NGNG0706デフォルトの名無しさん
NGNGが false になるのはなぜですか?
0707デフォルトの名無しさん
NGNGSet>>#= を調べると、Object>>#== で判断していることが分かります。
このメソッドはオブジェクトのobject pointerが等しいかどうか、
つまり同一オブジェクトかどうかを判定します。
また、(Set withAll: #(3 1 4 1 5 9)) と (Set withAll: #(3 1 4 5 9))
の両方をinspectしてみると、内部の状態も微妙に異っています。
これは Set class>>withAll:を調べてみると理由がなんとなく分かります。
0708デフォルトの名無しさん
NGNG0710デフォルトの名無しさん
NGNGmethod を作るときに適当(でたらめ)に protocol を作ってはだめなんでしょうか?
あと smalltalk には continue または next のような method はないですよね? do: ブロックの先頭に戻るような。
0711デフォルトの名無しさん
NGNG既存のクラスを参考にして、しっかりと憑けておこう。
Squeakではアホが多いから、as yet unclassifiedが異様に多いが。
0712デフォルトの名無しさん
NGNG110450.2d - 110351
--> 99.199999999997d
???
0713デフォルトの名無しさん
NGNG0715デフォルトの名無しさん
NGNGObject withAllSubclasses select: [:each | each selectors isEmpty and: [each class organization categories = #(#private)] ].
→ OrderedCollection (TextInsertionPoint DefaultLookInsertionPoint MotifInsertionPoint)
これらのクラスってどのように使われることを想定しているんでしょうか?上は VW7.2.1 です。
0716デフォルトの名無しさん
NGNG> あと smalltalk には continue または next のような method はないですよね?
> do: ブロックの先頭に戻るような。
確かにないのかもしれませんが、それは「ないからあきらめなさい」というこ
とではなく下記のように「必要に応じて作ってくださいね」ということだと思っ
てください。
[SML 4095] 非局所脱出in BlockClosure
ttp://www.akademia.co.jp/Smalltalk/SML/archives/SRA.archives/2000-March/004095.html
0717デフォルトの名無しさん
NGNG0718デフォルトの名無しさん
NGNGcontinueが必要になるような長ったらしいメソッドはSmalltalk的じゃない、
ということもあると思われ。
0719716
NGNGnext/continueは構造を単純化すれば if-then-else の else の枝が
空っぽになってる形だから、then の枝を composed method pattern(*) で
十分に小さくすれば、ifTrue: に数行のブロックという感じのコードに落着きますね。
* 「Smalltalkベストプラクティス・パターン」参照
0720デフォルトの名無しさん
NGNGあるクラスを見つけて、これは何に、どんな風につかうんだろう、と思ったら
そのクラスの References (ブラウザからクラス名を右クリックしてメニューの二番目)
で他のソースコードからクラス名で呼んでいる個所が分かる。
TextInsertionPoint の場合は WidgetPolicy>>nativeInsertionPointmanager という
メソッド。
そしてメソッドの使われかたも、メソッドの Senders (ブラウザのメソッド名を
右クリックしてメニューの一番目)で、メソッドを呼んでいる個所を検索。
というわけで、○○InsertionPointは、ComposedTextViewやTextEditorViewの中で
表示されるキャレットの見た目の違いを表現しているような希ガス。
0721715
NGNGなんか結局 private プロトコルなのに普通にクラスメソッド的に使っているみたいですね。
なんのために private プロトコルにメソッドを書いたのか意味がわかりません。
ありがとうございました。
0722デフォルトの名無しさん
NGNG0723デフォルトの名無しさん
NGNGcincomくらいしか接続先が出てきませんよね。
Storeのサーバーって自前で建てられないんでしょうか。
0724デフォルトの名無しさん
NGNG0725デフォルトの名無しさん
NGNGSourceCodeMgmtGuide.pdf読んだ?
"Store is a source code management and versioning system that is
integrated into the VisualWorks environment."
って書いてあるよ。
0727デフォルトの名無しさん
NGNGttp://www.penissizedebate.com/
0728デフォルトの名無しさん
NGNG0729デフォルトの名無しさん
NGNG0730デフォルトの名無しさん
NGNGSqueakのScamperってブラウザで日本語扱うのは遠い道のりですか?
0731デフォルトの名無しさん
NGNGよくあんな体力あるよね
関心するわ
0732デフォルトの名無しさん
NGNG3分くらいかな。
http://www.languagegame.org:8080/propella/91
0733デフォルトの名無しさん
NGNGhttp://www.squeakland.org/ で配布しているもの(Plug-In)がありますが、
DLLやOCX以外の本体としては、具体的に何が違うのでしょうか。
私がsqueaklandから取得したSqueak(Plug-In)で作成したアプレットが、
知人のSqueakで動作しない(ロード時にエラーが出る)ようそうす。
VMのバージョンは一緒なので、Imageファイルが違うようなのですが…
http://www.squeak.org/ から取得したSqueakで作成すると、
Squeak Plug-Inでは実行できないってことになりますか?
0734デフォルトの名無しさん
NGNG0735デフォルトの名無しさん
NGNG0736デフォルトの名無しさん
NGNG何も情報出さないくせにキチガイなレスだな。
0737デフォルトの名無しさん
NGNG0738デフォルトの名無しさん
NGNG0739デフォルトの名無しさん
NGNGおお。beta2、でたんですか。すばらしい。
0740渡邊克宏
NGNG返事に1年もかかってすみません。
>>655
ちょっと説明が冗長で読みにくかったりしたらごめんなさい。
メモリ管理の話は元々複雑だし、あと覚えていることを忘れないうちに
ここにメモして誰かに渡しておこうと思ったんです。
> Smalltalkに惹きつけるものは何ですか?
Smalltalkはちょっと置いておいて、メモリ管理には確かに強く惹かれます。
メモリ管理の振る舞いって、技術者の直観や常識や見通しを裏切ることが
多くないですかね。Smalltalkに限らずGC一般にそうで、UNIXでいう
mallocなどもそんな気がします。
実際私は、何度も何度も何度も間違って、本当に痛い目を見ました。
だから、メモリ管理にはいつか大きな仕返しをしてコテンパンに伸してやろう、
という劣等感があるんです。
0741渡邊克宏
NGNGVW限定の話として:
Signalをraiseして適当にExceptionをhandleするだけでbreakは簡単にできます。
表現も、「break」の一言では済まないものの簡潔に収まり、
コード上の見通しは悪くならないというのが私の実感です。
ループのnextやcontinueも、Signalの応用で可能だと思います。
だって、Smalltalkではブロック(ループ1回分)は1st class objectで、
しかもブロック途中からの退出(break)が上で述べたように可能なんですから。
もしかしたら、exceptionに対してredoとかすれば済む場合もあるかも。
ただ、Signal回りはVW3,VW5,VW7の間で「正式な」コーディング方法が
変化したはずです。互換性は保つようにはなっていますが。
(この変化はANSI標準の動向などの影響を受けたからだった気がします。)
いまVWを使ってる方、実例コードをよろしく...
0742デフォルトの名無しさん
NGNG画面を右クリックでWorKSpaceかexcelで一覧枠の内容を表示させる事が出来ますが、
画面上の項目のラベルの日付が1/15に対してexcelに吐き出される内容が2005/01/15と出力されてしまいます。
どちらも同じにしたいですがどうすれば良いのでしょうか・・・。
そもそもexcelに吐き出される処理の部分が分からなく、excelに吐き出される所の処理を理解しなくてはいけないですが
どうすれば良いのでしょうか・・・
0743オサン
05/03/18 08:49:06よさそうな本ですね。
0744デフォルトの名無しさん
05/03/20 00:24:49読むだけじゃダメです
0745デフォルトの名無しさん
2005/03/28(月) 12:03:24これは仕様ですかぁ?
0746デフォルトの名無しさん
2005/03/28(月) 16:24:00最近のvwはイベント処理回りがへんな気が酢
0747デフォルトの名無しさん
2005/03/28(月) 17:54:43いや、UIがダメなのは昔からか。
0748デフォルトの名無しさん
2005/04/03(日) 00:16:22どうすればエラーを起こせるのでしたっけ?
0749デフォルトの名無しさん
2005/04/03(日) 02:22:58そのマンマのことを書くのじゃだめなの?
つまり、newクラスメソッドにエラー(適当な
シグナル)を起こすコード書けばいいんでは?
0750デフォルトの名無しさん
2005/04/03(日) 11:47:22みたいなダイアログを出したいのですけど、
自分で新しいシグナルを定義してエラーその
旨表示されるダイアログを出す、という
コードを書かねばならない、ということですか。
self に errorSignal を送るだけだと、
一般的なメッセージなので、ユーザ(自分だけど)
に何がいけないのか注意を喚起できないです。
0751デフォルトの名無しさん
2005/04/03(日) 12:36:45いるのですが、VBみたいに、初心者でもサクッと
ウィンドウを使ったアプリがつくれますか。
0752デフォルトの名無しさん
2005/04/03(日) 12:41:55そのためにObjectにshouldNotImplementがあるんじゃないの?
つか使うべきじゃないぞ〜って意思表示じゃないのか?
0753750
2005/04/03(日) 14:39:45を変えられることを発見。Objectの shoudNotImplement
メッセージをみたら書いてあった。 >>752 ありがとね。
0754デフォルトの名無しさん
2005/04/03(日) 19:18:48オレもそれ知りたい!
0755デフォルトの名無しさん
2005/04/04(月) 21:55:080756デフォルトの名無しさん
2005/04/05(火) 00:03:29英文、というより英単語の語彙が豊富であれば、あなたの問いの答えは真です。
そうでない場合はjavaやC#とあんまり変わらないと思うのです。
(コードとコメントから得る知識 VS ネットや書籍から得る知識の違いなだけ)
0757751
2005/04/05(火) 01:38:32サクッと作れるのは、モーフで作る、ということですか。
つまり、英文が読めればモーフの資料が読める。モーフは
VBなみに簡単だ。だから、初心者でも(英文が読めれば)
サクッとモーフでウィンドウアプリがつくれるよ、という
解釈でよろしいですか?
0758751
2005/04/05(火) 01:55:310759デフォルトの名無しさん
2005/04/05(火) 11:07:43読めばわかるから読んでみなさいな、メソッドの分類なんかでexampleとかもあるから
あとsmalltalkの特徴でメソッド呼び出しが英文の読みに近いので、よくできたクラスほど
きれいに読み下しができたりします。
習うよりなれろを体感できる珍しい言語環境の一つだと思う。
0760オサン
2005/04/06(水) 01:32:34これから読むところ。
MAC,DOS/V,98でSmalltalk/VちょこっとやったけどSQUEAKもいいですね。
SQUEAKもMACV,WIN,ザウルスでやってみました。
ザウルス版は固まってしょうがなかったです。
やったといっても動作環境を作った程度のことですけどね。
ちなみに素人です。
OOPSやSmalltalkの概念程度はわかってますが。
98でSmalltalk/Vやった16年ほど前はオブジェクトにメソッドを送るとかってのが
身に付くまでに1,2週間かかりました。
0761デフォルトの名無しさん
2005/04/06(水) 16:33:35そういう用途ならVisualWorksでキャンバスツールを使ったほうが良いです。
0763デフォルトの名無しさん
2005/04/07(木) 10:31:52デフォルトだと小さいです。英語だし。
0764デフォルトの名無しさん
2005/04/07(木) 13:12:550765デフォルトの名無しさん
2005/04/08(金) 00:40:200766デフォルトの名無しさん
2005/04/10(日) 01:19:470767デフォルトの名無しさん
2005/04/10(日) 14:48:540768デフォルトの名無しさん
2005/04/14(木) 01:41:59どうしたらいいのですか。borderColorが #raisedとかなっていて
メニューから色を変えても、この変数にはシンボルが設定されたまま
なので、コード中からどこを変えればいいかわからないです。
0769デフォルトの名無しさん
2005/04/14(木) 19:30:33どっかに資料ないですか?
0770デフォルトの名無しさん
2005/04/14(木) 19:33:59You can browse your system.
0771デフォルトの名無しさん
2005/04/14(木) 19:38:380772デフォルトの名無しさん
2005/04/14(木) 20:16:42exampleとかに分類されているメソッドがあればクラスの使い方までかいてあるやんか〜。
#やらねばならない状態であればやれ、
#そうでないなら楽しんでやれ。
0773デフォルトの名無しさん
2005/04/14(木) 20:43:120774デフォルトの名無しさん
2005/04/14(木) 20:49:030775デフォルトの名無しさん
2005/04/14(木) 21:02:310776デフォルトの名無しさん
2005/04/21(木) 19:35:56タイルプログラミングくらいを中心に書いた
ドキュメントってありませんでしょうか。
「Squeakで遊ぼう」は面白くてためになりましたが、
もう少し複雑なことをやってみたいのです。
「プログラミング自由自在」みたいに
自分でクラスを書く程でもないんですよ。
SqueakLandのキッズプレイじゃ、物足りないし…
Classic Gamesは、どこにコードが書いてあるか分からないし・・・
0777デフォルトの名無しさん
2005/04/21(木) 20:04:410778デフォルトの名無しさん
2005/04/24(日) 15:47:46http://metatoys.org/etoysMania/
0779デフォルトの名無しさん
2005/04/27(水) 13:39:23super isNilをprint itするとfalseを返すのはおかしい orz
0780デフォルトの名無しさん
2005/04/27(水) 14:14:03どうしておかしい?
superはスーパークラスを指す(疑似)変数じゃないよ。
0781デフォルトの名無しさん
2005/04/27(水) 14:31:510782デフォルトの名無しさん
2005/04/27(水) 14:42:04(new Object) super
を eval it 汁
0783ボケナス782
2005/04/27(水) 14:46:44nil、true、false、super、thisContext は、
メソッド内でのみ有効な擬似変数っすね。
0785デフォルトの名無しさん
2005/04/27(水) 15:52:27メソッドというワケですか (?_?)
0786デフォルトの名無しさん
2005/04/27(水) 16:08:13文法の問題。
superが nil だから isNil が true になるだろう、という予測を検証するなら、
(super) isNil とするべき。
0787デフォルトの名無しさん
2005/04/27(水) 17:57:00そもそもワークスペースのdo itとかどういう仕組みなのですか?
selfがnilだからといって、nilのメソッドとして実行しているわけでも
なさそうだし。
0788デフォルトの名無しさん
2005/04/27(水) 19:06:28つまり、nil (super isNil)というわけですね。
わかりました。
0789デフォルトの名無しさん
2005/04/27(水) 19:30:20super は self と同じオブジェクトを指すが、メソッド探索の際には self class
にあるメソッドは検索対象にならない
を素直に適用すると、
・isNil は nil class で true と定義されているため、printIt が式を評価する
際にはsuper isNil は true にならない。
・printIt が評価結果を表示する際には、評価したときとは異なるコンテキストで
asString が実行されるため、super を printIt すると nil になる。
ということのような気がする。
nil super asString を printIt すれば解りやすいような。。。
0790デフォルトの名無しさん
2005/04/27(水) 20:29:52使えない。Squeak3.7-5989-full.imageはWorkspaceは使えるが
UMLはない。
0791デフォルトの名無しさん
2005/04/27(水) 22:23:050792デフォルトの名無しさん
2005/04/28(木) 08:03:13以下の3つをprint itしてみな。
self == super
self isNil
super isNil
0793デフォルトの名無しさん
2005/04/28(木) 12:07:04self isNil "true"
super isNil "false"
やっぱり、おかしい orz
0794デフォルトの名無しさん
2005/04/28(木) 12:11:18おかしくないと思うけど・・・
3行目の isNil は nil の isNil じゃなくて、
nilのスーパークラスのisNilが呼ばれる、
って解ってますよね?
0795デフォルトの名無しさん
2005/04/28(木) 20:59:34これがわからないということは、Smalltalkを理解
出来ていないということだ。
0796デフォルトの名無しさん
2005/04/28(木) 21:52:470797デフォルトの名無しさん
2005/04/28(木) 21:54:05さいきんSmalltalk触ってないから、FAQネタとは気づかなかったよw
0798デフォルトの名無しさん
2005/05/04(水) 04:22:21動きをします。どこをどう直したらいいか誰か教えて下さい。
0799ノーティファイア
2005/05/04(水) 22:49:522ちゃんねるのデバッガはなかなか開かないので
気長に待つしかないでしょう。
ちなみに FreeCell のルールを知らない私が
そのトランプを一枚一枚 haloをつかって
ゴミ箱へ飛ばして楽しんでいたのは公然の秘密です。
そんな私には、システムブラウザをつかって FreeCell クラス
(FreeCellBoard、FreeCellStatistics もかな?)
を探ってみたら、くらいのことしかアドバイスできません。
ごめんなさい。
0800798
2005/05/05(木) 04:43:39>トランプを一枚一枚 haloをつかってゴミ箱へ飛ばして
やってみましたが判りませんでした。
>システムブラウザをつかって FreeCell クラス
>(FreeCellBoard、FreeCellStatistics もかな?)
>を探ってみたら
ざっと見てみましたがどうも判りません。メソッド名からだけでは
判らないものなのでしょうか。
0801デフォルトの名無しさん
2005/05/05(木) 06:02:300802デフォルトの名無しさん
2005/05/10(火) 13:14:110803デフォルトの名無しさん
2005/05/11(水) 13:09:06変数はオブジェクトではないというのはおかしい orz
0804デフォルトの名無しさん
2005/05/11(水) 13:12:490805デフォルトの名無しさん
2005/05/11(水) 13:37:31メッセージは(#doesNotUnderstand: 起動時とか例外を除いて)原則として
エンティティではなかったような。でも変数がオブジェクトだと便利なことも
あるよね。variable++ の実装とか。
0806デフォルトの名無しさん
2005/05/11(水) 19:19:47メッセージ・ディクショナリーとかいう名前の辞書 (hashtable)のキー(識別子)じゃなかったっけ?
Smalltalk/Vの記憶しかないけどw
すると、変数がオブジェクトじゃないつうのは、
辞書のエントリ (key, value)ペアは、明示的にはオブジェクトとして扱えない (VMコードレベルのプリミティブ)
つう話かな。
0807デフォルトの名無しさん
2005/05/11(水) 19:21:49変数名は識別子・・・非オブジェクト
変数値はオブジェクト
コード中の変数実体 (辞書のエントリー)は、
バイトコード・レベルのプリミティブ or オブジェクト
0808デフォルトの名無しさん
2005/05/11(水) 20:11:29よく勘違いしている教科書もあるけど、セレクタはメッセージじゃないよ。
(単項の場合、字面のうえではたまたま一致してまぎらわしいけど)
アラン・ケイの定義では、メッセージはセレクタとパラメータの組、とか。
0809デフォルトの名無しさん
2005/05/11(水) 20:19:450810デフォルトの名無しさん
2005/05/11(水) 20:19:48変数も構文ノードとしてオブジェクトになってる。
構文的にはCで言う「++」みたいのは、「←」(または:=)と同じレベルにあるから
コンパイラに手を入れて、必要なコードを吐くようにすれば?
例えば「a += b + c++」みたいのは(a ← a + (b + (c ←c + 1)))として
コードを生成すればいいでしょ。
>>808
VisualWorksではレシーバ、メッセージセレクタ、パラメータの組だね。
0811デフォルトの名無しさん
2005/05/11(水) 20:26:19お詳しそうなので、もうちょっと詳しく聞かせて下さい。
構文ノードとしてのオブジェクトというのは、
常に常駐している類のものなのでしょうか?
コンパイル時には当然なんらかの構文データ構造(オブジェクト)は必要として、
それ以外の時も、常駐 あるいは byte codeから再生される、って感じでしょうか?
0812デフォルトの名無しさん
2005/05/11(水) 20:28:33byte codeをオブジェクトで表現したものかなぁ、と理解したいのですがw
0813デフォルトの名無しさん
2005/05/11(水) 20:31:380814デフォルトの名無しさん
2005/05/11(水) 20:52:01って解釈でおっけっすね。
0815デフォルトの名無しさん
2005/05/12(木) 00:36:48まずはCompiledMethodまわりでも眺めとけ。
0816デフォルトの名無しさん
2005/05/12(木) 19:06:29不可逆変換だから。
> 実行時の変数は、オブジェクトとして取り出し可能なバイトコード
って意味不明だけど。
バイトコード上ローカル変数へのアクセスは store local 0 とか push local 0 ; pop
とかになってる。ローカル変数が参照するオブジェクトならともかくローカル変数
*そのもの* をオブジェクトとして取り出すことはできない。
MethodContextあたりを調べればこのへんの仕組みは分るはず。
0817デフォルトの名無しさん
2005/05/12(木) 19:42:36コンパイルの構文解析時限定じゃないすか。
俺は reflectionでbytecode調べる(HORBが使ってた方法、ただしローカル変数はできない)かとオモタよ
0818デフォルトの名無しさん
2005/05/12(木) 20:15:50> じゃ、変数としてのオブジェクトというのは、
> コンパイルの構文解析時限定じゃないすか。
だから>>810には「コンパイラに手を入れて」と書いてあるじゃん。。。
0819デフォルトの名無しさん
2005/05/13(金) 10:04:43そこがはっきりしないから、本人の質問も周囲の回答も
的を外しっぱなしのような希ガス。
0820デフォルトの名無しさん
2005/05/13(金) 10:28:210821デフォルトの名無しさん
2005/05/13(金) 12:14:10ポインタを渡せるように関数定義しますが、スマートにこれをSmalltalkで
どのように書きますか?スマートに。
0822デフォルトの名無しさん
2005/05/13(金) 13:17:10ダメだってんなら、君の言う「スマートに」を定義せよ。
0823become:
2005/05/13(金) 13:26:08複数の戻り値が欲しいなら、
・呼ばれた側がコンテナオブジェクトを返す。
・呼ぶ側がコンテナ自体を引数として渡す。
のいずれかでよいでしょう。
私(a Smalltalker)の感覚ではこれで十分スマートなんですが、
>>821さんの基準から観てこれらはスマートでしょうか?
0824デフォルトの名無しさん
2005/05/13(金) 13:39:35これから動的に変数オブジェクトを生成して、渡せばOKと。
でも、これに「:=」は使えませんよね。メッセージじゃないし。
変数には、オブジェクトとしての変数と非オブジェクトとしての変数の
2種類ある、という統一性のなさは、Smalltalkがオブジェクト指向言語と
してはB級品であると orz
0825デフォルトの名無しさん
2005/05/13(金) 13:56:39> 変数には、オブジェクトとしての変数と非オブジェクトとしての変数の
> 2種類ある、
は君の誤解。
0826デフォルトの名無しさん
2005/05/13(金) 14:36:52参照渡しで変数を書き換えさせるのって全然スマートじゃないじゃん。Cに毒されすぎ。
複数の戻り値が必要な場合に一番スマートな方法は多値(multiple value)を返すこと。
CallとReturnのセマンティクスが対称になるからね。
本当の多値を使える言語は少ないけど、配列やリストやタプルを返すことでシミュレート
できる言語は多い。
0827デフォルトの名無しさん
2005/05/13(金) 15:13:59Smalltalkのあらゆる変数(*)は、何でもbindできて常に中身を参照できる普通の変数だよ。
一方で、中身となるもの(言語理論でいうfirst class object)は常にオブジェクト(a Object)。
常に、あらゆる場面でそうでしょ?どうして2種類??
(*)もちろんインスタンス変数、とりわけコレクション(indexable object)の各スロットも。
0828デフォルトの名無しさん
2005/05/13(金) 15:49:09その「環境」の実装が違っているのは当然のことだよな。
>>824はまず、変数と環境の違いと、言語仕様と処理系の実装の違いについて
じっくり考えてみたり文献を調べてみたりしたらどうだろう?
0829デフォルトの名無しさん
2005/05/13(金) 18:16:14↑EngiVariableみたいな変数オブジェクトと変数を使い分けていると、
変数が極めて異質な感じがします。
0830デフォルトの名無しさん
2005/05/13(金) 18:29:140831名無し募集中。。。
2005/05/15(日) 18:36:500832デフォルトの名無しさん
2005/05/15(日) 23:39:415のリンク先をたどりたまへ
0833名無し募集中。。。
2005/05/17(火) 02:02:33ありがとうございます!
いっぱいあるんですね
わたくし回線がナローなのでついついネットサーフするのがおっくうになってまして失礼いたしまひた
昔MacでSmallTalk/Vとか買ってLogoもどきつくったり絵を描かせたりして遊んだものです
思い余って肌色に紫色の英文の本かったりして
今はVBは仕事で、javaは遊びで触ったりするんですが、
昔遊んだSmallTalkの感覚はいまだに独特な雰囲気があって
またいじり倒したくなったのです
普通の演算子までがオブジェクトになってるなんて、ソース見ながら感動したもんでした
そのころのMacも非力なもので絵とか描かすと(マンデルブロとかフラクタルとかあのへんが好きだったのです)
すっごい時間がかかって、、
さぞや今なら、、、なんて思ってます
ログ読んで
じゅんオールインワン
http://www.sra.co.jp/people/aoki/Jun/JunAllInOne/
とかいいのかなと思ったり
あと、これはここがいい!見たいなまとめサイトがないかなと思ったり
おっと、もうこんな時間だ
0834798
2005/05/17(火) 04:14:45>MacでSmallTalk/V
縦スクロールバーをクリックした時の動きが少しおかしかった
でしょう。直しましたか。
0835名無し募集中。。。
2005/05/17(火) 23:30:26たぶん、、、もう10年以上前なのであまり覚えてない
すいません
マニュアルもなにもかも英語だったけどSmallTalkの面白さは十分感じた
ただし、MacのLC改だったのですんごく遅かった
でも、そのへんソース自分でいじれたのもある意味すごいですよね
とりあえず、じゅんオールインワン 落としてみました
いじって遊ぶのは休みの日かな
0836デフォルトの名無しさん
2005/05/17(火) 23:37:09○ Digitalk Smalltalk
0837デフォルトの名無しさん
2005/05/17(火) 23:50:310838デフォルトの名無しさん
2005/05/18(水) 00:13:400839デフォルトの名無しさん
2005/05/18(水) 00:28:480840デフォルトの名無しさん
2005/05/18(水) 00:32:280841798
2005/05/20(金) 02:06:21>縦スクロールバーをクリックした時の動きが少しおかしかった
VerticalScrollBarPaneクラスのnewTopCorner:メソッドで、
丸めの計算でおかしなことをしていたのを、1/2を足して切り捨てに
直しました。Squeakでは実数で計算していました。>>798の件でも
修正箇所はすぐ判ると思ったのですがまだ判りません。
0842デフォルトの名無しさん
2005/05/20(金) 17:56:520843デフォルトの名無しさん
2005/05/20(金) 20:07:000844デフォルトの名無しさん
2005/05/20(金) 22:20:440845デフォルトの名無しさん
2005/05/20(金) 22:25:26絵的なセンスについてなら同意する。
"自分もUIのセンス無いけどさ
0846デフォルトの名無しさん
2005/05/21(土) 03:42:01SqueakもVisualWorksもUI周りの設計が発酵しているという指摘なら、
全くその通りだと思う。単にウィジットの絵の話なら、勝手に自分で作れ。
0847デフォルトの名無しさん
2005/05/21(土) 19:12:49・OS方面は、LightWeight widget、XMLベースのUIに、Xerox Palcパクリの3DGUI
・Web方面は、まさかのMVC type2と、XMLベースのUI、そして今更感のあるthin client
という流れだったなぁ。>>ここ10年
・・・morphicってSqueak以外に適用した例ないの?
0848デフォルトの名無しさん
2005/05/21(土) 19:23:500849デフォルトの名無しさん
2005/05/21(土) 21:11:450850デフォルトの名無しさん
2005/05/21(土) 23:05:260851デフォルトの名無しさん
2005/05/21(土) 23:21:58Morphicは元々Selfのもんだが…
0852デフォルトの名無しさん
2005/05/21(土) 23:27:460853デフォルトの名無しさん
2005/05/21(土) 23:31:15プロトタイプ・ベース言語 Selfの話はあえてはしょったんだけど
0854デフォルトの名無しさん
2005/05/21(土) 23:38:130855デフォルトの名無しさん
2005/05/21(土) 23:40:030856デフォルトの名無しさん
2005/05/22(日) 03:25:50Newton OS も Morphic っぽかったけど、あれは SELF の流れだからなぁ…。
もし、ウィジェットがいちいちオブジェクトっていう括りでいいんなら、
Mac OS X/Cocoa も、Longhone もそうだから、これからじゃない?
0857デフォルトの名無しさん
2005/05/22(日) 04:01:00たとえばリストビューの各項目やスタティックコントロール上のテキストを
クリップボードかなんかに取り出したい時は、コントロールがオブジェクトに
なってれば便利かもしれない
でもそういうのはセキュリティ考えてなさそうで怖い
0858デフォルトの名無しさん
2005/05/26(木) 18:08:580859訂正
2005/05/26(木) 18:10:29○My Documents
0860デフォルトの名無しさん
2005/05/26(木) 21:33:48> ウィジェットがいちいちオブジェクトっていう括りでいいんなら
?
0861デフォルトの名無しさん
2005/06/03(金) 18:14:47Smalltalkerって、いつもあれをしろ、これをしろって、うるさくてしようがないんですもの。
0862デフォルトの名無しさん
2005/06/03(金) 22:07:240863デフォルトの名無しさん
2005/06/04(土) 19:39:160864デフォルトの名無しさん
2005/06/04(土) 19:50:47ObjectMemory class を探るとよいでしょう
0865デフォルトの名無しさん
2005/06/04(土) 21:10:12それらしいのを見つけることができました。ありがとう。
0866デフォルトの名無しさん
2005/06/05(日) 00:31:540867デフォルトの名無しさん
2005/06/05(日) 09:06:22Smalltalkシステムそれ自体。べただけど、これを越えたものはまだないと思うので。
0868デフォルトの名無しさん
2005/06/05(日) 10:49:59やっぱお遊び、少し研究用言語ですかね・・・。
0869デフォルトの名無しさん
2005/06/05(日) 14:07:38まあ企業向けだから学生は触る機会ないけどね
0870デフォルトの名無しさん
2005/06/07(火) 00:33:34,,,,,,, ノ ヽ,,,,,
'''"""'' ''"""''
-=・=‐, =・=-
"''''" | "''''"
ヽ
^-^
‐-===-
"'''''''"
0871デフォルトの名無しさん
2005/06/09(木) 15:25:080872デフォルトの名無しさん
2005/06/09(木) 21:35:44口ばっかりで、実行力に欠ける人。
0873デフォルトの名無しさん
2005/06/09(木) 23:53:430874デフォルトの名無しさん
2005/06/09(木) 23:54:13北区にある派遣会社社員か。悲惨だなぁ
0875デフォルトの名無しさん
2005/06/09(木) 23:55:23Smalltalk Wikiね。
漏れが初めて見たWikiは、Squeakに入ってるWikiだたーよ
0876デフォルトの名無しさん
2005/06/11(土) 15:48:22Swiki = Squeak + Wiki
0877デフォルトの名無しさん
2005/06/11(土) 22:17:28> 北区にある派遣会社社員か。悲惨だなぁ
これどこ? というかローカルすぎてわからんよ。
0878Omoti輸卒@特殊投機強襲部隊 ◆rzOmotimAo
2005/06/18(土) 22:30:460879デフォルトの名無しさん
2005/06/19(日) 00:55:39Squeakシステムは
0880デフォルトの名無しさん
2005/06/19(日) 22:37:50このスレににもいっぱいいそうだが。
0881デフォルトの名無しさん
2005/06/20(月) 20:15:450882デフォルトの名無しさん
2005/06/20(月) 20:31:250883デフォルトの名無しさん
2005/06/21(火) 03:05:21それもまた言いすぎだろうな。
0884デフォルトの名無しさん
2005/06/21(火) 10:47:580885デフォルトの名無しさん
2005/06/22(水) 00:59:03ttp://headlines.yahoo.co.jp/hl?a=20050621-00000019-imp-sci
「子どもはアーティスト」――アラン・ケイが小学校にやってきた
ttp://www.itmedia.co.jp/news/articles/0506/20/news088.html
アラン・ケイ氏が杉並の小学校を訪問、スクイーク使ったパソコン授業を見学
ttp://bcnranking.jp/event/10-00002735.html
子供にオブジェクト指向教えたところで、何の利点があるんだか良く分か
らない気はする。すっかり下火になったLOGOもそうだけど、なんか理想っぽい
ことを言っていても、別に革命は起こらない、というか。
話題になってないよね、と言うと、882みたいな信者が必死で否定するんだろう
なあ(笑)。
0886デフォルトの名無しさん
2005/06/22(水) 01:10:02PARC を訪ねた Jobs みたいに、何かを発見できる子が居ると良いね。
0887子供
2005/06/22(水) 03:04:250888デフォルトの名無しさん
2005/06/22(水) 05:04:280889デフォルトの名無しさん
2005/06/22(水) 11:44:59通りにコンピュータを使う」であって、オブジェクト指向とかは手段に
すぎないんです。そして、それはPSPで遊ぶ行為とはベクトルが違うのです。
ということを、アラン・ケイは子供たちに教えたいんだと思う。
0890デフォルトの名無しさん
2005/06/22(水) 12:06:30子供の側からしたら、どうでも良い話だが。
0891デフォルトの名無しさん
2005/06/25(土) 18:34:500892デフォルトの名無しさん
2005/06/28(火) 02:42:000893デフォルトの名無しさん
2005/06/28(火) 21:58:390894デフォルトの名無しさん
2005/07/01(金) 09:26:260895デフォルトの名無しさん
2005/07/08(金) 15:30:09せめてstalkとかにすれば良かったのにね。
0896デフォルトの名無しさん
2005/07/08(金) 16:15:50使う人の呼び名が嫌すぎる。
0897デフォルトの名無しさん
2005/07/08(金) 22:37:05徘徊者カコイイ
0898デフォルトの名無しさん
2005/07/09(土) 21:09:370899デフォルトの名無しさん
2005/07/09(土) 21:56:54子供も喜んで取り組むだろうが、いまどきのガキにはなんかめんどくせえ課題を
押し付けられたぐらいにしか感じられないだろうな。
0900デフォルトの名無しさん
2005/07/10(日) 06:02:050901デフォルトの名無しさん
2005/07/13(水) 03:24:25>_
とかプロンプトが表示されてるだけだったりする方が
知的好奇心を煽っていいと思うね
0902デフォルトの名無しさん
2005/07/13(水) 13:51:49GNU Smalltalk とか?
0903デフォルトの名無しさん
2005/07/14(木) 22:02:50開発してたんですか。
Webを探しても断片的な記述しか見かけなくて。
0904デフォルトの名無しさん
2005/07/16(土) 16:58:380905デフォルトの名無しさん
2005/07/16(土) 19:21:32HappySqueaking!!のとおりやってるんですが、 (このページです ttp://www.ogis-ri.co.jp/otc/hiroba/technical/Squeak2/S2-5_1-2.html )
クラスブラウザで右クリックしても"add item..."がありません。
操作(メソッド?)を定義したいのですがどうすればいいんでしょうか?
環境はSqueakNihongo6.1をここ ttp://sumim.no-ip.com:8080/collab/73
上からフラップの再構築までやりました。
以下は右クリックで出てくる項目です。
browser
printOut
fileOut
reorganize
alphabetize
remove empty categories
categorize all uncategorized
new category...
rename...
remove
0906デフォルトの名無しさん
2005/07/16(土) 22:03:31"add item..." は今の "new category..."
0907デフォルトの名無しさん
2005/08/05(金) 17:46:05親モーフが回転している間、サブモーフの座標(値)を取得する方法はないかという質問です。
あるモーフ(モルフ)に別のモーフを埋め込んでサブモーフにして使っています。
細々とした部品郡(20個未満)を、スライダで設定した値に従って動かすのですが、
サブモーフにしておくと、一つ動かせば残りも勝手について来るので便利だからです。
プレイフィールドに埋め込んだモーフは、ワールド内の座標とは別に、
プレイフィールド内に原点をとる相対(?)座標系を持ちます。
しかし、スケッチなどに埋め込んだサブモーフは、親モーフと同じ座標系です。
さて、この親モーフを並行移動する場合はサブモーフの座標も親モーフに追従するのですが、
親モーフを回転をさせると、途端にまったく別の座標系に飛んでしまいます。
表示は問題ないのですが、座標の値を調べると、y座標はワールドのlength、
x座標は親モーフの重心(デフォで回転の中心がある位置)からみたサブモーフのx座標です。
この値は親モーフが回転している間(heading<>0の間)、
サブモーフの位置が動いても一切変化しません。
親モーフのheadingがちょうど0になると、元の座標(値)が復活します。
そんなわけで、親モーフが回転中はサブモーフの座標を取得することが困難になっています。
親モーフが回転中にサブモーフの座標を取得するにはどうしたら良いでしょうか。
ちなみに、親モーフがアロー、ラインの時はまた違った挙動をします。
(親モーフとの相対位置が予測困難ですが、正常に座標値は取得できます)。
0908デフォルトの名無しさん
2005/08/05(金) 20:38:56position を使わずに referencePositionInWorld を使ってみては?
0909デフォルトの名無しさん
2005/08/05(金) 21:04:24ありがとうございます。
referencePositionInWorld ですか。
名前からして確実に取得できそうですね。
そういうのがあることも知りませんでしたが、
少し勉強して試してみることにします。
0910907
2005/08/05(金) 23:05:59インスペクタで見ると、座標系が違うので戸惑いましたが、
referencePositionInWorldで、安定した座標値を得ることができました。
インスペクタを見ていて気が付いたのですが、
モーフを回転すると、サブモーフのオーナーが
a SketchMorph<Sketch>(1696) から a SketchMorph(1696) へと変化しました。
この辺がキーかなと思ってみてみたら、親モーフのオーナーが
TransformationMorph となっていました。これは親モーフを回転したときだけ、そうなります。
Arrow、Lineを回転させてもこのモーフは現れないので、
挙動の違いはこれだと考えています。
普段はタイルプログラミングしかしていないので、
それがどういう意味なのか、まだ理解できていませんが。
0911デフォルトの名無しさん
2005/08/07(日) 00:12:09ちょうどMacOSXのInterfacebuilderみたいなやつ
0912デフォルトの名無しさん
2005/08/17(水) 10:58:10変数に型がないから、JITと相性がよくないような気がするのですが。
0913デフォルトの名無しさん
2005/08/17(水) 13:40:32だいたい、Javaだって強い型を用いるのはコンパイルまでで、VM内では
弱い型しか持っていないぞ。
0914デフォルトの名無しさん
2005/08/17(水) 14:17:14強い/弱いじゃなくて、静的/動的な。
0915デフォルトの名無しさん
2005/08/17(水) 14:35:14たぶん型特定とJITの関係をどうしているのかが知りたいのだと思う。
正直そのシグネチャのメソッドが実装されているかどうかすら怪しい呼び出しがある場合と
確実にその呼び出しが対象となるインスタンスに固有であると言うのを知り得る手段って難し問題だと思う。
0916デフォルトの名無しさん
2005/08/17(水) 16:03:03単一原始命令によるビジーウェイトしないロック
コード書き換えによるメソッド呼出の非仮想化
制御フロー変形による異なるクラス情報の合流の最小化
メモリ保護機能を考慮した冗長NULLポインタチェックの除去
2種類のプロファイラを使った最適化の動的制御
例外の実行時履歴を使った例外処理最適化
データフロー解析
冗長なテストコードの除去
スタック計算方式をレジスタ計算方式に変換
パイプライン性能を発揮させるコードスケジューリング
レジスタ割付によるメモリアクセスの低減
メソッドインライニング
デッドコードエリミネーション
共通部分式の削除
ループバージョニング
仮想関数呼出のバージョニング
定数伝搬
Javaでは↑をしているようですが、Smalltalkではどうなのでしょうか?
0917デフォルトの名無しさん
2005/08/17(水) 23:10:26JIT固有の問題と最適化一般の話と実行環境一般の話が混じってるね。
0918デフォルトの名無しさん
2005/08/25(木) 14:56:46SmalltalkのJIT技術として発表されていたような気がする。
・2種類のプロファイラを使った最適化の動的制御
・パイプライン性能を発揮させるコードスケジューリング
この辺はJavaになってから出てきた技術かな。
どっちにせよかなり枯れた分野だから・・・
0919デフォルトの名無しさん
2005/08/26(金) 02:23:200920デフォルトの名無しさん
2005/08/26(金) 14:43:46大体この手の技術はSmalltalkかLispあたりを探すとオリジンが見つかるパターン多いやね
0921デフォルトの名無しさん
2005/08/26(金) 22:31:13Javaでそういうのが名付けされて有名になってきたのって、
やっぱComonLispやSchemeで有名なGUY L Jr Steeleの功績が大きいのかな。
0922デフォルトの名無しさん
2005/08/26(金) 23:58:000923デフォルトの名無しさん
2005/08/27(土) 00:20:13つーか君ら論文読め、自分の未熟を知るには非常によろしいよ、Guyの論文
0924デフォルトの名無しさん
2005/08/27(土) 02:58:200925デフォルトの名無しさん
2005/08/27(土) 04:03:500926デフォルトの名無しさん
2005/09/08(木) 12:53:530927デフォルトの名無しさん
2005/09/08(木) 13:28:27LispでVMを書いてSmalltalkイメージをロードするとSmalltalkになります。
0928デフォルトの名無しさん
2005/09/09(金) 01:55:41最後の2つは言語自体ではないね。
Lisp - Smalltalk =
マクロ
クロージャ(ANSI Smalltalk にはある / Squeak には無い)
S 式(プログラム=データ)
オプショナルな型付け(Strongtalk は強型付け)
ネイティブコンパイルする実装(Smalltalk はネイティブでも JIT が殆ど?)
草の根実装(組み込みとか小さい実装は Lisp が圧倒的に多い)
0929デフォルトの名無しさん
2005/09/13(火) 16:25:41逆も、知りたいです。
Smalltalk - Lisp =
0930デフォルトの名無しさん
2005/09/13(火) 22:43:260931デフォルトの名無しさん
2005/09/13(火) 23:43:010932デフォルトの名無しさん
2005/09/14(水) 02:57:49GUI(Smalltalk は VM にグラフィック命令があるんだっけ?)
シングルパラダイム(純粋オブジェクト指向)の統一された美しさ
VM の仕様が存在している(Blue Book)
どっちも標準化は ANSI 止まりだね(Scheme は ISO まで)
大きな違いをまとめると↓こんなところかな
マクロの有無
シングルパラダイムかマルチパラダイムか
S 式かメッセージ式か
バイトコンパイルかネイティブコンパイルか
他の言語に比べると共通点の方が圧倒的に多いけど。
0933デフォルトの名無しさん
2005/09/14(水) 10:41:11SmalltalkはVM+Imageでひとつの世界を作っていて単体でOSみたいなもん。
Lispは一般的なOSの中で動く言語/開発環境。
0934デフォルトの名無しさん
2005/09/14(水) 11:01:27では、Smalltalk & Lisp - Java = だと?
0935デフォルトの名無しさん
2005/09/14(水) 12:18:45Lisp も LispM とかは Lisp で閉じた世界だね
0936デフォルトの名無しさん
2005/09/14(水) 22:20:20動的型付け(変数に型が無い)
自由にカスタマイズ可能な環境(snapshot image)
環境にコンパイラが含まれる
--> REPL
--> 差分コンパイル
クロージャ
両方とも、他の言語とは自由度が全然違う。
0937デフォルトの名無しさん
2005/09/16(金) 11:26:57Squeakの中のetoysを置き換える新しい実装
という理解で合ってますか?
あと、Morph自体は変化なし?
0938デフォルトの名無しさん
2005/09/16(金) 17:55:50Morphに置き換わる新しい実装。
タイルスクリプティング環境としてeToys2がTweak上に組まれている。
0939デフォルトの名無しさん
2005/09/16(金) 22:17:29ありがとうございます。
Morphを置き換えるということは、
インスタンス生成のついでにクラスまで動的に作っちゃう
あの気持ち悪い仕様が改善されるんでしょうか?
0940デフォルトの名無しさん
2005/09/17(土) 00:59:12Morphという言葉が指すものについてなんか大きな勘違いをしていないか?
0941デフォルトの名無しさん
2005/09/17(土) 17:10:39Playerの仕組みはスクリプティングだけのためにあるってことですか?
0942938
2005/09/18(日) 07:32:50Morph(Morphic)はいまのSqueakのGUI部分を担当するフレームワークのことか、そのフレームワークを利用してできている画面に自分を表示することのできるオブジェクトを指している。
でもってタイルスクリプティング環境を実現する実装のeToysとは別物ということなんでしょ。
Morphのインスタンスを生成した段階ではPlayerくっついてないしね。
eToys2ではPlayerクラスを動的に作ることはしてないみたいね。
0943まぬけな質問すまん
2005/09/18(日) 14:12:11あるんで教えてくれ
SmalltalkってOSみたいなも、って聞くけど、じゃぁMorphは普通のPCでいうとこの
”シングルウインドウプログラム”みたいなものなのか?
#でもPCで各プロセスが独立したメモリ空間をもってるみたいに
#”シングルウインドウプログラム”毎は互いに独立してるわけじゃないよな??
Squeakのプログラムをつくるってのは一つのimage上でいろんなMorph(アプリ?)を
つくるのが作法なのか?PCがアプリ毎に.exeを作るようにimageをつくるほうがいいのか?
***.imageって”PCをスリープさせたときのメモリの状態”+”HDDのファイル群”を
一つのファイルに書き出したようなものなのか?
言語やライブラリ側は何とかなりそうだけどこの辺りの「コンセプト(?)」がよくわからん・・・
0944デフォルトの名無しさん
2005/09/18(日) 15:36:580945デフォルトの名無しさん
2005/09/18(日) 18:08:50Morphは、君のひとつ上のスレに書いてある通り、自分を画面に表示する機能を持つオブジェクト。
ボタン一個のMorphもあれば、ウィンドウのMorphやデスクトップのMorphもある。
マウスカーソルもMorph。画面上に見えているものがすべてMorphと思ってもいい。
いろいろな大きさのMorphを組み合わせてGUIが作られている。
SqueakのアプリケーションはひとつのImageの中にそれぞれオブジェクトとして存在する。
ひとつのアプリケーションを稼動させるための独立したImageを作成するのは、商用Smalltalkでは
よくある手だけど、Squeakではあまりやらないと思う。
Imageはメモリ上のオブジェクト空間のスナップショット。
Smalltalkはコンパイル前のソースコード以外のリソースをすべてオンメモリで「オブジェクト」
として持つから、「メモリの状態をファイルに書き出したもの」と考えていい。
0946デフォルトの名無しさん
2005/09/29(木) 06:13:45何処にも売ってない....絶版? それとも刷り直し中...
早く買っとけばよかったと後悔してます
....あり得ないとは思うけど, フォント直して改訂してくれて
るんなら嬉しいけど
0947デフォルトの名無しさん
2005/09/29(木) 10:33:58紀伊国屋がいける
ttp://bookweb.kinokuniya.co.jp/guest/cgi-bin/wshosea.cgi?KEYWORD=%53%6D%61%6C%6C%74%61%6C%6B%83%78%83%58%83%67%83%76%83%89%83%4E%83%65%83%42%83%58%81%45%83%70%83%5E%81%5B%83%93+
0948デフォルトの名無しさん
2005/09/29(木) 18:00:58thx
0949デフォルトの名無しさん
2005/10/03(月) 12:23:06青木さんはSqueakが嫌い?
0950デフォルトの名無しさん
2005/10/03(月) 16:43:12やりたがる人がいないだけでは?
0951デフォルトの名無しさん
2005/10/03(月) 21:35:57たりに専念してるような希ガス。Java版への移植は別メンバーがメインでやっ
てるような希ガス。
Smalltalkの違う処理系への移植はやりたい人が好きにやってくれと言外に言っ
ているような希ガス。たけのこもあるし。
ただ誰かがSqueakに移植したとして、それをSqueakの最新版で動き続けるよう
にメンテし続けるのはかなり不毛な作業のような希ガス。
<邪推>
VWで好きにやってもらっていいが成果としてJava版だけは出せというのが会社
からの条件のような希ガス。
</邪推>
0952デフォルトの名無しさん
2005/10/04(火) 13:00:19>にメンテし続けるのはかなり不毛な作業のような希ガス。
需要があれば不毛じゃないんじゃね?
0953デフォルトの名無しさん
2005/10/04(火) 16:02:18Squeakはバージョンごとの変化が大きいからメンテコストかなりかかるよね。オレならやってらんなくなって投げ出すな。
じゅんはものすごく大きいし、今もどんどん実装されてるから追いかけるのも大変よね。
ユーザーとしてじゅんの機能を利用したいのなら無理してSqueakでやらんでも、ちゃんとメンテされてるVisualWorks使えばいいと思うね。
商用でなけりゃタダで使えるものだし。
もし「なんとなく欲しいから、じゅんチームとか誰か暇な人やってくれくれ」と言ってるだけなら、つまらないな。
反論期待。
0954デフォルトの名無しさん
2005/10/04(火) 18:36:020955951
2005/10/05(水) 13:37:29SqueakとVWの違いがかなり大きくなってきていて、Squeakから入った人の中には
「VW版があるのは知っているけど、VW自体どういじるのかよくわからん」
みたいな現象はあるかも知れないけどね。
0956デフォルトの名無しさん
2005/10/05(水) 18:26:42あるかもね。
じゅんオールインワン for VisualWorks 3.x
http://www.sra.co.jp/people/aoki/Jun/JunAllInOne/
なら、Squeakとのギャップはなんとか対応できる範囲かな。
0957デフォルトの名無しさん
2005/10/07(金) 04:43:29Xサーバみたいに外出しできないっすか?
0958952
2005/10/07(金) 10:06:13スマン、同じSmalltalkなんだから、最初がんばって移植しちゃえば
メンテはそんなにむずかしくないんだと思ってた。
じゅんのコードは綺麗だし、Javaに移植した実績もあるんだし。
Squeakってそんなにバージョンごとに変わるの?それだと、もともと
Squeakで動いてるアプリも、ついてくの大変じゃない?
0959デフォルトの名無しさん
2005/10/07(金) 14:16:21外出しではないけれども、同じようなことはできますよ。
ところで、なぜSmalltalkの箱庭環境には全く興味がないのですか?
0960デフォルトの名無しさん
2005/10/07(金) 15:46:050961デフォルトの名無しさん
2005/10/07(金) 15:52:59「Xサーバみたいに外出し」ってどういうイメージ?
0962デフォルトの名無しさん
2005/10/07(金) 16:04:050963デフォルトの名無しさん
2005/10/07(金) 17:53:510964デフォルトの名無しさん
2005/10/07(金) 18:10:13反応しないのが一番
0965デフォルトの名無しさん
2005/10/07(金) 23:03:27バージョンごとに、デフォのイメージに入ってるものですら
どんどん脱落してますよ。
0966デフォルトの名無しさん
2005/10/10(月) 04:04:40965の言うように、Squeakはバージョンごとに結構変わってて
特にGUI関連の変化が大きくてメンテが面倒なんだな。
コアなロジックの部分はがんばって移植しちゃえばその後は難しくないだろうね。
一度やってみたら?
0967デフォルトの名無しさん
2005/10/11(火) 11:13:08直接取り込まれていたけど、だんだん肥大化して管理コストが上がってきて
結局コアイメージと外部パッケージに分ける方向になってきたね。
UNIXとかEmacsとか見てれば、そういう方向に行かざるを得ないって最初から
分かりそうなもんだけど。
0968教えて下さい
2005/10/21(金) 11:17:14基準って何なの?
0969デフォルトの名無しさん
2005/10/21(金) 11:47:36超初心者だったらというか、一番最初のとっかかりとしては...
・普通はインスタンスメソッドを書いとけ。
・例外:オブジェクトの新規作成方法(newメソッド)はクラスメソッドに置け。
余裕があったら、なぜnewはインスタンスメソッドにしないか(できないのか)
考えよ。
これで困る程度に進化したら、また別途勉強すりゃいいよ。
0970教えて下さい
2005/10/21(金) 13:58:45totalCalc
| total |
total:=3+4.
^total.
はクラスメソッドに書かないと出来なかった。
ここがわからない。
newはインスタンスを作るからかなと思うがどうでしょうか。
0971デフォルトの名無しさん
2005/10/21(金) 14:16:48- (Smalltalk では)すべてのオブジェクトはクラスに属する。
- オブジェクトは、それが属するクラスに定義されたメソッドを起動できる。
ここまではオッケー?
0972デフォルトの名無しさん
2005/10/21(金) 14:20:08- (Smalltalk では)クラスもオブジェクト。
つまり(オブジェクトとしての)クラスが属するクラスが存在する…という話。
これも了解済みとしていい?
0973デフォルトの名無しさん
2005/10/21(金) 14:26:04> クラスメソッドに書かないと出来なかった。
クラス名がわからないので仮にCalcという名前だとして、
Calc totalcalc.
--(print it)--> 7
と書いてない?
| aCalc |
aCalc := Calc new.
^aCalc totalCalc.
と書けばインスタンスメソッドにできるはず。
0974教えて下さい
2005/10/21(金) 15:28:11私は973に有るようにCalc totalCalc."print it"にしていました。
| aCalc |のように書けばインスタンスメソッドに出来ました。
これはCalc totalCalcの方はクラスに送っているのでクラスメソッドで
| aCalc |はインスタンスに送っているからインスタンスメソッドに
書くということなんですね。
0975デフォルトの名無しさん
2005/10/21(金) 16:01:440976デフォルトの名無しさん
2005/10/22(土) 14:05:060977デフォルトの名無しさん
2005/10/31(月) 09:00:00単なるファイルへの永続化じゃなくて、VW以外の多種のクライアントが
つなげられるオープンな仕様の貯蔵場所が欲しいときとかさ。
やっぱSmalltalkだからオブジェクト指向DB使うんすか?
それとも、オラクルやPostgreSQLに簡単に(定番慣用コードがあるとかで)
つながるの?
Squeakは良い意味でオモチャだから、imageの外のDBと連係なんて
しないんだろな。←なんて決め付けてええんかw
0978デフォルトの名無しさん
2005/10/31(月) 14:13:50> それとも、オラクルやPostgreSQLに簡単に(定番慣用コードがあるとかで)
> つながるの?
オラクルやPostgreSQLならライブラリが標準でついてくるよ。
0979デフォルトの名無しさん
2005/10/31(月) 15:53:44http://map1.squeakfoundation.org/sm/package/a8d3ca99-f5f4-45e0-9aa7-100a77b64f45
http://map1.squeakfoundation.org/sm/package/231bd227-d947-4118-bce1-bfb8f4649f58
http://map1.squeakfoundation.org/sm/package/984a284f-0029-41a8-aaf1-ad51cefddb9d
http://map1.squeakfoundation.org/sm/package/ba5582d8-4e50-417c-abd1-07dcd5c4d7b2
0980デフォルトの名無しさん
2005/11/01(火) 15:01:34継続してメンテナンスされているのはMySQL Driverだけ
他のは古いしベータ版品質
0981977
2005/11/01(火) 23:15:48マップするのは普通にできるってわけっすね。
そうなると、よくある2chの釣りのネタとして、インピーダンスミスマッチとか、
O/Rマップとかが頭に浮かぶと思うんだ。
で、>>977 の最初の文なんだけど、
VisualWorksやSmalltalkやってる人って実際にはどんなDB使ってるの?
Smalltalkみたいなpureなオブジェクト指向言語使っててもDBはRDBでもオッケイ?
それともやっぱりオブジェクト指向DBを使いたい気持ちになるもんなの?
レス数が950を超えています。1000を超えると書き込みができなくなります。