1 名前:デフォルトの名無しさん mailto:sage [2007/04/08(日) 00:28:26 ] PythonやRubyと言った流行りのオブジェクト指向スクリプト言語や Smalltalkといった、動的型付け言語に於いての デザインパターンについて語るスレです。 ・sage進行 ・荒らしはスルー ・荒らしに反応するのも荒らし 前スレ デザパタ + python pc11.2ch.net/test/read.cgi/tech/1172431242/
55 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 17:43:31 ] もしかして、豆腐も版画も同一人物?
56 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 17:43:50 ] リアルタイムで粘着さんを見るのはなんだか新鮮だった。 ちょっと出かけてくるね。
57 名前:デフォルトの名無しさん [2007/04/11(水) 17:46:45 ] 発狂乙III似非コンサルたん
58 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 17:47:25 ] 真面目にやってるのは Rubyの人たちだけだね…
59 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 17:49:55 ] ここ、なんで荒れてるの? 禁止されている特定の話題や単語には誰も触れていないのに。
60 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 17:58:09 ] デ☆ザ☆パ☆
61 名前:1 mailto:sage [2007/04/11(水) 17:58:33 ] Java関係の話題は、くれぐれも止めてください。 (Java関係者は即刻退去してください) さらに、Cobolの話題も禁止にします。 これは、全スレがJava関係者と思われる豆腐と版画という 人物の罵りあいに終始したためです。 スレタイをよく見てください。 Java関係者は、豆腐であれ版画であれ、それ以外の人物であれ、 出入り禁止です。その点、くれぐれもよろしく。
62 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 18:00:35 ] そもそもMatzはJavaは一切やらない人? Javaに一度でも手を付けた事がある人を全部排除したら、 残りは初心者だけになるんじゃないかな?
63 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 18:02:04 ] Smalltalkerも、ほとんどJava遣いだよな。 すると、Smalltalkも排除? Python遣いだってほとんどの人は 別に母国語みたいなプログラミング言語を持っている。
64 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 18:04:55 ] Javaの人はいりません。ここから退去願います。 いなくても、別に困りません。
65 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 18:06:44 ] すると、SmalltalkerもPython遣いもMatz関係も全部追い出して、 スレを占有しようという魂胆ですね?
66 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 18:07:18 ] スレ占有は削除対象じゃなかったっけ?
67 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 18:11:58 ] Java を使わないPython とRuby とSmalltalk の人が残るでしょう? それだけで十分です。 あと、Javaを一度は使ったけれど、いまは捨てた人もおkでしょうね。 現在、Javaと関わっている人、Javaを評価してる人はお断りです。
68 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 18:12:23 ] なんかちがくね? 誰でも気軽に使えるのが ライトウェイト・ランゲージのメリットなのに、 排除排除で小さくまとまろうとするのは まるでカルト集団の分裂と粛清を見ているかのようだ
69 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 18:13:25 ] 思想信条の自由を受け入れられない集団は やがて自壊する
70 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 18:18:27 ] GuidoはJava評価してるよ。3.0のIOかなんかはJavaの仕様を入れるとかだった。
71 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 18:23:42 ] 良い物は良いと認め、良くないと思う物に対しては率直な意見を述べ、 お互いの考えの違いを尊重しながら歩み寄る。 でも決して、非合理で説明のできない理由で他人や考え方を攻撃しない それこそが大切な姿勢なのだと思うが、どうかな。
72 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 18:32:19 ] どんな理屈をこねても、 前スレや周辺スレの、豆腐 対 版画 の罵り合戦見れば、 なんの説得力もない。 Javaなど興味もないし、どうでもいい。 のんびりと、LL言語のコードの紹介をし合っていけばいいんだよ。 Java関係者は、とにかく消えて。ウザイ。
73 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 18:36:18 ] 私怨で言語ごと嫌いになるのって愚の骨頂
74 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 18:38:59 ] >>73 彼の場合、自分で設計したコードでデスマって以来、 極度のJava嫌いになっている様子だ。 PythonにJavaの特性を求めたりする不可思議行動の原因は、 全てそれ。
75 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 18:42:43 ] まるでytakagiそっくりの駄々っ子だな
76 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 18:42:51 ] >>74 Javaの話題は禁止だぞ。 もし、Javaの関係者なら出ていってくれ。
77 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 18:43:35 ] >>76 自身が一番問題児なんじゃねぇの?
78 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 18:44:46 ] ytakagi本人と見たw
79 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 18:49:44 ] >>78 いいかげんにしろ。 君は、あの馬鹿げた罵り合戦を忘れたのか? Javaなんかに関わりあうからああなるんだ。 LL言語だけでノンビリやろう。 インターネットで捜せば、以外とあちこちにコードはある。
80 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 19:01:02 ] >>79 なかなかしらじらしい奴だな デザパタスレで毎回毎回念仏のような説明を繰り返してるある人物が、 何かが原因で発狂して、相手構わず暴れていた というのがあの事件の真相。 でもそいつの身元は、親切な情報提供によってすでに割れている。 そいつが今更このスレで暴れられる訳がないだろ。
81 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 19:13:46 ] スレタイを見ろ。 Javaが入ってないのは分るよな? こっちも一歩譲ろう。 別なところでどれだけJavaを使っていてもかまわない。 でも、ここでJavaを話題にするな。 これでいいだろ。 ここではLL言語や動的型付け言語のみについて話す。 Javaについて話したいなら、他所でする。(デザパタ本スレもあるんだし) そういうことで。
82 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 19:28:13 ] 誰もJavaの話題になど触れていない。 それにも関わらず、君が独りでヒステリックになっている。 これが現状
83 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 19:44:37 ] > デザパタスレで毎回毎回念仏のような説明を繰り返してるある人物が、 あいつは確かにウザい。 一般的ではない(間違った)独自解釈振り回して 延々と自作自演の議論を展開するし。
84 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 19:53:03 ] Javaの話は止めろ。
85 名前:デフォルトの名無しさん [2007/04/11(水) 19:57:48 ] どうやらこのスレの主は 幻覚を見ているらしい。
86 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 20:00:17 ] Javaの話は別なところでやれ。 デザパタ本スレでやれば、誰も文句は言わない。
87 名前:デフォルトの名無しさん [2007/04/11(水) 20:03:48 ] さっきから見てると キミは、まるで頭のおかしな人のような振る舞いばかりしている。 その原因は何だ?
88 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 20:12:50 ] Javaの人ですか? それなら、豆腐や版画の仲間ですね。 消えてください。
89 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 20:16:39 ] ytakagiってバカなんだな。
90 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 20:16:46 ] キミがおかしくなった原因は何だ?説明してみたまえ。 誰かがキミの抱えている問題を解決してくれるかもしれん。 さあ、心を開いて語ってみそ
91 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 20:18:04 ] Javaの人ですか? それなら、豆腐や版画の仲間ですね。 消えてください。
92 名前:デフォルトの名無しさん [2007/04/11(水) 20:20:25 ] 何が原因でキミは壊れたのか 理由を教えてくれ
93 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 20:24:03 ] お前ら、下らないことやってないで、 コードの一つも書けや。あほくさ。
94 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 20:54:41 ] Javaの人ですか? それなら、豆腐や版画の仲間ですね。 消えてください。
95 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 23:07:32 ] Javaの人ですか? それなら、豆腐や版画の仲間ですね。 消えてください
96 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 23:08:38 ] Javaの人ですか? それなら、豆腐や版画の仲間ですね。 消えてください
97 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 23:50:42 ] >>24 ,25 を Squeak Smalltalk で意訳してみました。#subclassResponsibilityなメソッドが未再定義だと警告。 Trait named: #TShouldBeDefinedAlert TShouldBeDefinedAlert classTrait >> new | shouldBeDefined | shouldBeDefined := (self allSelectors detect: [:sel | (self lookupSelector: sel) messages includes: #subclassResponsibility] ifNone: [^super new]). self error: shouldBeDefined printString, ' should be defined' Object subclass: #AbstractMyClass uses: TShouldBeDefinedAlert AbstractMyClass >> hoge self subclassResponsibility AbstractMyClass >> fuga self subclassResponsibility AbstractMyClass subclass: #MyClass MyClass >> hoge ^#something - - - - - - - - - - - - - - - - - MyClass new "=> Error: #fuga should be defined"
98 名前:デフォルトの名無しさん mailto:sage [2007/04/25(水) 18:13:02 ] Smalltalk使いが実際に来たら停滞したなw
99 名前:デフォルトの名無しさん mailto:sage [2007/04/25(水) 23:37:38 ] 無知で申し訳ないんだけどSmalltalkって どんな分野で使われてる言語なの? デザパタ本ではじめてその存在を知ったんだけど
100 名前:デフォルトの名無しさん mailto:sage [2007/04/26(木) 00:03:35 ] 特に分野は決まっていないよ。最近一番採用されてる例としては OLPC かな。 何でそんな事知りたいの?
101 名前:デフォルトの名無しさん mailto:sage [2007/04/26(木) 00:40:57 ] >>99 よく知らないんだけど、事例集っぽいのをピックアップしてみた。 Squeak Smalltalk (Apple Smalltalkの生き残り) squeakland.jp/school/schoolhome.html www.seaside.st/ dabbledb.com/ www.croquetconsortium.org/index.php/Current_Projects japan.internet.com/webtech/20070314/12.html Cincom Smalltalk (XEROX Smalltalkの生き残り) smalltalk.cincom.jp/scripts/smalltalk.dll/customer/applicationj.ssp smalltalk.cincom.jp/scripts/smalltalk.dll/customer/applicationw.ssp capsctrl.que.jp/kdmsnr/wiki/bliki/?C3 www.whysmalltalk.com/production/ IBM Smalltalk (すでに死亡) www-306.ibm.com/software/awdtools/smalltalk/about/
102 名前:デフォルトの名無しさん mailto:sage [2007/04/26(木) 01:12:39 ] smalltalkつったらここじゃね? www.sra.co.jp/people/aoki/
103 名前:デフォルトの名無しさん [2007/04/26(木) 10:18:18 ] >>99 大体どの分野でも使われてると思うけど、医療事務系とかが多いんじゃね?
104 名前:デフォルトの名無しさん mailto:sage [2007/04/26(木) 11:47:42 ] >>97 の (self lookupSelector: sel) messages includes: #subclassResponsibility は、 (self lookupSelector: sel) isSubclassResponsibility で、おk。
105 名前:デフォルトの名無しさん mailto:sage [2007/04/26(木) 20:11:51 ] >>100-103 ありがとう >>100 オレは組み込み系でCからC++に移行したんだが どうもOOPとかデザパタについてしっくりこないというか、 理解が浅い気がするので、アプローチを変えて動的型づけの言語を 試しにやってみようかと考えてたところ Wikiみたらオブジェクト指向の手本だとか、デザパタの宝庫という 文字をみてちょっと興味を持った。歴史のある言語みたいだね
106 名前:デフォルトの名無しさん mailto:sage [2007/04/26(木) 21:26:49 ] > オレは組み込み系でCからC++に移行したんだが 最近組み込み系の書籍漁りしてる厨房か
107 名前:デフォルトの名無しさん mailto:sage [2007/04/26(木) 23:41:51 ] >>103 もしかして大学病院とか? >>105 IDE の中に OS が入っている様な感覚は、最初は異様に感じるかもしれないね。
108 名前:デフォルトの名無しさん mailto:sage [2007/04/27(金) 02:38:20 ] なんじゃその感覚
109 名前:デフォルトの名無しさん mailto:sage [2007/04/27(金) 05:10:47 ] >>108 Smalltalkのことじゃね? あの言語でインタプリタ単体の環境は俺は聞いたことがない ほとんどはSmalltalk環境自体が一個のシステムって感じ
110 名前:デフォルトの名無しさん mailto:sage [2007/04/28(土) 15:47:47 ] じゃあsmalltalkのx64ネイティブコンパイラとか卒業研究のネタに使えるって事ですか?
111 名前:デフォルトの名無しさん mailto:sage [2007/04/28(土) 16:03:16 ] Smalltalkを指して「IDEの中にOSが入っている」と言うのは また例のバカの妄想だろう
112 名前:デフォルトの名無しさん mailto:sage [2007/04/28(土) 16:04:09 ] 卒研なら大目に見てもらえるんじゃね。
113 名前:デフォルトの名無しさん mailto:sage [2007/04/28(土) 16:05:49 ] 鈴木高弘の発言はいつも知ったか。 恥ずかしくて見てらんない
114 名前:デフォルトの名無しさん mailto:sage [2007/04/28(土) 16:11:43 ] 逆に考えるんだ。 IDEの中にOSが入っているんじゃなくて、 風変わりなOSの試作品を無理矢理IDEっぽく見せて使わせてるんだ。 d.hatena.ne.jp/umeaji/20060721/p1
115 名前:デフォルトの名無しさん mailto:sage [2007/04/28(土) 16:18:26 ] また知ったかか
116 名前:デフォルトの名無しさん mailto:sage [2007/04/28(土) 16:20:07 ] いちいち他人をけなさないと気が済まない奴が居るみたいだなあ... スルー力低過ぎ。
117 名前:デフォルトの名無しさん mailto:sage [2007/04/28(土) 16:23:07 ] だが表舞台には立てない言語 それがスモールトーク そしてそれを愛するスモールとーカーも表舞台には立てない
118 名前:デフォルトの名無しさん mailto:sage [2007/04/28(土) 16:25:43 ] Smalltalk関連の研究と言えば、 1980年代前半ならSmalltalkVMと専用CPUの実装が博士論文になってたな。 1980年代後半だと並列化やマルチパラダイム化 1990年代初頭だとプロトタイプベース・オブジェクト指向言語の実装 1990年代後半だとリファクタリング絡みやアスペクト指向 1990年代後半に入ると、JavaVMが普及してきて、 SmalltalkVMを使う必然性が薄らいできているような気がする。 まあSmalltalk上の資産や蓄積、ノウハウによっぽどの思い入れがあれば、 今でも研究プラットフォームたりえるんだろうけど。
119 名前:デフォルトの名無しさん mailto:sage [2007/04/28(土) 16:27:51 ] なんだ無茶苦茶表舞台に立ってるやん 国内の開発者にヘタレが多いだけじゃないの?
120 名前:デフォルトの名無しさん mailto:sage [2007/04/28(土) 16:29:43 ] どっかのバカが大規模開発なんか始めなければ もっと有意義な成果が出てただろうにね。 大規模開発なんてどうせバカしか集められないんだから 先端技術を使って破綻して迷惑をかけたりせずに 隅っこの方でCOBOLer集めてチマチマやっとけってんだ。
121 名前:デフォルトの名無しさん mailto:sage [2007/04/28(土) 17:31:28 ] 誤解を恐れず言えば、Java も最初は Smalltalk だったんだけどね。 IBM(VisualAge) のも Sun(Strongtalk) のも
122 名前:デフォルトの名無しさん mailto:sage [2007/04/28(土) 17:46:03 ] VisualAgeそのものとJavaは関係ねぇだろ VA自体が元々Smalltalkかなんかで記述されてた という話は聞いた事あるけど。 StrongtalkVMに関しては その技術がJavaVMにも転用されただけじゃないか?
123 名前:デフォルトの名無しさん mailto:sage [2007/04/28(土) 17:54:43 ] 学校の教師
124 名前:デフォルトの名無しさん mailto:sage [2007/04/28(土) 18:25:46 ] 気持ち悪い物体がこびりついているな
125 名前:デフォルトの名無しさん mailto:sage [2007/04/29(日) 01:41:29 ] やめて
126 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 02:50:19 ] ,-、 ,.-、 ./:::::\ /::::::ヽ /::::::::::::;ゝ--──-- 、._/::::::::::::::| /,.-‐''"´ \:::::::::::| / ヽ、::::| / ヽ| l. l .| ● | l , , , ● l ` 、 (__人__丿 、、、 / >>1 糞スレ `ー 、__ / /`'''ー‐‐──‐‐‐┬'''""´ ./ ___ l __ l ./ / |/ | `ー-< / ./ ./ `ー‐--{___/ゝ、,ノ
127 名前:デフォルトの名無しさん mailto:sage [2007/05/10(木) 00:25:54 ] >>25 なんでいちいちclass_variable_get使ってんの? (@@ABSTRACT_METHODS ||= []).concat(names) @@ABSTRACT_METHODS.each でいいじゃん。
128 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 22:43:10 ] ケンカするほど仲がいい
129 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 07:01:41 ] >>127 仮想クラスを2つ作りたい時のため。 直に扱うと個々のクラスじゃなくて親のクラスのクラス変数になってしまうみたいで 全ての仮想クラスで@@ABSTRACT_METHODSが共有されてしまう。 …ってもしかして 1.9.x ではならないのか?
130 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 07:10:49 ] 久しぶりに覗いたついでに書き直しとく… :@@ABSTRACT_METHODS 書き過ぎだよ、過去の俺 class AbstractMethodNotImplementException < Exception; end module AbstractClass def abstract(*symbols) abstract_methods.push *symbols end def abstract_methods sym = :@@ABSTRACT_METHODS class_variable_set(sym,[]) unless class_variables.include?(sym.to_s) return class_variable_get(sym) end def new(*args) obj = super(*args) abstract_methods.each do |sym| raise(AbstractMethodNotImplementException, "abstract method `#{sym}' is not defined") unless obj.methods.include?(sym.to_s) end return obj end end # sample class MyAbstractA extend AbstractClass abstract :method_a end # class MyImplementedA < MyAbstractA # def method_a; end # end MyImplementedA.new
131 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 07:13:40 ] ちなみに、get だけで使うとそれはそれで uninitialized class variable になるよ。
132 名前:デフォルトの名無しさん [2007/07/20(金) 09:48:11 ] VisualWorks7 でファイルアウトをマウス操作でなく実行命令として 記述するにはどうすればいいですか。
133 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 15:48:14 ] >>132 こういうのじゃ駄目なの? | fileManager | fileManager := SourceCodeStream write: NameOfClass printString, '.st' encoding: #Source. fileManager timeStamp. NameOfClass fileOutSourceOn: fileManager. fileManager close
134 名前:132 mailto:sage [2007/07/24(火) 11:08:21 ] >>133 ありがとう。できました。あなたは神様です。
135 名前:132 [2007/10/02(火) 22:08:29 ] 'aClass' という文字列から aClass というClassオブジェクトを取得するには どうすればいいですか。
136 名前:デフォルトの名無しさん mailto:sage [2007/10/03(水) 01:34:44 ] Compiler new evaluate: 'aClass' in: thisContext receiver: nil notifying: nil ifFail: []
137 名前:デフォルトの名無しさん mailto:sage [2007/10/03(水) 06:27:35 ] cls = globals().get("aClass")
138 名前:デフォルトの名無しさん mailto:sage [2007/10/03(水) 06:28:23 ] ってSmalltalkか。
139 名前:デフォルトの名無しさん mailto:sage [2007/10/03(水) 11:33:48 ] >>135 そっか、aClassという名前のクラスを得たいのか。(ってそう書いてあるじゃんw) そうならば137のRubyと同じ方針で、 Smalltalk at: 'aClass' でおk。(136でもできるけどね) 老婆心ながら、クラス名は小文字ではじめないほうがいいと思います。
140 名前:デフォルトの名無しさん mailto:sage [2007/10/03(水) 13:57:30 ] 137はpythonだべ
141 名前:デフォルトの名無しさん mailto:sage [2007/10/03(水) 17:03:57 ] がーん。w Ruby だと、 Object.const_get("AClass") か。orz
142 名前:132 mailto:sage [2007/10/05(金) 01:12:53 ] ありがとうございました。みなさん
143 名前:デフォルトの名無しさん mailto:sage [2007/10/05(金) 08:54:14 ] >>136 みたいなのを見ると Smalltalk は自然言語に近くて良いなあと思うけど、 英語が嫌いな人にはキツそうだね。
144 名前:デフォルトの名無しさん mailto:sage [2007/11/07(水) 00:59:02 ] 開発でC++使ってるとC++の勉強で手一杯になっちゃってsmalltalkまで手が回らん
145 名前:デフォルトの名無しさん mailto:sage [2007/11/07(水) 23:53:23 ] そこをなんとかまわしてください。
146 名前:デフォルトの名無しさん mailto:sage [2007/11/07(水) 23:55:23 ] ドリルは漢のロマン
147 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 08:38:49 ] >>144 smalltalkを先に勉強すればC++は勉強しなくても使える
148 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 19:45:21 ] C++ はテンプレートライブラリ用言語だから Smalltalk を 知っていても何の役にも立たないと思うけど
149 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 02:16:58 ] boost使うなら役に立たんこともない。けれど原則SmalltalkとC++はOOの考え方じたい別もの。
150 名前:デフォルトの名無しさん mailto:sage [2007/12/18(火) 21:45:52 ] >>148 > C++ はテンプレートライブラリ用言語だから ゲラ
151 名前:デフォルトの名無しさん [2008/03/09(日) 08:25:05 ] smalltalkを先に勉強すればC++は怖くて使えないチキンになる。
152 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 18:41:12 ] と、smalltalkの読み書きもままならない151が言っております。
153 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 21:35:03 ] と、SmalltalkもC++も全然読めない&書けない151が言っております。
154 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 21:50:34 ] と、エロ本読みながらマスかいている俺が言ってみるテスト
155 名前:デフォルトの名無しさん [2008/03/30(日) 12:00:36 ] age