デザパタ + Python/Ruby/Smalltalk part2at TECH
デザパタ + Python/Ruby/Smalltalk part2 - 暇つぶし2ch1:デフォルトの名無しさん
07/04/08 00:28:26
PythonやRubyと言った流行りのオブジェクト指向スクリプト言語や
Smalltalkといった、動的型付け言語に於いての
デザインパターンについて語るスレです。

・sage進行
・荒らしはスルー
・荒らしに反応するのも荒らし

前スレ
デザパタ + python
スレリンク(tech板)

2:デフォルトの名無しさん
07/04/08 00:29:49
ああ、隔離スレッドもここまで来たか

3:デフォルトの名無しさん
07/04/08 00:29:54
まだ埋まって無いじゃん

4:デフォルトの名無しさん
07/04/08 00:42:13
本スレより勢いあるしな

5:デフォルトの名無しさん
07/04/08 00:44:13
関連スレ

「【GoF】デザインパターン 6
スレリンク(tech板)

6:デフォルトの名無しさん
07/04/08 01:24:31
痛い名前でたったなぁ
なんでrubyとsmalltalkを含めるのか疑問、
ただでさえpy派とrb派じゃうまく議論できないのに、・・・

7:デフォルトの名無しさん
07/04/08 01:27:52
まともな議論スレになるとは誰も思ってないし
どうでもいいんじゃねぇの

8:デフォルトの名無しさん
07/04/08 01:33:14
厨房同士を暴れさせて消耗させるスレッドか。
じゃあ見る価値ないね。
削除っと。

9:デフォルトの名無しさん
07/04/08 01:51:08
前のスレ埋めないのか?

10:ワロタ
07/04/08 02:14:40
ワロタ

11:デフォルトの名無しさん
07/04/08 03:15:21
オリジナルのプログラムをお持ちの方いらっしゃいませんか?
この度クレジット決済でスムーズにダウンロード売買が
できるサイトを立ち上げました。
つhttp//web-cart.jp/
※会員登録&商品のうp全て無料です!
クオリティの高い商品のうpをお待ちしてますw

12:デフォルトの名無しさん
07/04/08 15:18:58
次スレまで立てるとは、信じられん…

13:デフォルトの名無しさん
07/04/08 22:51:42
スーパー構ってちゃんの版画の仕業だろ。
いじってもらわないと、リアルでの孤独と寂しさに押し潰されて、吊りかねない奴だからな。

14:デフォルトの名無しさん
07/04/10 19:17:40
このスレ、伸びないと思う…。
いま、デザパタ分かってるの、Java か C++ の人がほとんどなわけで、
その人たちを排除しちゃったわけだから。

もっとも、このスレが深く沈んでも、困る人もいないと思うけど。

15:デフォルトの名無しさん
07/04/10 19:31:19
おい、冷静になって周りを見てみろ。

いまさらデザパタ、デザパタ、うるさくわめいてるのは
あんさんだけでっせw
みんなとっくに理解して先進んでまんがなw

16:デフォルトの名無しさん
07/04/10 19:35:56
誤)理解して先進んでまんがなw
正)理解しないで先進んでまんがなw

ただし、Java と C++ 使いは、とっくに理解して
先に進んでいるけど。

17:デフォルトの名無しさん
07/04/10 19:49:01
昔話が好ずきなじじいの戯言としてスルー




もし豆腐にセンスがあったら
「LLプログラミング作法」とか
「LLプログラミングtips」とか
コモン・イディオムとか
もっとお洒落な名前付けりゃ
単行本化して100万部突破、
映画化だって夢じゃなくなくなくなくなくなくないのになw

残念でした、涅槃で頑張れ

18:デフォルトの名無しさん
07/04/10 19:54:26
ま、LL側に謙虚な気持ちがなけりゃ、
Java使いにしろ、C++使いにしろ、教えてあげようという
気にはならないでしょう。

スレからして、JavaやC++は排除のようなので、
これにて失礼。

19:デフォルトの名無しさん
07/04/10 20:04:32
はぇぇっ
もう敗北宣言かよっ


狂信者弱ぇぇ~
そして明日からまたPythonも使えるSIer担当者の下で
這いつくばって奴隷作業すんだろどうせw

掲示板で負け、現実で負け、
いいとここれっぽっちもねぇなぁ~

20:デフォルトの名無しさん
07/04/10 20:45:09
観察事項1: 狂信者タンはSmallTalk(ママ) が出来ない

21:デフォルトの名無しさん
07/04/10 22:48:57
>>20
おまえもな

22:デフォルトの名無しさん
07/04/10 23:07:47
はあ?

人の説明も文字通りに受け取れん
猜疑心の強いバカか。疲れる奴

23:デフォルトの名無しさん
07/04/10 23:10:00
Warning:ローカルコンテキストが共有されていません。


24:デフォルトの名無しさん
07/04/10 23:34:30
前スレ読んでたRuby使いだけど
abstractメソッドする方法ないかなーって気になって
ちょっと考えてみた

require 'abstract'

class MyAbstractClass
 extend AbstractClass
 abstract :hoge
 abstract :fuga
end
class MyClass < MyAbstractClas
 def hoge
 end
end

obj = MyClass.new

25:デフォルトの名無しさん
07/04/10 23:38:09
# abstract.rb

class Module
 def abstract(*names)
  if class_variables.size > 0 then
   class_variable_get(:@@ABSTRACT_METHODS).push *names
  else
   class_variable_set :@@ABSTRACT_METHODS, names
  end
 end
end

module AbstractClass
 def new(*args)
  obj = super(*args)
  class_variable_get(:@@ABSTRACT_METHODS).each do |m|
   unless obj.methods.include?(m.to_s) then
    raise format("Abstract method `%s' not defined", m.to_s)
   end
  end
  return obj
 end
end


26:デフォルトの名無しさん
07/04/11 07:39:41
GroovyとかECMAScriptとかpnutsとかのデザインパターンもここでOK?
あとGroovyとJavaにまたがるパターンとかは?

27:デフォルトの名無しさん
07/04/11 07:44:37
観察事項1: 狂信者タンはSmallTalk(ママ) が出来ない

28:デフォルトの名無しさん
07/04/11 08:56:59
>>26
Java が絡むものは対象外ということで。

29:デフォルトの名無しさん
07/04/11 09:01:00
観察事項2: 狂信者タンはしつこくJavaにこだわるw

30:デフォルトの名無しさん
07/04/11 12:48:12
>>26
動的言語なら良いんじゃね?
とはいえ元々隔離スレなんだから細かい事気にするなw

31:デフォルトの名無しさん
07/04/11 13:14:45
>>30
Javaがらみは荒れるからダメ。スレタイは、Java関係の拒否を表明したもの。

32:デフォルトの名無しさん
07/04/11 16:26:23
観察事項3:このスレの住人は約一名

33:デフォルトの名無しさん
07/04/11 16:40:34
>>32
あんた、何者?
Java関係者なら、出ていってくれないか。

34:デフォルトの名無しさん
07/04/11 17:00:19
観察事項4:唯一の住人=狂信者は今やCOBOLer

35:デフォルトの名無しさん
07/04/11 17:08:55
Java関係者なら、とっとと出ていけよ。
豆腐だとか、版画だとかの罵りあいにはウンザリなんだ!

36:デフォルトの名無しさん
07/04/11 17:17:40
>>20, 29, 32, 34 は、ただの粘着な偏執狂だろ。
いまどき、Java を使ったことがない人の方が珍しいくらいなんだから、
Java 関係者に出てってくれはあんまりだ。


>>24
使わなかった場合、
実行時に、メソッドを呼び出そうとして例外スローされて、
使った場合、
実行時に new で例外がスローされるの違いか。

クラス変数を使うのは行儀が悪い気がするな。


37:デフォルトの名無しさん
07/04/11 17:18:56
COBOLer乙

38:デフォルトの名無しさん
07/04/11 17:23:49
>>36
>Java 関係者に出てってくれはあんまりだ。

とりあえず了解。
ただし、また豆腐だとか版画だとかの罵りあいが始まったら、
Java関係者の拒否を表明します。

39:デフォルトの名無しさん
07/04/11 17:24:45
観察事項5:狂信者の自作自演は文体が全部一緒なので判りやすい

40:デフォルトの名無しさん
07/04/11 17:27:01
>>37
わりと触ったことのある言語は多いが COBOL は触ったことがない罠。


41:デフォルトの名無しさん
07/04/11 17:28:09
観察事項6:COBOL現場に常駐しながらCOBOL触ってないコイツって何?w

42:デフォルトの名無しさん
07/04/11 17:30:36
狂ったJava使いは、全員出ていけ!

43:デフォルトの名無しさん
07/04/11 17:31:41
アドバイス: >>42キミのことだ

44:デフォルトの名無しさん
07/04/11 17:32:25
いいか、豆腐も版画も出ていけ!!!

45:デフォルトの名無しさん
07/04/11 17:33:03
>36
俺もクラス変数は行儀が悪いかなとは思ったが
それ以外にしっくり来る方法が思いつかなくて。

まあ、組み込みライブラリですら前者の方法を取ってるRubyで
わざわざ継承先の挙動を制限する必要は無いかもね。

46:デフォルトの名無しさん
07/04/11 17:33:32
観察事項:OKOK。住人は狂信者さん一人だけしか居ませんよ、もともと

47:デフォルトの名無しさん
07/04/11 17:34:31
観察事項7:書き込みが約30秒おき

48:デフォルトの名無しさん
07/04/11 17:34:37
豆腐や版画はもちろん、
Javaがらみのことは、絶対に書き込むなよ。
いいな。


49:デフォルトの名無しさん
07/04/11 17:35:53
似非コンサルが大規模OO開発に失敗してデスマった

50:デフォルトの名無しさん
07/04/11 17:37:52
観察事項8:どうやら発狂して、書くべきではない事を自爆した模様

51:デフォルトの名無しさん
07/04/11 17:39:45
うせろ! Java野郎!!!

52:デフォルトの名無しさん
07/04/11 17:40:26

   その後、狂信者の姿を見た者は誰も居ない。。。

                                         -- 糸冬 --
                                         提供:2ちゃんねる
                                         出演:狂信者

53:デフォルトの名無しさん
07/04/11 17:41:22
こ・この流れは……
もしかして、Javaがらみがどうのって書いてる人と、
観察事項って書いてる人って同一人物・?w


54:デフォルトの名無しさん
07/04/11 17:42:04
視聴者の感想:糞だった

55:デフォルトの名無しさん
07/04/11 17:43:31
もしかして、豆腐も版画も同一人物?

56:デフォルトの名無しさん
07/04/11 17:43:50
リアルタイムで粘着さんを見るのはなんだか新鮮だった。
ちょっと出かけてくるね。


57:デフォルトの名無しさん
07/04/11 17:46:45
発狂乙似非コンサルたん

58:デフォルトの名無しさん
07/04/11 17:47:25
真面目にやってるのは Rubyの人たちだけだね…

59:デフォルトの名無しさん
07/04/11 17:49:55
ここ、なんで荒れてるの?

禁止されている特定の話題や単語には誰も触れていないのに。

60:デフォルトの名無しさん
07/04/11 17:58:09
デ☆ザ☆パ☆

61:1
07/04/11 17:58:33
Java関係の話題は、くれぐれも止めてください。
(Java関係者は即刻退去してください)
さらに、Cobolの話題も禁止にします。

これは、全スレがJava関係者と思われる豆腐と版画という
人物の罵りあいに終始したためです。

スレタイをよく見てください。
Java関係者は、豆腐であれ版画であれ、それ以外の人物であれ、
出入り禁止です。その点、くれぐれもよろしく。

62:デフォルトの名無しさん
07/04/11 18:00:35
そもそもMatzはJavaは一切やらない人?

Javaに一度でも手を付けた事がある人を全部排除したら、
残りは初心者だけになるんじゃないかな?

63:デフォルトの名無しさん
07/04/11 18:02:04
Smalltalkerも、ほとんどJava遣いだよな。
すると、Smalltalkも排除?

Python遣いだってほとんどの人は
別に母国語みたいなプログラミング言語を持っている。

64:デフォルトの名無しさん
07/04/11 18:04:55
Javaの人はいりません。ここから退去願います。
いなくても、別に困りません。

65:デフォルトの名無しさん
07/04/11 18:06:44
すると、SmalltalkerもPython遣いもMatz関係も全部追い出して、
スレを占有しようという魂胆ですね?

66:デフォルトの名無しさん
07/04/11 18:07:18
スレ占有は削除対象じゃなかったっけ?

67:デフォルトの名無しさん
07/04/11 18:11:58
Java を使わないPython とRuby とSmalltalk の人が残るでしょう?
それだけで十分です。
あと、Javaを一度は使ったけれど、いまは捨てた人もおkでしょうね。
現在、Javaと関わっている人、Javaを評価してる人はお断りです。

68:デフォルトの名無しさん
07/04/11 18:12:23
なんかちがくね?

誰でも気軽に使えるのが
ライトウェイト・ランゲージのメリットなのに、
排除排除で小さくまとまろうとするのは
まるでカルト集団の分裂と粛清を見ているかのようだ

69:デフォルトの名無しさん
07/04/11 18:13:25
思想信条の自由を受け入れられない集団は
やがて自壊する

70:デフォルトの名無しさん
07/04/11 18:18:27
GuidoはJava評価してるよ。3.0のIOかなんかはJavaの仕様を入れるとかだった。

71:デフォルトの名無しさん
07/04/11 18:23:42
良い物は良いと認め、良くないと思う物に対しては率直な意見を述べ、
お互いの考えの違いを尊重しながら歩み寄る。
でも決して、非合理で説明のできない理由で他人や考え方を攻撃しない

それこそが大切な姿勢なのだと思うが、どうかな。


72:デフォルトの名無しさん
07/04/11 18:32:19
どんな理屈をこねても、
前スレや周辺スレの、豆腐 対 版画 の罵り合戦見れば、
なんの説得力もない。
Javaなど興味もないし、どうでもいい。
のんびりと、LL言語のコードの紹介をし合っていけばいいんだよ。
Java関係者は、とにかく消えて。ウザイ。

73:デフォルトの名無しさん
07/04/11 18:36:18
私怨で言語ごと嫌いになるのって愚の骨頂

74:デフォルトの名無しさん
07/04/11 18:38:59
>>73
彼の場合、自分で設計したコードでデスマって以来、
極度のJava嫌いになっている様子だ。

PythonにJavaの特性を求めたりする不可思議行動の原因は、
全てそれ。

75:デフォルトの名無しさん
07/04/11 18:42:43
まるでytakagiそっくりの駄々っ子だな

76:デフォルトの名無しさん
07/04/11 18:42:51
>>74
Javaの話題は禁止だぞ。
もし、Javaの関係者なら出ていってくれ。

77:デフォルトの名無しさん
07/04/11 18:43:35
>>76自身が一番問題児なんじゃねぇの?

78:デフォルトの名無しさん
07/04/11 18:44:46
ytakagi本人と見たw

79:デフォルトの名無しさん
07/04/11 18:49:44
>>78
いいかげんにしろ。
君は、あの馬鹿げた罵り合戦を忘れたのか?
Javaなんかに関わりあうからああなるんだ。

LL言語だけでノンビリやろう。
インターネットで捜せば、以外とあちこちにコードはある。

80:デフォルトの名無しさん
07/04/11 19:01:02
>>79
なかなかしらじらしい奴だな

デザパタスレで毎回毎回念仏のような説明を繰り返してるある人物が、
何かが原因で発狂して、相手構わず暴れていた
というのがあの事件の真相。

でもそいつの身元は、親切な情報提供によってすでに割れている。
そいつが今更このスレで暴れられる訳がないだろ。


81:デフォルトの名無しさん
07/04/11 19:13:46
スレタイを見ろ。
Javaが入ってないのは分るよな?

こっちも一歩譲ろう。
別なところでどれだけJavaを使っていてもかまわない。
でも、ここでJavaを話題にするな。

これでいいだろ。
ここではLL言語や動的型付け言語のみについて話す。
Javaについて話したいなら、他所でする。(デザパタ本スレもあるんだし)
そういうことで。

82:デフォルトの名無しさん
07/04/11 19:28:13
誰もJavaの話題になど触れていない。
それにも関わらず、君が独りでヒステリックになっている。

これが現状

83:デフォルトの名無しさん
07/04/11 19:44:37
> デザパタスレで毎回毎回念仏のような説明を繰り返してるある人物が、

あいつは確かにウザい。
一般的ではない(間違った)独自解釈振り回して
延々と自作自演の議論を展開するし。

84:デフォルトの名無しさん
07/04/11 19:53:03
Javaの話は止めろ。

85:デフォルトの名無しさん
07/04/11 19:57:48
どうやらこのスレの主は
幻覚を見ているらしい。

86:デフォルトの名無しさん
07/04/11 20:00:17
Javaの話は別なところでやれ。
デザパタ本スレでやれば、誰も文句は言わない。

87:デフォルトの名無しさん
07/04/11 20:03:48
さっきから見てると
キミは、まるで頭のおかしな人のような振る舞いばかりしている。


その原因は何だ?


88:デフォルトの名無しさん
07/04/11 20:12:50
Javaの人ですか?
それなら、豆腐や版画の仲間ですね。
消えてください。

89:デフォルトの名無しさん
07/04/11 20:16:39
ytakagiってバカなんだな。

90:デフォルトの名無しさん
07/04/11 20:16:46
キミがおかしくなった原因は何だ?説明してみたまえ。

誰かがキミの抱えている問題を解決してくれるかもしれん。

さあ、心を開いて語ってみそ

91:デフォルトの名無しさん
07/04/11 20:18:04
Javaの人ですか?
それなら、豆腐や版画の仲間ですね。
消えてください。

92:デフォルトの名無しさん
07/04/11 20:20:25
何が原因でキミは壊れたのか
理由を教えてくれ

93:デフォルトの名無しさん
07/04/11 20:24:03
お前ら、下らないことやってないで、
コードの一つも書けや。あほくさ。

94:デフォルトの名無しさん
07/04/11 20:54:41
Javaの人ですか?
それなら、豆腐や版画の仲間ですね。
消えてください。

95:デフォルトの名無しさん
07/04/11 23:07:32
Javaの人ですか?
それなら、豆腐や版画の仲間ですね。
消えてください

96:デフォルトの名無しさん
07/04/11 23:08:38
Javaの人ですか?
それなら、豆腐や版画の仲間ですね。
消えてください

97:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/04/25 18:13:02
Smalltalk使いが実際に来たら停滞したなw

99:デフォルトの名無しさん
07/04/25 23:37:38
無知で申し訳ないんだけどSmalltalkって
どんな分野で使われてる言語なの?
デザパタ本ではじめてその存在を知ったんだけど

100:デフォルトの名無しさん
07/04/26 00:03:35
特に分野は決まっていないよ。最近一番採用されてる例としては OLPC かな。
何でそんな事知りたいの?

101:デフォルトの名無しさん
07/04/26 00:40:57
>>99
よく知らないんだけど、事例集っぽいのをピックアップしてみた。

Squeak Smalltalk (Apple Smalltalkの生き残り)
URLリンク(squeakland.jp)
URLリンク(www.seaside.st)
 URLリンク(dabbledb.com)
URLリンク(www.croquetconsortium.org)
 URLリンク(japan.internet.com)

Cincom Smalltalk (XEROX Smalltalkの生き残り)
URLリンク(smalltalk.cincom.jp)
URLリンク(smalltalk.cincom.jp)
URLリンク(capsctrl.que.jp)
URLリンク(www.whysmalltalk.com)

IBM Smalltalk (すでに死亡)
URLリンク(www-306.ibm.com)

102:デフォルトの名無しさん
07/04/26 01:12:39
smalltalkつったらここじゃね?
URLリンク(www.sra.co.jp)

103:デフォルトの名無しさん
07/04/26 10:18:18
>>99
大体どの分野でも使われてると思うけど、医療事務系とかが多いんじゃね?

104:デフォルトの名無しさん
07/04/26 11:47:42
>>97
(self lookupSelector: sel) messages includes: #subclassResponsibility

は、

(self lookupSelector: sel) isSubclassResponsibility

で、おk。

105:デフォルトの名無しさん
07/04/26 20:11:51
>>100-103 ありがとう

>>100
オレは組み込み系でCからC++に移行したんだが
どうもOOPとかデザパタについてしっくりこないというか、
理解が浅い気がするので、アプローチを変えて動的型づけの言語を
試しにやってみようかと考えてたところ
Wikiみたらオブジェクト指向の手本だとか、デザパタの宝庫という
文字をみてちょっと興味を持った。歴史のある言語みたいだね

106:デフォルトの名無しさん
07/04/26 21:26:49
> オレは組み込み系でCからC++に移行したんだが

最近組み込み系の書籍漁りしてる厨房か

107:デフォルトの名無しさん
07/04/26 23:41:51
>>103
もしかして大学病院とか?

>>105
IDE の中に OS が入っている様な感覚は、最初は異様に感じるかもしれないね。

108:デフォルトの名無しさん
07/04/27 02:38:20
なんじゃその感覚

109:デフォルトの名無しさん
07/04/27 05:10:47
>>108
Smalltalkのことじゃね?
あの言語でインタプリタ単体の環境は俺は聞いたことがない
ほとんどはSmalltalk環境自体が一個のシステムって感じ

110:デフォルトの名無しさん
07/04/28 15:47:47
じゃあsmalltalkのx64ネイティブコンパイラとか卒業研究のネタに使えるって事ですか?

111:デフォルトの名無しさん
07/04/28 16:03:16
Smalltalkを指して「IDEの中にOSが入っている」と言うのは
また例のバカの妄想だろう


112:デフォルトの名無しさん
07/04/28 16:04:09
卒研なら大目に見てもらえるんじゃね。

113:デフォルトの名無しさん
07/04/28 16:05:49
鈴木高弘の発言はいつも知ったか。
恥ずかしくて見てらんない

114:デフォルトの名無しさん
07/04/28 16:11:43
逆に考えるんだ。

IDEの中にOSが入っているんじゃなくて、
風変わりなOSの試作品を無理矢理IDEっぽく見せて使わせてるんだ。

URLリンク(d.hatena.ne.jp)

115:デフォルトの名無しさん
07/04/28 16:18:26
また知ったかか

116:デフォルトの名無しさん
07/04/28 16:20:07
いちいち他人をけなさないと気が済まない奴が居るみたいだなあ...
スルー力低過ぎ。

117:デフォルトの名無しさん
07/04/28 16:23:07
だが表舞台には立てない言語
それがスモールトーク
そしてそれを愛するスモールとーカーも表舞台には立てない

118:デフォルトの名無しさん
07/04/28 16:25:43
Smalltalk関連の研究と言えば、
1980年代前半ならSmalltalkVMと専用CPUの実装が博士論文になってたな。
1980年代後半だと並列化やマルチパラダイム化
1990年代初頭だとプロトタイプベース・オブジェクト指向言語の実装
1990年代後半だとリファクタリング絡みやアスペクト指向
1990年代後半に入ると、JavaVMが普及してきて、
SmalltalkVMを使う必然性が薄らいできているような気がする。
まあSmalltalk上の資産や蓄積、ノウハウによっぽどの思い入れがあれば、
今でも研究プラットフォームたりえるんだろうけど。

119:デフォルトの名無しさん
07/04/28 16:27:51
なんだ無茶苦茶表舞台に立ってるやん
国内の開発者にヘタレが多いだけじゃないの?

120:デフォルトの名無しさん
07/04/28 16:29:43
どっかのバカが大規模開発なんか始めなければ
もっと有意義な成果が出てただろうにね。
大規模開発なんてどうせバカしか集められないんだから
先端技術を使って破綻して迷惑をかけたりせずに
隅っこの方でCOBOLer集めてチマチマやっとけってんだ。

121:デフォルトの名無しさん
07/04/28 17:31:28
誤解を恐れず言えば、Java も最初は Smalltalk だったんだけどね。
IBM(VisualAge) のも Sun(Strongtalk) のも

122:デフォルトの名無しさん
07/04/28 17:46:03
VisualAgeそのものとJavaは関係ねぇだろ
VA自体が元々Smalltalkかなんかで記述されてた
という話は聞いた事あるけど。

StrongtalkVMに関しては
その技術がJavaVMにも転用されただけじゃないか?

123:デフォルトの名無しさん
07/04/28 17:54:43
学校の教師

124:デフォルトの名無しさん
07/04/28 18:25:46
気持ち悪い物体がこびりついているな

125:デフォルトの名無しさん
07/04/29 01:41:29
やめて

126:デフォルトの名無しさん
07/05/04 02:50:19
         ,-、            ,.-、
        ./:::::\          /::::::ヽ
       /::::::::::::;ゝ--─-- 、._/::::::::::::::|
       /,.-‐''"´          \:::::::::::|
     /                ヽ、::::|
    /                   ヽ|
     l.                         l
    .|    ●                  |
     l  , , ,           ●     l
    ` 、      (__人__丿    、、、   / >>1 糞スレ
      `ー 、__               /
         /`'''ー‐‐─‐‐‐┬'''""´
        ./        ___ l __
         l   ./    /  |/ |
         `ー-<    /  ./  ./
           `ー‐--{___/ゝ、,ノ






127:デフォルトの名無しさん
07/05/10 00:25:54
>>25
なんでいちいちclass_variable_get使ってんの?

(@@ABSTRACT_METHODS ||= []).concat(names)
@@ABSTRACT_METHODS.each
でいいじゃん。


128:デフォルトの名無しさん
07/05/26 22:43:10
ケンカするほど仲がいい

129:デフォルトの名無しさん
07/07/20 07:01:41
>>127
仮想クラスを2つ作りたい時のため。
直に扱うと個々のクラスじゃなくて親のクラスのクラス変数になってしまうみたいで
全ての仮想クラスで@@ABSTRACT_METHODSが共有されてしまう。
…ってもしかして 1.9.x ではならないのか?

130:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/07/20 07:13:40
ちなみに、get だけで使うとそれはそれで
uninitialized class variable になるよ。

132:デフォルトの名無しさん
07/07/20 09:48:11
VisualWorks7 でファイルアウトをマウス操作でなく実行命令として
記述するにはどうすればいいですか。

133:デフォルトの名無しさん
07/07/23 15:48:14
>>132
こういうのじゃ駄目なの?

| fileManager |
fileManager := SourceCodeStream write: NameOfClass printString, '.st' encoding: #Source.
fileManager timeStamp.
NameOfClass fileOutSourceOn: fileManager.
fileManager close

134:132
07/07/24 11:08:21
>>133
ありがとう。できました。あなたは神様です。

135:132
07/10/02 22:08:29
'aClass' という文字列から aClass というClassオブジェクトを取得するには
どうすればいいですか。

136:デフォルトの名無しさん
07/10/03 01:34:44
Compiler new evaluate: 'aClass' in: thisContext receiver: nil notifying: nil ifFail: []

137:デフォルトの名無しさん
07/10/03 06:27:35
cls = globals().get("aClass")

138:デフォルトの名無しさん
07/10/03 06:28:23
ってSmalltalkか。

139:デフォルトの名無しさん
07/10/03 11:33:48
>>135
そっか、aClassという名前のクラスを得たいのか。(ってそう書いてあるじゃんw)
そうならば137のRubyと同じ方針で、

Smalltalk at: 'aClass'

でおk。(136でもできるけどね)
老婆心ながら、クラス名は小文字ではじめないほうがいいと思います。

140:デフォルトの名無しさん
07/10/03 13:57:30
137はpythonだべ

141:デフォルトの名無しさん
07/10/03 17:03:57
がーん。w Ruby だと、

Object.const_get("AClass")

か。orz

142:132
07/10/05 01:12:53
ありがとうございました。みなさん

143:デフォルトの名無しさん
07/10/05 08:54:14
>>136 みたいなのを見ると Smalltalk は自然言語に近くて良いなあと思うけど、
英語が嫌いな人にはキツそうだね。

144:デフォルトの名無しさん
07/11/07 00:59:02
開発でC++使ってるとC++の勉強で手一杯になっちゃってsmalltalkまで手が回らん

145:デフォルトの名無しさん
07/11/07 23:53:23
そこをなんとかまわしてください。

146:デフォルトの名無しさん
07/11/07 23:55:23
ドリルは漢のロマン

147:デフォルトの名無しさん
07/11/13 08:38:49
>>144
smalltalkを先に勉強すればC++は勉強しなくても使える


148:デフォルトの名無しさん
07/11/13 19:45:21
C++ はテンプレートライブラリ用言語だから Smalltalk を
知っていても何の役にも立たないと思うけど

149:デフォルトの名無しさん
07/11/14 02:16:58
boost使うなら役に立たんこともない。けれど原則SmalltalkとC++はOOの考え方じたい別もの。

150:デフォルトの名無しさん
07/12/18 21:45:52
>>148
> C++ はテンプレートライブラリ用言語だから

ゲラ

151:デフォルトの名無しさん
08/03/09 08:25:05
smalltalkを先に勉強すればC++は怖くて使えないチキンになる。

152:デフォルトの名無しさん
08/03/09 18:41:12
と、smalltalkの読み書きもままならない151が言っております。

153:デフォルトの名無しさん
08/03/09 21:35:03
と、SmalltalkもC++も全然読めない&書けない151が言っております。

154:デフォルトの名無しさん
08/03/09 21:50:34
と、エロ本読みながらマスかいている俺が言ってみるテスト

155:デフォルトの名無しさん
08/03/30 12:00:36
age

156:デフォルトの名無しさん
08/03/31 17:48:13
>154
片手塞がっててもう片手もページめくってるのに、よく書けるな。

157:デフォルトの名無しさん
08/04/01 19:32:47
>>156
横にいる彼女に代筆してもらってる

158:デフォルトの名無しさん
08/04/01 23:46:45
漏れは彼女に筆をおろした

159:デフォルトの名無しさん
08/04/05 07:20:36
彼女がエロ本読んでる横でマスかきながら2chやってるか
彼女がマスかいてる横でエロ本読みながら2chやってるな

160:デフォルトの名無しさん
08/11/03 16:41:54
pythonの言語仕様には問題があると思う。
>>> a=1
>>> a.__str__
<method-wrapper '__str__' of int object at 0x00AB5670>

>>> a='abc'
>>> a.__str__
<method-wrapper '__str__' of str object at 0x00DB4FE0>
>>>
最初はint型として解釈されるけれど文字列を代入した時点でstr型になっている。
オブジェクト指向なのにBASICが抱えていた古典的な教訓がまるで生かされていないよ。

プロの現場が必要とする大規模開発でpythonが採用されるはずが無いのでは?
なのにデザインパターンを語っても意味はあるのだろうか?
デザインパターンの前に言語仕様そのものを見直すべきではないだろうか?

python好きの方には申し訳ないけど...

161:デフォルトの名無しさん
08/11/03 16:46:09
動的型付けを全否定w

162:デフォルトの名無しさん
08/11/03 16:48:48
追記します。
「a='abc'」をプログラマが実行してしまった時点で最初の「a=1」には二度とアクセスできない。
そう。a=1で生成されたインスタンスはゴミとしてメモリに残る訳だ。

gcの機能はあるらしいけれど...バグだらけ。
さっき試したらIDEが吹き飛んだよん。

163:デフォルトの名無しさん
08/11/03 16:51:42
動的型付けはいいと思うよん。利用者側にとって好都合だからね。

上記はあくまでも利用してみた感想さ。
悪く思わないで下さいね。

まだまだpythonは言語拡張の必要性はあると思う。

164:デフォルトの名無しさん
08/11/03 16:56:33
もう一言
a=1のインスタンスのメモリ番地は0x00AB5670
a='abc'のインスタンスのメモリ番地は0x00DB4FE0
表記はどちらもaだけれど別インスタンスです。
動的型付けではないですね。

165:デフォルトの名無しさん
08/11/03 17:05:40
なんという釣り針。

166:デフォルトの名無しさん
08/11/03 17:18:35
>>165
あなたになにがわかりますかね。
Pythonという言語の馬鹿さ加減を指摘しただけなんですけどね。
大学出てない人ですか。

167:デフォルトの名無しさん
08/11/03 17:30:38
大学出てないかどうかと、この件がどうかかわるのか皆目わからんな

168:デフォルトの名無しさん
08/11/03 17:31:13
>>160, 161-164です。
166の発言は私ではありません。

asm,CはOSやハードウェア(下位レイヤ)の性能を100[%]引き出せるように考えられたボトムアップアプローチだった訳です。
ハードウェアやOSリソースを100[%]効率よく使えるようにデザインされていた。

しかし、純粋オブジェクト指向言語はトップダウンアプローチ
つまり、理想ありきで下位レイヤの機能やリソース(OSやハードリソース)は使わない方針なんですよ。
そこんところを改善するべきだよね。標準modulesにDBへのアクセス機能がないのもチトどうかと思う。

折角お金をだして購入した機能やリソースは100[%]使い切りたい。
これって普通の人間の普通の希望じゃないだろうか?

まあ、こういった問題はpython使いが増えれば改善されるかな。


169:デフォルトの名無しさん
08/11/03 17:32:01
>>160, 161-164です。
166の発言は私ではありません。

asm,CはOSやハードウェア(下位レイヤ)の性能を100[%]引き出せるように考えられたボトムアップアプローチだった訳です。
ハードウェアやOSリソースを100[%]効率よく使えるようにデザインされていた。

しかし、純粋オブジェクト指向言語はトップダウンアプローチ
つまり、理想ありきで下位レイヤの機能やリソース(OSやハードリソース)は使わない方針なんですよ。
そこんところを改善するべきだよね。標準modulesにDBへのアクセス機能がないのもチトどうかと思う。

折角お金をだして購入した機能やリソースは100[%]使い切りたい。
これって普通の人間の普通の希望じゃないだろうか?

まあ、こういった問題はpython使いが増えれば改善されるかな。


170:デフォルトの名無しさん
08/11/03 17:35:09
>>169
> ハードウェアやOSリソースを100[%]効率よく使えるようにデザインされていた。

C言語でスタックやフラグレジスタにアクセスできないことに四苦八苦したことが
ある俺から言わせてもらうとこの時点でお前の俺様的空論なんだが。

171:デフォルトの名無しさん
08/11/03 17:37:13
>>160, 161-164です。
166の発言は私ではありません。

asm,CはOSやハードウェア(下位レイヤ)の性能を100[%]引き出せるように考えられたボトムアップアプローチだった訳です。
ハードウェアやOSリソースを100[%]効率よく使えるようにデザインされていた。

しかし、純粋オブジェクト指向言語はトップダウンアプローチ
つまり、理想ありきで下位レイヤの機能やリソース(OSやハードリソース)は使わない方針なんですよ。
そこんところを改善するべきだよね。標準modulesにDBへのアクセス機能がないのもチトどうかと思う。

折角お金をだして購入した機能やリソースは100[%]使い切りたい。
これって普通の人間の普通の希望じゃないだろうか?

まあ、こういった問題はpython使いが増えれば改善されるかな。

172:デフォルトの名無しさん
08/11/03 17:42:56
空論ですか...ならば
>>160, 161-164
に具体的にコメントしてくれよな。
もっともいざこざは面倒なので空論でも結構だけどさ。

ところで純粋に疑問なのですが、
>C言語でスタックやフラグレジスタにアクセスできないこと
pythonではスタックやフラグレジスタ(cpuリソース)に明示的にアクセスできるの?

ちょっと勉強させてくださいな。


173:デフォルトの名無しさん
08/11/03 17:47:19
天然物?まさか、な…

174:デフォルトの名無しさん
08/11/03 17:52:04
pythonはmac, solaris(cpuはsparcアーキテクチャ)でもliunx,windows(cpuはインテルアーキテクチャ)でも動くみたいだよ。
cpuアーキテクチャがまるで違うのにpythonではcpuリソースに一元的なアクセスが可能なの!?

無理だと思うけどなぁ~。


175:デフォルトの名無しさん
08/11/03 17:57:54
pythonのチュートリアルを見るとスタックやキューの話がサンプルで出てくるけれど、
これらはCPUの動作を真似たサンプルコードというだけで
本物のCPUリソースへアクセスしている訳ではないと思います...

まあ、いいや。

立場は違えどpythonというキーワードに触れるだけでもハイレベルな人たちだと思いますので
私から皆様へ敬意を表した上で退散させて下さいな。


176:デフォルトの名無しさん
08/11/03 18:12:10
天然かなこりゃ

177:デフォルトの名無しさん
08/11/03 18:12:15
たくさん釣り針を残して逃げたw

178:デフォルトの名無しさん
08/11/03 18:35:30
>>161
いや、静的型付けOOをも否定しているw
つーか、ポリモーフィズムの否定だwww

179:デフォルトの名無しさん
08/11/04 00:18:50
どうやら答えられないようですね。

はっきり答えを導ける人は2chにいなかったようですね。さみしいな。

180:デフォルトの名無しさん
08/11/04 00:56:07
んなこと言われても、何をどう答えていいのかわからんしな・・・
色々とトンチンカンというか、動的言語云々の前にOOP自体よくわかってないみたいだし。

181:デフォルトの名無しさん
08/11/04 01:47:04
>168 です。
python(パイソン)をいろいろと否定したような掲示をしたけれど
本当にダメな言語だと思っているならわざわざ言語仕様を調べたり勉強したりなんかしないぞ。

以下のURLを見て欲しい。Google Data APIにpython版が発表されている。
URLリンク(code.google.com)

Googleの技術者はGoogle Dataを普及させる為にpythonによるclientが強力な開発ツールになると判断しているんだ。

Google Data APIを利用できる言語としてJava, PHP, .NETなんかが採用されているみたいだよ。
ASMやCでは無理って事さ。
道具はその場その場で使い分けろって事なんだろうね。

先のURLからAPIをダウンロードするとデザインパターン with pythonの未来が見えるかもよ。

そこの君、俺は色々変な掲示をしてしまったけれど気を悪くしないでくれよな。
じゃあな!!

182:デフォルトの名無しさん
08/11/04 02:16:38
いいか、英語が読めないといい大人になれないぞ!
あとPythonを使ってる君!C++に切り換えるとか考えよう!

じゃあな!!

183:デフォルトの名無しさん
08/11/04 10:34:31
               .|   |  | |   |    |  | |   |   |   || | |
               .|   |  | レ  |    |  | |   |  J   || | |
    ∩___∩    |   |  |     J    |  | |  し     || | |
    | ノ\   ,_ ヽ  .|   レ |      |  レ|       || J |
   /  ●゛  ● |   .J      し         |     |       ||   J
   | ∪  ( _●_) ミ             .|    し         J|
  彡、   |∪|   |              .J                レ
 /     ∩ノ ⊃  ヽ
 (  \ / _ノ |  |
  \  "  /  | |
   \ / ̄ ̄ ̄ /
      ̄ ̄ ̄ ̄

184:デフォルトの名無しさん
08/11/04 12:39:00
なんなんだこのスレは(笑)

185:デフォルトの名無しさん
08/11/06 01:18:54
まぁ変な「掲示」だったということで

186:デフォルトの名無しさん
08/11/07 04:38:24
BASICの型付けとPythonの型付けは全然別物なんだがなあ…
VBのVariantに近い型付けをする言語って何だろ。あんまり知らないな。

187:デフォルトの名無しさん
08/11/08 13:10:06
>>186
Pythonの方でしょうか。
正直僕の小論に答えられないということを認めたほうがいいと思いますよ。
他の言語を引き合いに出して型付けが別物とか誰でも言えます。

188:デフォルトの名無しさん
08/11/08 13:22:29
>>187
URLリンク(ja.wikipedia.org)

189:デフォルトの名無しさん
08/11/08 19:32:28
>>188
そんな寄付によって成り立っています、みたいなバナーを出す詐欺サイトを出されても困りますよ

190:デフォルトの名無しさん
08/11/08 22:27:37
権威あるwikipediaを詐欺サイト呼ばわりとは...

善意の寄付で成立する詐欺サイト...

聞いたことねぇ。(^_^)

191:デフォルトの名無しさん
08/11/08 23:19:01
善意の寄付で成立する詐欺サイト... って
自分の親にオレオレ詐欺するようなもん?

192:デフォルトの名無しさん
08/11/08 23:27:04
wikipediaを権威あるとか言っちゃう男の人って・・・

193:デフォルトの名無しさん
08/11/09 00:54:10
>>191
死ぬ死ぬ詐欺

194:デフォルトの名無しさん
08/11/09 01:07:58
wikipediaより権威あるサイト

195:デフォルトの名無しさん
08/11/09 01:42:44
つまり、こうだ。

有志の方がんばって百科事典つくりましょう\(^o^)/

便利な百科事典できました

つぶしたくなかったら、寄付しろ

196:デフォルトの名無しさん
08/11/09 12:53:06
だから何。
何かを作る過程にはボランティアの人は寄ってきても、
長く辛いだけでしかないメンテに人はよってこないし、
成果物の恩恵に与る側からの寄付でメンテコスト捻出とか、
ごく普通のライフサイクルですが。

197:デフォルトの名無しさん
08/11/09 14:06:01
Wikipediaの情報をソースに取る馬鹿が大量にいるスレはここですか?

198:デフォルトの名無しさん
08/11/09 14:13:27
Wikipedia に書かれてる内容では判断できないので
レッテル貼りに終始するお前のような馬鹿ホイホイのためのスレですお

199:168
08/11/09 14:42:49
やはり答えを出せる人間はここにはいませんか、
やれやれ。

200:デフォルトの名無しさん
08/11/10 12:15:46
>>199
スレ違い

201:デフォルトの名無しさん
08/11/10 12:18:25
スレ違いつーか、カン違いつーか、アサッテっつーか、ナナメ上っつーか。

202:デフォルトの名無しさん
08/11/11 00:15:27
どもっ!
>>168を掲示したオリジナルです。( >>199とは別人です。 )

>>まあ、こういった問題はpython使いが増えれば改善されるかな。

で自己解決ですな。俺は168で答えは求めてないぜ。

要するにパイソンユーザが増えて下位レイヤのデバイスを表現するクラスがバンバン作られればパイソンの名も上がるだろうと思うよん。
その時にデザインパターンが活用されれば間違いないと思うよ。

203:デフォルトの名無しさん
08/11/11 01:20:37
よくわからんがboost.pythonとかctypesのことを言っているのか?

204:デフォルトの名無しさん
08/11/11 01:21:50
そうそう、最後に言い忘れてたっ!
パイソンを使い続けるとデザインパターンを学ぶ時に大変くろうするかな。

早めにJavaを初めて、パイソン捨てる事をおすすめしますよん。

ではでわっ!!

205:デフォルトの名無しさん
08/11/11 07:44:53
デザインパターンは動的型のほうが親和性が高いっつーか、
デザパタ自体がもともとSmalltalkから派生した考えだということ
知らないんだろうなあ・・・

206:デフォルトの名無しさん
08/11/11 09:07:33
> パイソンを使い続けるとデザインパターンを学ぶ時に大変くろうするかな

オートマ車に乗り続けるとクラッチ操作を忘れてしまうってことですね?

・・・本末転倒だろ・・・

207:デフォルトの名無しさん
08/11/11 09:45:12
むしろデザパタを、パターンとしてでなくメカニズムとして実装できたりもするけどな。
というか静的型言語厨でした、というオチですか。

208:デフォルトの名無しさん
08/11/11 10:22:14
>>207
C++使って糞コード書いている奴でもこんな変な事は書かない。
「処理系」というものが頭にない奴なんじゃないのかな。
PythonはPythonたるもので出来ているとかそう思い込んでいる。(pypyというプロジェクトはあるが。)

209:デフォルトの名無しさん
08/11/16 10:27:34
やはり、2chは馬鹿の塊のようすっ
いっとくけど俺は>>204書いてないぞ

しかし同意できるのはPythonの人たちはねちっこいから
何も言えなくなるってことだね。自分たちの知識不足についてまったく追えていない。

210:デフォルトの名無しさん
08/11/16 23:38:01
だってぼくあほやしー

211:デフォルトの名無しさん
08/11/17 01:02:56
>205
デザパタのうちのいくつかは「静的型で動的型っぽいことをする」ためのパターンでもあるしな。

212:デフォルトの名無しさん
08/11/27 16:38:16
初心者(python以外のプログラミング言語とか知らない、
書くのは何の役にも立たないような計算とかリストを返すプログラムのみ)
のおれが言うのも何だけど、pythonでOOとかパターンとかやる必要ないんじゃないの?
関数で書けばいいじゃん
関数でリストを返してlambdaするインタプリタを書けばいいんだよ


213:デフォルトの名無しさん
08/11/27 16:52:31
多分、ここの人達が想像できないくらいの初心者なので
とんちんかんなことを書いていると思うけど、
プログラムは世界を救うためにあるんだろう
人を幸せにするためにプログラマがいるんだろう
無意味な争いがしたいだけなら、ゲームでもやってろと思った
オブジェクト指向とかライブラリとかインターフェイスとかパターンに
囚われることが本当に世界救済につながるのかどうか考えてください。
おれはAppleIIみたいなのをpythonで作れるとか思っているほど知識に乏しいので
プログラムなどは使うだけで満足なんですよ、便利だし
それを作るのはあなた達です、頑張ってください。

214:デフォルトの名無しさん
08/11/30 00:04:26
パターンなんて知らなくてよい

215:デフォルトの名無しさん
09/01/01 14:11:46
2chで回答を得るためによく使われるもの
狩パターン
釣パターン
煽りパターン
初心者パターン
クレクレパターン



最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch