デザパタ + Python/Ruby/Smalltalk part2
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2007/04/08(日) 00:28:26Smalltalkといった、動的型付け言語に於いての
デザインパターンについて語るスレです。
・sage進行
・荒らしはスルー
・荒らしに反応するのも荒らし
前スレ
デザパタ + python
http://pc11.2ch.net/test/read.cgi/tech/1172431242/
0002デフォルトの名無しさん
2007/04/08(日) 00:29:490003デフォルトの名無しさん
2007/04/08(日) 00:29:540004デフォルトの名無しさん
2007/04/08(日) 00:42:130005デフォルトの名無しさん
2007/04/08(日) 00:44:13「【GoF】デザインパターン 6
http://pc11.2ch.net/test/read.cgi/tech/1141846078/
0006デフォルトの名無しさん
2007/04/08(日) 01:24:31なんでrubyとsmalltalkを含めるのか疑問、
ただでさえpy派とrb派じゃうまく議論できないのに、・・・
0007デフォルトの名無しさん
2007/04/08(日) 01:27:52どうでもいいんじゃねぇの
0008デフォルトの名無しさん
2007/04/08(日) 01:33:14じゃあ見る価値ないね。
削除っと。
0009デフォルトの名無しさん
2007/04/08(日) 01:51:080010ワロタ
2007/04/08(日) 02:14:400011デフォルトの名無しさん
2007/04/08(日) 03:15:21この度クレジット決済でスムーズにダウンロード売買が
できるサイトを立ち上げました。
つhttp//web-cart.jp/
※会員登録&商品のうp全て無料です!
クオリティの高い商品のうpをお待ちしてますw
0012デフォルトの名無しさん
2007/04/08(日) 15:18:580013デフォルトの名無しさん
2007/04/08(日) 22:51:42いじってもらわないと、リアルでの孤独と寂しさに押し潰されて、吊りかねない奴だからな。
0014デフォルトの名無しさん
2007/04/10(火) 19:17:40いま、デザパタ分かってるの、Java か C++ の人がほとんどなわけで、
その人たちを排除しちゃったわけだから。
もっとも、このスレが深く沈んでも、困る人もいないと思うけど。
0015デフォルトの名無しさん
2007/04/10(火) 19:31:19いまさらデザパタ、デザパタ、うるさくわめいてるのは
あんさんだけでっせw
みんなとっくに理解して先進んでまんがなw
0016デフォルトの名無しさん
2007/04/10(火) 19:35:56正)理解しないで先進んでまんがなw
ただし、Java と C++ 使いは、とっくに理解して
先に進んでいるけど。
0017デフォルトの名無しさん
2007/04/10(火) 19:49:01もし豆腐にセンスがあったら
「LLプログラミング作法」とか
「LLプログラミングtips」とか
コモン・イディオムとか
もっとお洒落な名前付けりゃ
単行本化して100万部突破、
映画化だって夢じゃなくなくなくなくなくなくないのになw
残念でした、涅槃で頑張れ
0018デフォルトの名無しさん
2007/04/10(火) 19:54:26Java使いにしろ、C++使いにしろ、教えてあげようという
気にはならないでしょう。
スレからして、JavaやC++は排除のようなので、
これにて失礼。
0019デフォルトの名無しさん
2007/04/10(火) 20:04:32もう敗北宣言かよっ
狂信者弱ぇぇ〜
そして明日からまたPythonも使えるSIer担当者の下で
這いつくばって奴隷作業すんだろどうせw
掲示板で負け、現実で負け、
いいとここれっぽっちもねぇなぁ〜
0020デフォルトの名無しさん
2007/04/10(火) 20:45:090021デフォルトの名無しさん
2007/04/10(火) 22:48:57おまえもな
0022デフォルトの名無しさん
2007/04/10(火) 23:07:47人の説明も文字通りに受け取れん
猜疑心の強いバカか。疲れる奴
0023デフォルトの名無しさん
2007/04/10(火) 23:10:000024デフォルトの名無しさん
2007/04/10(火) 23:34:30abstractメソッドする方法ないかなーって気になって
ちょっと考えてみた
require 'abstract'
class MyAbstractClass
extend AbstractClass
abstract :hoge
abstract :fuga
end
class MyClass < MyAbstractClas
def hoge
end
end
obj = MyClass.new
0025デフォルトの名無しさん
2007/04/10(火) 23:38:09class 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
0026デフォルトの名無しさん
2007/04/11(水) 07:39:41あとGroovyとJavaにまたがるパターンとかは?
0027デフォルトの名無しさん
2007/04/11(水) 07:44:370028デフォルトの名無しさん
2007/04/11(水) 08:56:59Java が絡むものは対象外ということで。
0029デフォルトの名無しさん
2007/04/11(水) 09:01:000030デフォルトの名無しさん
2007/04/11(水) 12:48:12動的言語なら良いんじゃね?
とはいえ元々隔離スレなんだから細かい事気にするなw
0031デフォルトの名無しさん
2007/04/11(水) 13:14:45Javaがらみは荒れるからダメ。スレタイは、Java関係の拒否を表明したもの。
0032デフォルトの名無しさん
2007/04/11(水) 16:26:230033デフォルトの名無しさん
2007/04/11(水) 16:40:34あんた、何者?
Java関係者なら、出ていってくれないか。
0034デフォルトの名無しさん
2007/04/11(水) 17:00:190035デフォルトの名無しさん
2007/04/11(水) 17:08:55豆腐だとか、版画だとかの罵りあいにはウンザリなんだ!
0036デフォルトの名無しさん
2007/04/11(水) 17:17:40いまどき、Java を使ったことがない人の方が珍しいくらいなんだから、
Java 関係者に出てってくれはあんまりだ。
>>24
使わなかった場合、
実行時に、メソッドを呼び出そうとして例外スローされて、
使った場合、
実行時に new で例外がスローされるの違いか。
クラス変数を使うのは行儀が悪い気がするな。
0037デフォルトの名無しさん
2007/04/11(水) 17:18:560038デフォルトの名無しさん
2007/04/11(水) 17:23:49>Java 関係者に出てってくれはあんまりだ。
とりあえず了解。
ただし、また豆腐だとか版画だとかの罵りあいが始まったら、
Java関係者の拒否を表明します。
0039デフォルトの名無しさん
2007/04/11(水) 17:24:450040デフォルトの名無しさん
2007/04/11(水) 17:27:01わりと触ったことのある言語は多いが COBOL は触ったことがない罠。
0041デフォルトの名無しさん
2007/04/11(水) 17:28:090042デフォルトの名無しさん
2007/04/11(水) 17:30:360043デフォルトの名無しさん
2007/04/11(水) 17:31:410044デフォルトの名無しさん
2007/04/11(水) 17:32:250045デフォルトの名無しさん
2007/04/11(水) 17:33:03俺もクラス変数は行儀が悪いかなとは思ったが
それ以外にしっくり来る方法が思いつかなくて。
まあ、組み込みライブラリですら前者の方法を取ってるRubyで
わざわざ継承先の挙動を制限する必要は無いかもね。
0046デフォルトの名無しさん
2007/04/11(水) 17:33:320047デフォルトの名無しさん
2007/04/11(水) 17:34:310048デフォルトの名無しさん
2007/04/11(水) 17:34:37Javaがらみのことは、絶対に書き込むなよ。
いいな。
0049デフォルトの名無しさん
2007/04/11(水) 17:35:530050デフォルトの名無しさん
2007/04/11(水) 17:37:520051デフォルトの名無しさん
2007/04/11(水) 17:39:450052デフォルトの名無しさん
2007/04/11(水) 17:40:26その後、狂信者の姿を見た者は誰も居ない。。。
−− 糸冬 −−
提供:2ちゃんねる
出演:狂信者
0053デフォルトの名無しさん
2007/04/11(水) 17:41:22もしかして、Javaがらみがどうのって書いてる人と、
観察事項って書いてる人って同一人物・?w
0054デフォルトの名無しさん
2007/04/11(水) 17:42:040055デフォルトの名無しさん
2007/04/11(水) 17:43:310056デフォルトの名無しさん
2007/04/11(水) 17:43:50ちょっと出かけてくるね。
0057デフォルトの名無しさん
2007/04/11(水) 17:46:450058デフォルトの名無しさん
2007/04/11(水) 17:47:250059デフォルトの名無しさん
2007/04/11(水) 17:49:55禁止されている特定の話題や単語には誰も触れていないのに。
0060デフォルトの名無しさん
2007/04/11(水) 17:58:0900611
2007/04/11(水) 17:58:33(Java関係者は即刻退去してください)
さらに、Cobolの話題も禁止にします。
これは、全スレがJava関係者と思われる豆腐と版画という
人物の罵りあいに終始したためです。
スレタイをよく見てください。
Java関係者は、豆腐であれ版画であれ、それ以外の人物であれ、
出入り禁止です。その点、くれぐれもよろしく。
0062デフォルトの名無しさん
2007/04/11(水) 18:00:35Javaに一度でも手を付けた事がある人を全部排除したら、
残りは初心者だけになるんじゃないかな?
0063デフォルトの名無しさん
2007/04/11(水) 18:02:04すると、Smalltalkも排除?
Python遣いだってほとんどの人は
別に母国語みたいなプログラミング言語を持っている。
0064デフォルトの名無しさん
2007/04/11(水) 18:04:55いなくても、別に困りません。
0065デフォルトの名無しさん
2007/04/11(水) 18:06:44スレを占有しようという魂胆ですね?
0066デフォルトの名無しさん
2007/04/11(水) 18:07:180067デフォルトの名無しさん
2007/04/11(水) 18:11:58それだけで十分です。
あと、Javaを一度は使ったけれど、いまは捨てた人もおkでしょうね。
現在、Javaと関わっている人、Javaを評価してる人はお断りです。
0068デフォルトの名無しさん
2007/04/11(水) 18:12:23誰でも気軽に使えるのが
ライトウェイト・ランゲージのメリットなのに、
排除排除で小さくまとまろうとするのは
まるでカルト集団の分裂と粛清を見ているかのようだ
0069デフォルトの名無しさん
2007/04/11(水) 18:13:25やがて自壊する
0070デフォルトの名無しさん
2007/04/11(水) 18:18:270071デフォルトの名無しさん
2007/04/11(水) 18:23:42お互いの考えの違いを尊重しながら歩み寄る。
でも決して、非合理で説明のできない理由で他人や考え方を攻撃しない
それこそが大切な姿勢なのだと思うが、どうかな。
0072デフォルトの名無しさん
2007/04/11(水) 18:32:19前スレや周辺スレの、豆腐 対 版画 の罵り合戦見れば、
なんの説得力もない。
Javaなど興味もないし、どうでもいい。
のんびりと、LL言語のコードの紹介をし合っていけばいいんだよ。
Java関係者は、とにかく消えて。ウザイ。
0073デフォルトの名無しさん
2007/04/11(水) 18:36:180074デフォルトの名無しさん
2007/04/11(水) 18:38:59彼の場合、自分で設計したコードでデスマって以来、
極度のJava嫌いになっている様子だ。
PythonにJavaの特性を求めたりする不可思議行動の原因は、
全てそれ。
0075デフォルトの名無しさん
2007/04/11(水) 18:42:430076デフォルトの名無しさん
2007/04/11(水) 18:42:51Javaの話題は禁止だぞ。
もし、Javaの関係者なら出ていってくれ。
0077デフォルトの名無しさん
2007/04/11(水) 18:43:350078デフォルトの名無しさん
2007/04/11(水) 18:44:460079デフォルトの名無しさん
2007/04/11(水) 18:49:44いいかげんにしろ。
君は、あの馬鹿げた罵り合戦を忘れたのか?
Javaなんかに関わりあうからああなるんだ。
LL言語だけでノンビリやろう。
インターネットで捜せば、以外とあちこちにコードはある。
0080デフォルトの名無しさん
2007/04/11(水) 19:01:02なかなかしらじらしい奴だな
デザパタスレで毎回毎回念仏のような説明を繰り返してるある人物が、
何かが原因で発狂して、相手構わず暴れていた
というのがあの事件の真相。
でもそいつの身元は、親切な情報提供によってすでに割れている。
そいつが今更このスレで暴れられる訳がないだろ。
0081デフォルトの名無しさん
2007/04/11(水) 19:13:46Javaが入ってないのは分るよな?
こっちも一歩譲ろう。
別なところでどれだけJavaを使っていてもかまわない。
でも、ここでJavaを話題にするな。
これでいいだろ。
ここではLL言語や動的型付け言語のみについて話す。
Javaについて話したいなら、他所でする。(デザパタ本スレもあるんだし)
そういうことで。
0082デフォルトの名無しさん
2007/04/11(水) 19:28:13それにも関わらず、君が独りでヒステリックになっている。
これが現状
0083デフォルトの名無しさん
2007/04/11(水) 19:44:37あいつは確かにウザい。
一般的ではない(間違った)独自解釈振り回して
延々と自作自演の議論を展開するし。
0084デフォルトの名無しさん
2007/04/11(水) 19:53:030085デフォルトの名無しさん
2007/04/11(水) 19:57:48幻覚を見ているらしい。
0086デフォルトの名無しさん
2007/04/11(水) 20:00:17デザパタ本スレでやれば、誰も文句は言わない。
0087デフォルトの名無しさん
2007/04/11(水) 20:03:48キミは、まるで頭のおかしな人のような振る舞いばかりしている。
その原因は何だ?
0088デフォルトの名無しさん
2007/04/11(水) 20:12:50それなら、豆腐や版画の仲間ですね。
消えてください。
0089デフォルトの名無しさん
2007/04/11(水) 20:16:390090デフォルトの名無しさん
2007/04/11(水) 20:16:46誰かがキミの抱えている問題を解決してくれるかもしれん。
さあ、心を開いて語ってみそ
0091デフォルトの名無しさん
2007/04/11(水) 20:18:04それなら、豆腐や版画の仲間ですね。
消えてください。
0092デフォルトの名無しさん
2007/04/11(水) 20:20:25理由を教えてくれ
0093デフォルトの名無しさん
2007/04/11(水) 20:24:03コードの一つも書けや。あほくさ。
0094デフォルトの名無しさん
2007/04/11(水) 20:54:41それなら、豆腐や版画の仲間ですね。
消えてください。
0095デフォルトの名無しさん
2007/04/11(水) 23:07:32それなら、豆腐や版画の仲間ですね。
消えてください
0096デフォルトの名無しさん
2007/04/11(水) 23:08:38それなら、豆腐や版画の仲間ですね。
消えてください
0097デフォルトの名無しさん
2007/04/11(水) 23:50:42Trait 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"
0098デフォルトの名無しさん
2007/04/25(水) 18:13:020099デフォルトの名無しさん
2007/04/25(水) 23:37:38どんな分野で使われてる言語なの?
デザパタ本ではじめてその存在を知ったんだけど
0100デフォルトの名無しさん
2007/04/26(木) 00:03:35何でそんな事知りたいの?
0101デフォルトの名無しさん
2007/04/26(木) 00:40:57よく知らないんだけど、事例集っぽいのをピックアップしてみた。
Squeak Smalltalk (Apple Smalltalkの生き残り)
http://squeakland.jp/school/schoolhome.html
http://www.seaside.st/
http://dabbledb.com/
http://www.croquetconsortium.org/index.php/Current_Projects
http://japan.internet.com/webtech/20070314/12.html
Cincom Smalltalk (XEROX Smalltalkの生き残り)
http://smalltalk.cincom.jp/scripts/smalltalk.dll/customer/applicationj.ssp
http://smalltalk.cincom.jp/scripts/smalltalk.dll/customer/applicationw.ssp
http://capsctrl.que.jp/kdmsnr/wiki/bliki/?C3
http://www.whysmalltalk.com/production/
IBM Smalltalk (すでに死亡)
http://www-306.ibm.com/software/awdtools/smalltalk/about/
0102デフォルトの名無しさん
2007/04/26(木) 01:12:39http://www.sra.co.jp/people/aoki/
0103デフォルトの名無しさん
2007/04/26(木) 10:18:18大体どの分野でも使われてると思うけど、医療事務系とかが多いんじゃね?
0104デフォルトの名無しさん
2007/04/26(木) 11:47:42(self lookupSelector: sel) messages includes: #subclassResponsibility
は、
(self lookupSelector: sel) isSubclassResponsibility
で、おk。
0105デフォルトの名無しさん
2007/04/26(木) 20:11:51>>100
オレは組み込み系でCからC++に移行したんだが
どうもOOPとかデザパタについてしっくりこないというか、
理解が浅い気がするので、アプローチを変えて動的型づけの言語を
試しにやってみようかと考えてたところ
Wikiみたらオブジェクト指向の手本だとか、デザパタの宝庫という
文字をみてちょっと興味を持った。歴史のある言語みたいだね
0106デフォルトの名無しさん
2007/04/26(木) 21:26:49最近組み込み系の書籍漁りしてる厨房か
0107デフォルトの名無しさん
2007/04/26(木) 23:41:51もしかして大学病院とか?
>>105
IDE の中に OS が入っている様な感覚は、最初は異様に感じるかもしれないね。
0108デフォルトの名無しさん
2007/04/27(金) 02:38:200109デフォルトの名無しさん
2007/04/27(金) 05:10:47Smalltalkのことじゃね?
あの言語でインタプリタ単体の環境は俺は聞いたことがない
ほとんどはSmalltalk環境自体が一個のシステムって感じ
0110デフォルトの名無しさん
2007/04/28(土) 15:47:470111デフォルトの名無しさん
2007/04/28(土) 16:03:16また例のバカの妄想だろう
0112デフォルトの名無しさん
2007/04/28(土) 16:04:090113デフォルトの名無しさん
2007/04/28(土) 16:05:49恥ずかしくて見てらんない
0114デフォルトの名無しさん
2007/04/28(土) 16:11:43IDEの中にOSが入っているんじゃなくて、
風変わりなOSの試作品を無理矢理IDEっぽく見せて使わせてるんだ。
http://d.hatena.ne.jp/umeaji/20060721/p1
0115デフォルトの名無しさん
2007/04/28(土) 16:18:260116デフォルトの名無しさん
2007/04/28(土) 16:20:07スルー力低過ぎ。
0117デフォルトの名無しさん
2007/04/28(土) 16:23:07それがスモールトーク
そしてそれを愛するスモールとーカーも表舞台には立てない
0118デフォルトの名無しさん
2007/04/28(土) 16:25:431980年代前半ならSmalltalkVMと専用CPUの実装が博士論文になってたな。
1980年代後半だと並列化やマルチパラダイム化
1990年代初頭だとプロトタイプベース・オブジェクト指向言語の実装
1990年代後半だとリファクタリング絡みやアスペクト指向
1990年代後半に入ると、JavaVMが普及してきて、
SmalltalkVMを使う必然性が薄らいできているような気がする。
まあSmalltalk上の資産や蓄積、ノウハウによっぽどの思い入れがあれば、
今でも研究プラットフォームたりえるんだろうけど。
0119デフォルトの名無しさん
2007/04/28(土) 16:27:51国内の開発者にヘタレが多いだけじゃないの?
0120デフォルトの名無しさん
2007/04/28(土) 16:29:43もっと有意義な成果が出てただろうにね。
大規模開発なんてどうせバカしか集められないんだから
先端技術を使って破綻して迷惑をかけたりせずに
隅っこの方でCOBOLer集めてチマチマやっとけってんだ。
0121デフォルトの名無しさん
2007/04/28(土) 17:31:28IBM(VisualAge) のも Sun(Strongtalk) のも
0122デフォルトの名無しさん
2007/04/28(土) 17:46:03VA自体が元々Smalltalkかなんかで記述されてた
という話は聞いた事あるけど。
StrongtalkVMに関しては
その技術がJavaVMにも転用されただけじゃないか?
0123デフォルトの名無しさん
2007/04/28(土) 17:54:430124デフォルトの名無しさん
2007/04/28(土) 18:25:460125デフォルトの名無しさん
2007/04/29(日) 01:41:290126デフォルトの名無しさん
2007/05/04(金) 02:50:19./:::::\ /::::::ヽ
/::::::::::::;ゝ--──-- 、._/::::::::::::::|
/,.-‐''"´ \:::::::::::|
/ ヽ、::::|
/ ヽ|
l. l
.| ● |
l , , , ● l
` 、 (__人__丿 、、、 / >>1 糞スレ
`ー 、__ /
/`'''ー‐‐──‐‐‐┬'''""´
./ ___ l __
l ./ / |/ |
`ー-< / ./ ./
`ー‐--{___/ゝ、,ノ
0127デフォルトの名無しさん
2007/05/10(木) 00:25:54なんでいちいちclass_variable_get使ってんの?
(@@ABSTRACT_METHODS ||= []).concat(names)
@@ABSTRACT_METHODS.each
でいいじゃん。
0128デフォルトの名無しさん
2007/05/26(土) 22:43:100129デフォルトの名無しさん
2007/07/20(金) 07:01:41仮想クラスを2つ作りたい時のため。
直に扱うと個々のクラスじゃなくて親のクラスのクラス変数になってしまうみたいで
全ての仮想クラスで@@ABSTRACT_METHODSが共有されてしまう。
…ってもしかして 1.9.x ではならないのか?
0130デフォルトの名無しさん
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
0131デフォルトの名無しさん
2007/07/20(金) 07:13:40uninitialized class variable になるよ。
0132デフォルトの名無しさん
2007/07/20(金) 09:48:11記述するにはどうすればいいですか。
0133デフォルトの名無しさん
2007/07/23(月) 15:48:14こういうのじゃ駄目なの?
| fileManager |
fileManager := SourceCodeStream write: NameOfClass printString, '.st' encoding: #Source.
fileManager timeStamp.
NameOfClass fileOutSourceOn: fileManager.
fileManager close
0135132
2007/10/02(火) 22:08:29どうすればいいですか。
0136デフォルトの名無しさん
2007/10/03(水) 01:34:440137デフォルトの名無しさん
2007/10/03(水) 06:27:350138デフォルトの名無しさん
2007/10/03(水) 06:28:230139デフォルトの名無しさん
2007/10/03(水) 11:33:48そっか、aClassという名前のクラスを得たいのか。(ってそう書いてあるじゃんw)
そうならば137のRubyと同じ方針で、
Smalltalk at: 'aClass'
でおk。(136でもできるけどね)
老婆心ながら、クラス名は小文字ではじめないほうがいいと思います。
0140デフォルトの名無しさん
2007/10/03(水) 13:57:300141デフォルトの名無しさん
2007/10/03(水) 17:03:57Object.const_get("AClass")
か。orz
0142132
2007/10/05(金) 01:12:530143デフォルトの名無しさん
2007/10/05(金) 08:54:14英語が嫌いな人にはキツそうだね。
0144デフォルトの名無しさん
2007/11/07(水) 00:59:020145デフォルトの名無しさん
2007/11/07(水) 23:53:230146デフォルトの名無しさん
2007/11/07(水) 23:55:230147デフォルトの名無しさん
2007/11/13(火) 08:38:49smalltalkを先に勉強すればC++は勉強しなくても使える
0148デフォルトの名無しさん
2007/11/13(火) 19:45:21知っていても何の役にも立たないと思うけど
0149デフォルトの名無しさん
2007/11/14(水) 02:16:580150デフォルトの名無しさん
2007/12/18(火) 21:45:52> C++ はテンプレートライブラリ用言語だから
ゲラ
0151デフォルトの名無しさん
2008/03/09(日) 08:25:050152デフォルトの名無しさん
2008/03/09(日) 18:41:120153デフォルトの名無しさん
2008/03/09(日) 21:35:030154デフォルトの名無しさん
2008/03/09(日) 21:50:340155デフォルトの名無しさん
2008/03/30(日) 12:00:360156デフォルトの名無しさん
2008/03/31(月) 17:48:13片手塞がっててもう片手もページめくってるのに、よく書けるな。
0157デフォルトの名無しさん
2008/04/01(火) 19:32:47横にいる彼女に代筆してもらってる
0158デフォルトの名無しさん
2008/04/01(火) 23:46:450159デフォルトの名無しさん
2008/04/05(土) 07:20:36彼女がマスかいてる横でエロ本読みながら2chやってるな
0160デフォルトの名無しさん
2008/11/03(月) 16:41:54>>> 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好きの方には申し訳ないけど...
0161デフォルトの名無しさん
2008/11/03(月) 16:46:090162デフォルトの名無しさん
2008/11/03(月) 16:48:48「a='abc'」をプログラマが実行してしまった時点で最初の「a=1」には二度とアクセスできない。
そう。a=1で生成されたインスタンスはゴミとしてメモリに残る訳だ。
gcの機能はあるらしいけれど...バグだらけ。
さっき試したらIDEが吹き飛んだよん。
0163デフォルトの名無しさん
2008/11/03(月) 16:51:42上記はあくまでも利用してみた感想さ。
悪く思わないで下さいね。
まだまだpythonは言語拡張の必要性はあると思う。
0164デフォルトの名無しさん
2008/11/03(月) 16:56:33a=1のインスタンスのメモリ番地は0x00AB5670
a='abc'のインスタンスのメモリ番地は0x00DB4FE0
表記はどちらもaだけれど別インスタンスです。
動的型付けではないですね。
0165デフォルトの名無しさん
2008/11/03(月) 17:05:400166デフォルトの名無しさん
2008/11/03(月) 17:18:35あなたになにがわかりますかね。
Pythonという言語の馬鹿さ加減を指摘しただけなんですけどね。
大学出てない人ですか。
0167デフォルトの名無しさん
2008/11/03(月) 17:30:380168デフォルトの名無しさん
2008/11/03(月) 17:31:13166の発言は私ではありません。
asm,CはOSやハードウェア(下位レイヤ)の性能を100[%]引き出せるように考えられたボトムアップアプローチだった訳です。
ハードウェアやOSリソースを100[%]効率よく使えるようにデザインされていた。
しかし、純粋オブジェクト指向言語はトップダウンアプローチ
つまり、理想ありきで下位レイヤの機能やリソース(OSやハードリソース)は使わない方針なんですよ。
そこんところを改善するべきだよね。標準modulesにDBへのアクセス機能がないのもチトどうかと思う。
折角お金をだして購入した機能やリソースは100[%]使い切りたい。
これって普通の人間の普通の希望じゃないだろうか?
まあ、こういった問題はpython使いが増えれば改善されるかな。
0169デフォルトの名無しさん
2008/11/03(月) 17:32:01166の発言は私ではありません。
asm,CはOSやハードウェア(下位レイヤ)の性能を100[%]引き出せるように考えられたボトムアップアプローチだった訳です。
ハードウェアやOSリソースを100[%]効率よく使えるようにデザインされていた。
しかし、純粋オブジェクト指向言語はトップダウンアプローチ
つまり、理想ありきで下位レイヤの機能やリソース(OSやハードリソース)は使わない方針なんですよ。
そこんところを改善するべきだよね。標準modulesにDBへのアクセス機能がないのもチトどうかと思う。
折角お金をだして購入した機能やリソースは100[%]使い切りたい。
これって普通の人間の普通の希望じゃないだろうか?
まあ、こういった問題はpython使いが増えれば改善されるかな。
0170デフォルトの名無しさん
2008/11/03(月) 17:35:09> ハードウェアやOSリソースを100[%]効率よく使えるようにデザインされていた。
C言語でスタックやフラグレジスタにアクセスできないことに四苦八苦したことが
ある俺から言わせてもらうとこの時点でお前の俺様的空論なんだが。
0171デフォルトの名無しさん
2008/11/03(月) 17:37:13166の発言は私ではありません。
asm,CはOSやハードウェア(下位レイヤ)の性能を100[%]引き出せるように考えられたボトムアップアプローチだった訳です。
ハードウェアやOSリソースを100[%]効率よく使えるようにデザインされていた。
しかし、純粋オブジェクト指向言語はトップダウンアプローチ
つまり、理想ありきで下位レイヤの機能やリソース(OSやハードリソース)は使わない方針なんですよ。
そこんところを改善するべきだよね。標準modulesにDBへのアクセス機能がないのもチトどうかと思う。
折角お金をだして購入した機能やリソースは100[%]使い切りたい。
これって普通の人間の普通の希望じゃないだろうか?
まあ、こういった問題はpython使いが増えれば改善されるかな。
0172デフォルトの名無しさん
2008/11/03(月) 17:42:56>>160, 161-164
に具体的にコメントしてくれよな。
もっともいざこざは面倒なので空論でも結構だけどさ。
ところで純粋に疑問なのですが、
>C言語でスタックやフラグレジスタにアクセスできないこと
pythonではスタックやフラグレジスタ(cpuリソース)に明示的にアクセスできるの?
ちょっと勉強させてくださいな。
0173デフォルトの名無しさん
2008/11/03(月) 17:47:190174デフォルトの名無しさん
2008/11/03(月) 17:52:04cpuアーキテクチャがまるで違うのにpythonではcpuリソースに一元的なアクセスが可能なの!?
無理だと思うけどなぁ〜。
0175デフォルトの名無しさん
2008/11/03(月) 17:57:54これらはCPUの動作を真似たサンプルコードというだけで
本物のCPUリソースへアクセスしている訳ではないと思います...
まあ、いいや。
立場は違えどpythonというキーワードに触れるだけでもハイレベルな人たちだと思いますので
私から皆様へ敬意を表した上で退散させて下さいな。
0176デフォルトの名無しさん
2008/11/03(月) 18:12:100177デフォルトの名無しさん
2008/11/03(月) 18:12:150178デフォルトの名無しさん
2008/11/03(月) 18:35:30いや、静的型付けOOをも否定しているw
つーか、ポリモーフィズムの否定だwww
0179デフォルトの名無しさん
2008/11/04(火) 00:18:50はっきり答えを導ける人は2chにいなかったようですね。さみしいな。
0180デフォルトの名無しさん
2008/11/04(火) 00:56:07色々とトンチンカンというか、動的言語云々の前にOOP自体よくわかってないみたいだし。
0181デフォルトの名無しさん
2008/11/04(火) 01:47:04python(パイソン)をいろいろと否定したような掲示をしたけれど
本当にダメな言語だと思っているならわざわざ言語仕様を調べたり勉強したりなんかしないぞ。
以下のURLを見て欲しい。Google Data APIにpython版が発表されている。
http://code.google.com/p/gdata-python-client/
Googleの技術者はGoogle Dataを普及させる為にpythonによるclientが強力な開発ツールになると判断しているんだ。
Google Data APIを利用できる言語としてJava, PHP, .NETなんかが採用されているみたいだよ。
ASMやCでは無理って事さ。
道具はその場その場で使い分けろって事なんだろうね。
先のURLからAPIをダウンロードするとデザインパターン with pythonの未来が見えるかもよ。
そこの君、俺は色々変な掲示をしてしまったけれど気を悪くしないでくれよな。
じゃあな!!
0182デフォルトの名無しさん
2008/11/04(火) 02:16:38あとPythonを使ってる君!C++に切り換えるとか考えよう!
じゃあな!!
0183デフォルトの名無しさん
2008/11/04(火) 10:34:31.| | | レ | | | | | J || | |
∩___∩ | | | J | | | し || | |
| ノ\ ,_ ヽ .| レ | | レ| || J |
/ ●゛ ● | .J し | | || J
| ∪ ( _●_) ミ .| し J|
彡、 |∪| | .J レ
/ ∩ノ ⊃ ヽ
( \ / _ノ | |
\ " / | |
\ / ̄ ̄ ̄ /
 ̄ ̄ ̄ ̄
0184デフォルトの名無しさん
2008/11/04(火) 12:39:000185デフォルトの名無しさん
2008/11/06(木) 01:18:540186デフォルトの名無しさん
2008/11/07(金) 04:38:24VBのVariantに近い型付けをする言語って何だろ。あんまり知らないな。
0187デフォルトの名無しさん
2008/11/08(土) 13:10:06Pythonの方でしょうか。
正直僕の小論に答えられないということを認めたほうがいいと思いますよ。
他の言語を引き合いに出して型付けが別物とか誰でも言えます。
0188デフォルトの名無しさん
2008/11/08(土) 13:22:29http://ja.wikipedia.org/wiki/%E3%83%9D%E3%83%AA%E3%83%A2%E3%83%BC%E3%83%95%E3%82%A3%E3%82%BA%E3%83%A0
0189デフォルトの名無しさん
2008/11/08(土) 19:32:28そんな寄付によって成り立っています、みたいなバナーを出す詐欺サイトを出されても困りますよ
0190デフォルトの名無しさん
2008/11/08(土) 22:27:37善意の寄付で成立する詐欺サイト...
聞いたことねぇ。(^_^)
0191デフォルトの名無しさん
2008/11/08(土) 23:19:01自分の親にオレオレ詐欺するようなもん?
0192デフォルトの名無しさん
2008/11/08(土) 23:27:040193デフォルトの名無しさん
2008/11/09(日) 00:54:10死ぬ死ぬ詐欺
0194デフォルトの名無しさん
2008/11/09(日) 01:07:580195デフォルトの名無しさん
2008/11/09(日) 01:42:44有志の方がんばって百科事典つくりましょう\(^o^)/
↓
便利な百科事典できました
↓
つぶしたくなかったら、寄付しろ
0196デフォルトの名無しさん
2008/11/09(日) 12:53:06何かを作る過程にはボランティアの人は寄ってきても、
長く辛いだけでしかないメンテに人はよってこないし、
成果物の恩恵に与る側からの寄付でメンテコスト捻出とか、
ごく普通のライフサイクルですが。
0197デフォルトの名無しさん
2008/11/09(日) 14:06:010198デフォルトの名無しさん
2008/11/09(日) 14:13:27レッテル貼りに終始するお前のような馬鹿ホイホイのためのスレですお
0199168
2008/11/09(日) 14:42:49やれやれ。
0200デフォルトの名無しさん
2008/11/10(月) 12:15:46スレ違い
0201デフォルトの名無しさん
2008/11/10(月) 12:18:250202デフォルトの名無しさん
2008/11/11(火) 00:15:27>>168を掲示したオリジナルです。( >>199とは別人です。 )
>>まあ、こういった問題はpython使いが増えれば改善されるかな。
で自己解決ですな。俺は168で答えは求めてないぜ。
要するにパイソンユーザが増えて下位レイヤのデバイスを表現するクラスがバンバン作られればパイソンの名も上がるだろうと思うよん。
その時にデザインパターンが活用されれば間違いないと思うよ。
0203デフォルトの名無しさん
2008/11/11(火) 01:20:370204デフォルトの名無しさん
2008/11/11(火) 01:21:50パイソンを使い続けるとデザインパターンを学ぶ時に大変くろうするかな。
早めにJavaを初めて、パイソン捨てる事をおすすめしますよん。
ではでわっ!!
0205デフォルトの名無しさん
2008/11/11(火) 07:44:53デザパタ自体がもともとSmalltalkから派生した考えだということ
知らないんだろうなあ・・・
0206デフォルトの名無しさん
2008/11/11(火) 09:07:33オートマ車に乗り続けるとクラッチ操作を忘れてしまうってことですね?
・・・本末転倒だろ・・・
0207デフォルトの名無しさん
2008/11/11(火) 09:45:12というか静的型言語厨でした、というオチですか。
0208デフォルトの名無しさん
2008/11/11(火) 10:22:14C++使って糞コード書いている奴でもこんな変な事は書かない。
「処理系」というものが頭にない奴なんじゃないのかな。
PythonはPythonたるもので出来ているとかそう思い込んでいる。(pypyというプロジェクトはあるが。)
0209デフォルトの名無しさん
2008/11/16(日) 10:27:34いっとくけど俺は>>204書いてないぞ
しかし同意できるのはPythonの人たちはねちっこいから
何も言えなくなるってことだね。自分たちの知識不足についてまったく追えていない。
0210デフォルトの名無しさん
2008/11/16(日) 23:38:010211デフォルトの名無しさん
2008/11/17(月) 01:02:56デザパタのうちのいくつかは「静的型で動的型っぽいことをする」ためのパターンでもあるしな。
0212デフォルトの名無しさん
2008/11/27(木) 16:38:16書くのは何の役にも立たないような計算とかリストを返すプログラムのみ)
のおれが言うのも何だけど、pythonでOOとかパターンとかやる必要ないんじゃないの?
関数で書けばいいじゃん
関数でリストを返してlambdaするインタプリタを書けばいいんだよ
0213デフォルトの名無しさん
2008/11/27(木) 16:52:31とんちんかんなことを書いていると思うけど、
プログラムは世界を救うためにあるんだろう
人を幸せにするためにプログラマがいるんだろう
無意味な争いがしたいだけなら、ゲームでもやってろと思った
オブジェクト指向とかライブラリとかインターフェイスとかパターンに
囚われることが本当に世界救済につながるのかどうか考えてください。
おれはAppleIIみたいなのをpythonで作れるとか思っているほど知識に乏しいので
プログラムなどは使うだけで満足なんですよ、便利だし
それを作るのはあなた達です、頑張ってください。
0214デフォルトの名無しさん
2008/11/30(日) 00:04:260215デフォルトの名無しさん
2009/01/01(木) 14:11:46狩パターン
釣パターン
煽りパターン
初心者パターン
クレクレパターン
0216デフォルトの名無しさん
2009/04/04(土) 23:50:53設計するまでもなく簡単に実装できればパターンですらなくなってしまう。
クラスやモジュールの形で供給されたり、言語に組み込まれて簡潔に書けるものはパターンとは呼べまい。
Singletonはメタクラスで表現できるし、
Iteratorはジェネレータ構文やブロック付きメソッドですぐ書ける。
Strategyは関数がファーストクラスの言語ではそもそも関数渡せばいいし、
boostにはflyweightクラスがあるし、
pythonにはデコレータ構文があるし、
いわゆるGoFのデザインパターンは時代と共に減っているんじゃないだろうか?
>>212
関数で状態を表現するのはかなり気持ち悪い
状態なんかなくてもいいやい!とか思ってるんならHaskellとかお勧め
……Compositeとかは普通に使うんじゃないかなあ……
0217デフォルトの名無しさん
2009/04/04(土) 23:54:52減っているというか、プログラミング言語自体やメジャーライブラリが意識して取り込んできている
そう言う意味で、デザインパターンは「それそのものは減ってはいないが実装の機会は減っている」
ソースの中のコメントを覗くと「○○パターン」とだけぽそっと書いてあったりする
0218デフォルトの名無しさん
2009/04/05(日) 17:06:22しかしそれは慣用句が基本語彙になったということで、デザインパターンが
真の意味で理解され始めたということなんだろう。良いことだ。
0219デフォルトの名無しさん
2009/08/28(金) 21:53:590220デフォルトの名無しさん
2010/02/28(日) 18:42:51それらについての本出してくれたら、買うわ。
■ このスレッドは過去ログ倉庫に格納されています