消えてなくなれよ > ..
[2ch|▼Menu]
175:デフォルトの名無しさん
09/03/01 13:27:21
>>172
>>170ではないけど

>で、そのオブジェクトはグローバルに参照できるの?www
それはできないけど
メンバを大量に作るとグローバル変数と変わらない動作をするってのは俺はわかる
1クラスが異常にでかいソースにあたったときに苦労した

void setEdit()
{
  transXXUnkoUnko(m_Bom);
}

void setEdit(int bom)
{
  transXXUnkoUnko(bom);
}

単純に書くとこんな違いになるんだけど前者は追えるけど
後者はまったく追うことができない

176:デフォルトの名無しさん
09/03/01 14:07:15
>>175
しかし参照による相互作用はオブジェクト内におさまるよね?
プログラム全体がグローバル変数でガチガチに結合されるのと、
一応はオブジェクト単位に分離できるのとで、どっちがマシだと思う?

177:デフォルトの名無しさん
09/03/01 14:09:32
>>175
> void setEdit()

セッターがこのシグネチャってのは全く理解できないんですが。

> void setEdit(int bom)

1つのセッターで1つのメンバ変数にアクセスすることのどこが「大量」なのかサパーリ。

178:デフォルトの名無しさん
09/03/01 14:25:08
>>172
グローバルに参照したいから get* とか set* なんてアクセッサ作ってるんだろ
じっさいに名前空間切り替えることもせずに無節操にアクセスしてるしwW


179:デフォルトの名無しさん
09/03/01 15:52:53
おっとまた>>178が頓珍漢な返答を!

180:デフォルトの名無しさん
09/03/01 17:09:12
>>176
そりゃたしかにグローバルにしてしまうよりはいい
でも、そういうダメなものとどっちが・・・って議論をしたいんじゃなくて
そもそもこれってどーなのよ?
って言いたい

181:デフォルトの名無しさん
09/03/01 17:35:03
>>180
これ、とは?

182:デフォルトの名無しさん
09/03/01 17:45:53
昔、4つか5つの処理があれば何でもできると聞いたが、
オブジェクトはなんでこんなにややこしいの?

183:デフォルトの名無しさん
09/03/01 17:57:46
>>182
オブジェクトがややこしいんじゃなくて、
君の脳細胞が未分化なだけ。

184:デフォルトの名無しさん
09/03/01 17:58:33
>>180
それがわかれば、あとはオブジェクトの粒度を適切に設定すればいいんだ、ということに気付くはずだが?

185:デフォルトの名無しさん
09/03/01 18:11:03
つぶどってなんなんだぜ

186:デフォルトの名無しさん
09/03/01 18:13:37
>>184
粒度の問題なのか?と問いたい
だったらグローバル変数・関数だって小さいうちはアクセスしやすいし便利なだけだろ?
ただ、そのプロジェクトでの増加量を誰も予測できないから
やっぱりおかしくなってしまうわけで

俺がどう考えてるかというと
基本的にはメンバ変数ってのはダメなんだと思う

187:デフォルトの名無しさん
09/03/01 18:17:48
!?

188:デフォルトの名無しさん
09/03/01 18:18:55
クラスとインスタンスの違いが分かってない子の気配。

189:デフォルトの名無しさん
09/03/01 18:41:36
>>171
一人でコード書いてりゃいいニートと一緒にしないでくれよ
仕事でプログラム組む時は複数人でやるのが当たり前
お前の理想は現実とはかけはなれてる。そこわかってる?

190:デフォルトの名無しさん
09/03/01 18:49:31
>>184
他人が書いたコードも君は全て責任持って修正できる?

191:デフォルトの名無しさん
09/03/01 19:14:34
>>184
そこに明確な基準は無いよね
重要な部分を個々の考えに任せる時点でダメ


192:デフォルトの名無しさん
09/03/01 21:39:13
メンバ変数が追えないというヤツは関数内やファイルスコープ内の静的変数にもハマるだろう。

193:デフォルトの名無しさん
09/03/01 22:52:03
>>186
メンバ変数とグローバル変数とは全然違うぞ...

クラス内では、まるでグローバル変数のように見えるけどな


194:デフォルトの名無しさん
09/03/01 23:13:36
オブジェクトがたった一つなら、名前空間内のグローバル変数だけど、複数あったら事情が違うが。

195:デフォルトの名無しさん
09/03/02 00:04:59
>>191
個々の考えと言ってるうちは、何も理解してない
ということになってしまう。

196:デフォルトの名無しさん
09/03/02 00:07:54
だけど実際はクラスは大きくなってしまうわけで
そうなるとグローバル変数と変わらない動きをする
グローバル変数も管理できていれば問題はおきないってのは一緒なんだよね

でかいだけじゃなくて、1つのクラスを3つぐらいの使い方ができたり、
呼ぶ場所によって挙動を変えてるようなのもかなり複雑でまずい

197:デフォルトの名無しさん
09/03/02 00:16:27
>>196
int a, b;
としたとき、aとbの数値は連動するの?
a = 1;
としたら、bも1になってるの?

巨大化するクラスは、何かがおかしいと思うの...
俺みたいなニートなプログラマが気まぐれで作っているならともかく、プロが仕事で作っているのに1つのクラスが巨大化したら駄目でしょう


198:デフォルトの名無しさん
09/03/02 00:34:12
>>195
明文化された明確な基準のソースを示した人でなきゃそのセリフは吐けないはずだけど…
そうでないのに何コレ

199:デフォルトの名無しさん
09/03/02 00:38:36
グローバル変数と変わらないって言ってる意味が全く分からん
アクセサ経由でメンバ変数にどこからでも参照できるから、みたいなアホな意見?

200:デフォルトの名無しさん
09/03/02 00:42:03
staticか非staticかに関わらず複数メソッドから直接見える変数が存在することがダメって話…かと思いきや
違うのか
ちがわなければ同意

201:デフォルトの名無しさん
09/03/02 00:42:50
>>199
違うんだよ
1つのクラス内の関数同士の話

202:デフォルトの名無しさん
09/03/02 00:43:41
>>199
メイン関数まで内包してるような
超巨大クラスを想像しろ
メソッド同士が呼び出しあって動作する

203:デフォルトの名無しさん
09/03/02 01:03:54
>>201-202
怖い、怖いです...
冬なんですから怪談話は止めてください

204:デフォルトの名無しさん
09/03/02 01:08:53
ローカル変数もスコープ内のどこでも使えるから一緒ですか分かりません

205:デフォルトの名無しさん
09/03/02 01:11:38
オブジェクト指向を知らないまま、オブジェクト指向した末の惨劇ですね

206:デフォルトの名無しさん
09/03/02 01:48:54
信者共はあえてアホレスのみを捕まえて袋叩きにしたあと、
痛いとこついてるレスまでついでにまとめて
理解できない奴が悪いで済ませようとしてるけど

それでオブジェクト指向の暗黒面が消え去るわけじゃないだろ…

207:デフォルトの名無しさん
09/03/02 01:58:39
>>204
同じようになるよ
超長い関数で一番上でまとめて宣言されると
どこで使ってるかマジで不明

使う場所で適切に用意→破棄してくれと言いたい
でもC言語だとダメなんだっけ?

っていうかその前に長い関数作るなよと言いたい

208:デフォルトの名無しさん
09/03/02 03:36:46
ラッパークラスなんか超長い関数と同じ
生成期間も無駄に長い

209:デフォルトの名無しさん
09/03/02 05:41:58
ループカウンタとかどこで定義しようが何も問題無いだろ

210:デフォルトの名無しさん
09/03/02 05:49:46
忘れっぽいからさ。
使うところの近所で定義してもらわないと型とかあっさり忘れるんだわ。
老化が始まると全部関数の頭で定義なんてマジしんどい。

211:デフォルトの名無しさん
09/03/02 07:38:46
結局、メンバ変数を叩いてる人は、自分がプログラミング初心者ですと告白している、ということでFA?

212:デフォルトの名無しさん
09/03/02 09:07:23
>>211
とりあえずFPやってみろ

213:デフォルトの名無しさん
09/03/02 09:12:52
>>212
俺はMiranda, Gofer, SML, HaskellとFPやってきたが、>>211に同意だ。
OOを叩いている側の人間に明らかな技量不足が見える。

214:デフォルトの名無しさん
09/03/02 09:15:29
毎回アンチをひとまとめにして叩いてるあなたが言っても
自演にしか見えにゃーど

215:デフォルトの名無しさん
09/03/02 09:19:39
>>213
自由変数&mutableベッタベタだったのか…

216:デフォルトの名無しさん
09/03/02 09:23:18
>>214
技量不足以前に妄想性人格障害か。お大事に。

217:デフォルトの名無しさん
09/03/02 09:26:28
気軽にOOPを持ち込もうとして混乱する者どもの存在は分かった。

218:デフォルトの名無しさん
09/03/02 09:27:28
>>215
へー、Mirandaでどうやってmutableを実現するのか、説明してよwww

219:デフォルトの名無しさん
09/03/02 09:28:44
このスレには
他人のクラスの粒度どころかライセンス的に修正不可なソースまで修正できる自称スーパープログラマ(笑)
が沢山いるみたいだな
BREWとかどうすんのマジで

220:デフォルトの名無しさん
09/03/02 09:33:25
>>218
できないから移行(挫折)したんだろ?w

221:デフォルトの名無しさん
09/03/02 09:34:43
メンバ変数ってまでに広げたら、それこそ状態量を持つオブジェクトすべて指すようになってしまうな
流石にそれは極論だと思うので、もう少し範囲を狭めて考えてみる。
「グローバル変数と同じ」という性質を「何処で誰が触っているかわからない」ということだと仮定すれば
恐らくパブリックフィールドの事を叩いてたんじゃないかなと考えている。

222:デフォルトの名無しさん
09/03/02 09:38:08
>>221
だとしても、そのオブジェクト自体がグローバルに参照されていなければ
メンバ自体がpublicでも「何処で誰が触っているかわからない」状態にはならないよね。

223:デフォルトの名無しさん
09/03/02 09:39:49
>>221
> 恐らくパブリックフィールドの事を叩いてたんじゃないかなと考えている。

じゃなくて、もっとひどい。

>>201
> 1つのクラス内の関数同士の話

↑このように、クラス、という静的な単位で困っている様子。

食べることが悪いんじゃない。
食べ過ぎることが悪いんだ。

メンバ変数が悪いんじゃない。
メンバ変数が多すぎたり、
クラス内の関数が多すぎたりでかすぎたりするのが悪いんだ。

224:デフォルトの名無しさん
09/03/02 09:55:22
そうか、全然読めてなかったよ

折角クラス内だけにスコープを止めても、そのクラス内がカオスだったら
人間が把握できない程度に複雑になる可能性があるという点ではグローバル変数と同じ
と解釈した

「とりあえずクラスにすりゃなんとかなるじゃんw」っていうような安直なOOPに対する批判なのかな?

225:デフォルトの名無しさん
09/03/02 10:02:21
逆にアンチOOPに訊きたいのは、

プログラム全体が1つのクラスになってしまうような巨大クラスは問題だ、という主張なんだよな?
まあ、それはそれでいいけど、

(1) そもそもクラスにしないで関数や手続きとして実装しても同じ問題になるし、
関数や手続きとして実装してうまくいくのなら、それをそのままクラスにしても、
それなりにうまくいくのでは?

(2) その巨大クラスのインスタンスは何個できるの?
もしインスタンスが多数できるのなら、参照関係の複雑さも多少は整理されているのでは?

ぜひ答えてほしい。

226:デフォルトの名無しさん
09/03/02 10:17:48
多少複雑さが軽減されるからといって、
把握できないぐらいのものが把握できないぐらいのものに変わっても意味ないよね。
OOPを使って複雑なものを人間が把握できる程度まで落し込めるような使い方じゃないと、
同じどころかOOAのコストの分だけ損になると思うよ。
こんな考え方でもアンチOOPになるんですか?

227:デフォルトの名無しさん
09/03/02 10:18:09
アンチはしらんが、どっちで実装しても同じならわざわざ手間のかかる
手段をとらなくていいのでは?

228:デフォルトの名無しさん
09/03/02 10:47:09
>>227
手間かけていないから巨大クラスになるんじゃねーの?

229:デフォルトの名無しさん
09/03/02 17:57:38
巨大クラスを作るってのは、オブジェクト指向が必要だとか不要だとか言う前に
構造化プログラムとは何かから始めないと駄目だと思うの


230:デフォルトの名無しさん
09/03/02 22:37:31
>>229
> 構造化プログラム
以前の問題で、
「自分が何をしなければならないか?」
の、分析ができてないんとちゃうん?

「作らんとあかん物の分析をやってない」
としか思えんのよ


231:デフォルトの名無しさん
09/03/02 22:55:58
つまりほとんどのプログラマはOO以前に構造化すら満足に出来てないと。

232:デフォルトの名無しさん
09/03/02 23:03:21
やはり構造化よりオブジェクト指向の方が頼りにされていたクライアんトとの戦いで
おれは納期に遅れてしまったんだがちょうどマネージャがわきはじめたみたいでなんとか耐えているみたいだった
おれは家にいたので急いだところがアワレにもCプログラマがくずれそうになっているっぽいのが携帯で叫んでいた
どうやらプログラマがたよりないらしく「はやくきて〜はやくきて〜」と泣き叫んでいるチームメンバーのために俺はオブジェクト指向を使って普通ならまだ出来ない時間できょうきょプログラミングすると
「もう出来たのか!」「はやい!」「きた!オブジェクトきた!」「メインプログラマきた!」「これで勝つる!」と大歓迎状態だった

233:デフォルトの名無しさん
09/03/02 23:03:41
クラス勉強し始めた初心者ですが、正直何でFunctionだけじゃダメなのか分かりません。

・Functionだけでも資産は後に再利用できる
・1ページの表示で同じクラスオブジェクトを複数作成する必要がない
・いちいちオブジェクトを生成するのが面倒

それでもオブジェクトの方が便利と言う方・・お話聞かせて頂けませんか?

234:デフォルトの名無しさん
09/03/02 23:20:41
>>232
日本語でどうぞ

235:デフォルトの名無しさん
09/03/02 23:22:06
>>233
そのコメントみてるとたぶんwebやってるんだろうけど
それくらいならオブジェクト導入してもしなくても良かろう

236:デフォルトの名無しさん
09/03/02 23:26:25
クラスが巨大になりすぎるからとかいってるやつって、
関数が巨大になりすぎたり、グローバル変数をポコポコ作ったりするやつでそ

237:デフォルトの名無しさん
09/03/02 23:27:02
>>233
メンドイ。
とりあえず憂鬱なプログラマのためのオブジェクト指向開発講座を読んで、
なじまないと感じたなら以後はオブジェクト指向言語を避けろ
オブジェクト指向言語で無理に関数だけでプログラム組んでも馴染まないしな
言語の思想にあった手法を取るのが一番

避けようのない状況ならご愁傷様

238:デフォルトの名無しさん
09/03/02 23:31:26
>>236
> 関数が巨大になりすぎたり、グローバル変数をポコポコ作ったりするやつ
が、OO したつもりになると
「クラスが巨大になりすぎるので OOって意味ねぇ!!!」
言ってるじゃね?


239:デフォルトの名無しさん
09/03/02 23:34:04
コボラーのように罵られる存在になりたくないから皆必死にOOを守ろう

240:デフォルトの名無しさん
09/03/02 23:50:04
とりあえず比較的年配の方々で、やたら「オブジェクト指向」連発する人間は
信用できない。

241:デフォルトの名無しさん
09/03/03 00:57:51
>>235, >>237
アドバイスありがとうございました。
ActionScriptもいつの間にかClassが使用され
周りの言語は、全部オブジェクト指向を取り入れて行っているような気がしてなんだか焦りますね。
そのうち、オブジェクト指向出来ない人は、ハイさようならになりそう。

「憂鬱なプログラマのためのオブジェクト指向開発講座」もちょっと読んでみることにします。

その他、効率の良いクラスの設計の仕方など、参考になる本はありますでしょうか?

242:デフォルトの名無しさん
09/03/03 01:08:43
>ActionScriptもいつの間にかClassが使用され
昔というか最初からClassだったよ
直接見えなかっただけで

243:デフォルトの名無しさん
09/03/03 04:12:48
今も昔もプロトタイプベースだよね>AS
クラスベースちっくに書いたりパフォーマンスを得るために
文法とか内部実装とか工夫しているだけであって。

244:デフォルトの名無しさん
09/03/03 06:28:52
>そのうち、オブジェクト指向出来ない人は、ハイさようならになりそう。

っつーか良く出来たフレームワークは
オブジェクト指向を特に意識しなくても
だれでも使える構成になってたりするが

245:デフォルトの名無しさん
09/03/03 06:31:19
あー使う側の立場だけ考えるとそうだけど作る側ならあれだね

246:デフォルトの名無しさん
09/03/03 11:17:55
>>242, >>243
ああ・・・そういえば、インスタンスを作成するって昔からありましたね。>AS
クラスを意識させない方向だっただけなんですね。

247:デフォルトの名無しさん
09/03/03 12:39:39
>>241
 「オブジェクト指向でなぜ作るのか」が比較的わかりやすくていい。

あとは、これとか。
URLリンク(kmaebashi.com)

これかな。俺も勉強始めたばかりなんでなんだが…。
URLリンク(www.stratagenom.com)

248:デフォルトの名無しさん
09/03/03 12:54:26
>>246
インスタンスを生成するのはクラスベースの専売特許ではない。
プロトタイプベースでもインスタンスは生成できる。

249:デフォルトの名無しさん
09/03/03 13:33:11
>>247
一個目のリンク先、わりと意欲的な文章だと思う。
OOPが分からない人々に対して、まず最初に、
インスタンスについて強調するのは大事だと思う。

250:デフォルトの名無しさん
09/03/03 16:04:15
>>246, 248
というかそもそもAS1、AS2にクラスなんてあったのか。
AS2のclass宣言はprototype云々を書く手間を省くだけの
省略記法程度のものだと思っていたんだが。

251:デフォルトの名無しさん
09/03/03 17:32:59
>>248
インスタンスの無いプログラミング言語なんて無いだろう...

252:デフォルトの名無しさん
09/03/03 17:46:58
>>251
primitive typeの値は普通インスタンスとは呼ばない。

253:デフォルトの名無しさん
09/03/03 17:52:15
え゛?

254:デフォルトの名無しさん
09/03/03 17:55:49
>>252
おいおい...

255:デフォルトの名無しさん
09/03/03 17:57:36
>>251
Cには、オブジェクトはあるがインスタンスはない。

256:デフォルトの名無しさん
09/03/03 18:05:58
>>255
インスタンスは意識してプログラムしないと碌な事がないよ
特にC言語の場合...

257:デフォルトの名無しさん
09/03/03 18:20:25
schemaとinstance、classとobject、typeとvalue、他にもあるかな。

定義無しでインスタンスという単語を使いたいのであれば、ざっくり
いって上記の組の右の単語を「インスタンス」の一言で括った程度
のものではないかと。
単語の使い方としての慣用は確かにあるけれども、きちんとした
定義無しに言語内での有無を論じられるようなものではないよ。

258:デフォルトの名無しさん
09/03/03 20:02:39
メモリ上の具体的な「オブジェクト」と、OOの「オブジェクト」は意味が違うだろ
後者は前者を内包することはあるが、一緒にして語ってる時点でおかしい

259:デフォルトの名無しさん
09/03/03 20:04:22
インスタンスとエンティティの違いについて教えてくだされ

260:デフォルトの名無しさん
09/03/03 20:11:31
classとentity

261:デフォルトの名無しさん
09/03/03 20:19:11
>>257
>きちんとした
>定義無し
だからこそ
>言語内での有無
は「言語仕様にあるか、ないか」しか言えない。
あれだ、「Javaにもポインタがある」つってる奴と一緒。

262:デフォルトの名無しさん
09/03/03 20:40:33
インスタンスって、オブジェクト指向云々に関わらず
メモリ上で実行されているプログラムそのものの事を言うもんだと思っていたが


263:デフォルトの名無しさん
09/03/03 21:23:45
エンティティってなに?

264:デフォルトの名無しさん
09/03/03 21:52:39
オブジェクト指向をコーディングだけにあてはめようとする奴と、
分析・設計からを理解してる奴が話すと
当然ながら噛み合わないな

265:デフォルトの名無しさん
09/03/03 21:58:05
分析・設計から理解してると
普及するのは自然な事だと納得できるし、受け入れやすいんだがなあ

266:デフォルトの名無しさん
09/03/03 22:06:19
北大路欣也

267:デフォルトの名無しさん
09/03/03 23:04:27
1つの機能に関するファンクションを
パッケージにできるだけでもありがたいのにな。
忌み嫌うわけが逆にわからん。

268:デフォルトの名無しさん
09/03/03 23:57:30
>>267
それはただのモジュール化との違いを説明できんのか

269:デフォルトの名無しさん
09/03/04 00:09:36
機能と状態をセットでパッケージ化できるわけで。

270:デフォルトの名無しさん
09/03/04 00:30:16
オブジェクト指向は、ウェブページだと利点を生かし切れない場合も多い気がする

271:デフォルトの名無しさん
09/03/04 00:33:19
構造化プログラミングの体質のままオブジェクト指向を導入すると、
必要とは思えないのは当たり前だ。
ジジババがネットの必要性を感じないのと同じ。

272:デフォルトの名無しさん
09/03/04 00:34:38
Webページのオブジェクト指向ってなんだ?Webプログラミングのことか?

273:デフォルトの名無しさん
09/03/04 01:03:56
>>268
検索機能なんかを考えればわかるのでは?
単純にモジュール化しても、ただの関数の集まりとしてしか扱えない上に、肝心な検索結果を保持する場所は人任せになる
クラス等を利用すれば、検索結果を中心に関数をモジュール化でき、検索結果の保存場所をどうするのか利用者が気にする必要が無くなる


274:デフォルトの名無しさん
09/03/04 01:20:04
>>273
それはただの抽象データ型でしょ
あとクラス使わないと出来ないなんてことはない。
例えば C言語のストリーム入出力だってファイルアクセスの関数を
モジュール化でき、ファイル管理データ(FILE型構造体)の保存場所を
どうするのかを利用者が気にする必要がなくなってる。

275:デフォルトの名無しさん
09/03/04 01:45:41
>>272
ホームページ作成でPHP等でオブジェクト指向を取り入れること

276:デフォルトの名無しさん
09/03/04 02:13:09
>>274
さらに付け加えれば、非標準ながら
fdopenやfmemopenによって多態性も実現できていると言える。

277:デフォルトの名無しさん
09/03/04 03:42:01
オブジェクト指向の必要性なんて、「IntelliSenceしやすくなる」で十分すぎるだろ。

278:デフォルトの名無しさん
09/03/04 03:59:45
あまりオブジェクト指向関係ないと思うよ。
型付けが静的か動的かの違いの方がでかいでしょ。

279:デフォルトの名無しさん
09/03/04 06:49:18
>>274
だよな
>>269 >>273
>>247 を読んでないよ

280:デフォルトの名無しさん
09/03/04 06:51:25
>>270
一番の原因は毎回接続しなおしてること
実際はCookieでごまかしてるが
httpのプロトコルが糞で
オブジェクト指向の普及を妨げてる

281:デフォルトの名無しさん
09/03/04 07:03:36
>>263
ぐぐれかす

282:デフォルトの名無しさん
09/03/04 07:27:57
PL上の概念としての「インスタンス」の話をしているときに分析設計での「インスタンス」を持ち出されてもw

283:デフォルトの名無しさん
09/03/04 07:35:42
いや〜、HTTPをクソ呼ばわりするのは結構蛮勇が必要だと思うな。
何に対して憤っているかよく判らないけど。ステートレスなところ?

284:デフォルトの名無しさん
09/03/04 07:40:16
>>280
ひょっとしてHTTPリクエストを出す度にsynパケットが飛んでると思ってる?

285:デフォルトの名無しさん
09/03/04 11:17:39
Cでもできる系の話は聞き飽きた。
そりゃ、できるだろうよ。
C++の最初の実装はC Frontなんだし。
大事なのは、俺様ルールでバラバラな実装をするのか、
言語仕様による統一的ルールでやるのかということだ。

286:デフォルトの名無しさん
09/03/04 12:04:27
>>274
ファイルを扱うためには、少なくともFILE型が必要である
FILE型を扱うためには、専用の関数が必要である

それらの関数をFILE型に閉じ込めておければ便利だと思わないか?
file++とか、file--とか、file + nとかで、ファイルポインタを制御し
*fileでファイルポインタの位置にアクセス出来きたりした方が便利な気がしないか?

まあ、*をオーバーロードしちゃ美味くないけどな


287:デフォルトの名無しさん
09/03/04 12:38:59
>>273 >>286は根本的にオブジェクト指向が分かっていない
コンポーネントにどういう責務を持たせるかが重要なのであって、
「ユーティリティクラスみたいなのがあれば便利だよね」、
とか言いだすのはインターフェースの切り出しができない奴の典型

288:デフォルトの名無しさん
09/03/04 12:51:26
>>287
何を言っているのか判らない...

検索オブジェクトが検索結果を持たないのが責務って事?
ファイルオブジェクトは、ファイルを扱わないのが責務って事?


289:デフォルトの名無しさん
09/03/04 13:19:31
出た! それでは、
根本的にオブジェクト指向が分かっている>>287さんに色々語ってもらいましょう。

290:デフォルトの名無しさん
09/03/04 13:39:26
phpって、元々classを使うことを前提に作られてない点がJavaなんかとは違うよね?

こういうスクリプト言語が大普及しているから、オブジェクト指向使わない・・や
必要性を感じない人が多いんだと思う。

291:デフォルトの名無しさん
09/03/04 14:29:51
emacs lispなんてもうね…

292:デフォルトの名無しさん
09/03/04 16:29:57
ひどいオブジェクト指向の例なら、Perl 5に勝てるものはいないだろ。

293:デフォルトの名無しさん
09/03/04 16:41:36
>>290
単にカジュアルプログラマへの動機付けの問題であればそれも
答えとしては十分なんだけど。
設計論に対する意見の違いもあるし、プログラマの世代差とか
属人的な要素も絡んで実際はそこそこ根深い話だと思う。

1980年代だったか月刊ASCIIでオブジェクト指向を取り上げた
記事を読んだときには今でいうちょっと前のWeb2.0とかクラウド
みたいな胡散臭さをプンプン感じた記憶がある。
「次の波はこれ!ソフトウェア危機もこれで一発解決」みたいな。

294:デフォルトの名無しさん
09/03/04 16:49:32
オブジェクト指向って別に効率的じゃないじゃん。

295:デフォルトの名無しさん
09/03/04 16:53:01
かつて、「オブジェクト指向」という単語は「再利用」という単語と強く結びついていた。
特に出版界で。

296:デフォルトの名無しさん
09/03/04 17:24:46
>>294
効率的だし再利用によってプログラミングの生産性は劇的に向上する、
と「期待されていた」んだよ。

「21世紀には社会で必要とされるプログラマ数が世界人口を超える」

そんな危機意識が語られていた時代もありました。

297:デフォルトの名無しさん
09/03/04 18:46:49
オブジェクト指向の話題では、大別すると2つの内容になる
ひとつはここにも多数存在する、言語うんぬんの話
もうひとつはオブジェクト指向根幹の分析・設計の話

オブジェクト指向の最大の利点は、
分析から設計、コーディングまでの設計外観を統一できるということ
分析や設計にオブジェクト指向を利用してこそ、
オブジェクト指向対応の言語を使うメリットがある
そういうことを理解してない奴が、言語うんぬん言いだす

一番の問題は、分析者・設計者がオブジェクト指向を利用していないくせに、
要件定義の時点でなぜかオブジェクト指向言語を採用してること

298:デフォルトの名無しさん
09/03/04 19:03:15
オブジェクト指向って一つの作業を一つ又はいくつかのオブジェクトだけを使って行えるようにする為のもんだろ。
だからある程度の汎用性を持たせられるインターフェース、実装を考えれば使いまわしができる。
そうすると長期的な生産性が上がるってことだったと思うんだが。

だから適当に作ったり下手くそな設計だと逆に使いにくくて当然。

299:デフォルトの名無しさん
09/03/04 19:03:53
>>297
> 分析から設計、コーディングまでの設計外観を統一できるということ
できねぇよ

少なくとも, 時系列のデータを扱う場合、単純に、
「お前らが言うオブジェクト設計」
を、やったら負けだと思う
関わった中では、とろくて使いもんにならんものが………

ハード屋よろしく
「ブロック図書いて、各ブロックの機能要素求めて、タイミングチャート
書いて、デッドロック要素見つける」
程度の事前検証ゐしないと、納期までにまともな動作は期待できない

ものによったら、伝達関数とかまで出てくる現場ではあるんだが


300:デフォルトの名無しさん
09/03/04 19:07:18
>>298
インターフェースの設計が分かってないだろ
ある程度の汎用性を持つインターフェース、ってなんだそりゃ?
コンポーネント間でどうしても必要な場合に、
やり取りとしてインターフェースが存在するんだぞ

301:デフォルトの名無しさん
09/03/04 19:15:23
指向とは言うけど何が指向性を持っているかが不明

302:デフォルトの名無しさん
09/03/04 20:22:50
>>300
やり取りする為以外にインターフェース存在するのかよ。
今やりたいことを達成すればいい設計にするのか、
それとも今は必要無いかもしれんけど、この先使いまわす時に必要になる事も考慮するのかって事だよ。

303:デフォルトの名無しさん
09/03/04 20:57:02
300 のインターフェースは URLリンク(e-words.jp)
298 のインターフェースは URLリンク(msugai.fc2web.com)

304:デフォルトの名無しさん
09/03/04 21:08:44
OOAとOODとOOPをごっちゃにして放言しているから収拾がつかない。

305:デフォルトの名無しさん
09/03/04 22:19:41
根本の考え方は、プログラムの生産性をより高めていこうってことで
言語の発展の流れとしてはごく当たり前で受け入れやすいと思うのに
まず「オブジェクト指向」って翻訳が悪い気がする
かといって良い言い方も思いつかないが

306:デフォルトの名無しさん
09/03/04 22:28:39
>>286
274は「Cでできるからオブジェクト指向言語なんて不要」と言っているようには見えないのだが。

307:デフォルトの名無しさん
09/03/04 23:21:31
>>302
拡張性の話とインターフェースの話を一緒にするから突っ込まれてることに気がつけよ
なんか、「JavaやってるんでOO理解してます」ってな奴が多すぎ

308:デフォルトの名無しさん
09/03/04 23:46:08
オブジェクト指向の真の意味を理解しているのは俺様だけだな、
っつーやつばかりだな。

309:デフォルトの名無しさん
09/03/05 00:55:29
てか、レベルの低いやつほど
『オブジェクト指向を馬鹿にしているやつは「Cでできるからオブジェクト指向言語なんて不要」なんて言っているから馬鹿なんだ』
なんて言うんだよな・・・
関数型言語とかもっと違う方向には目が向かないのかね、こういう輩は。
大体ソフトウェアの世界なんてまだまだ混沌としていて何が正しくて何が正しくないのか誰もわからないんだから、
あまり人が言っていることを馬鹿にしないほうがいいよ。
どうせまだ誰も正しいことなんてわかりっこないんだから。
少なくとも歴史が長い物理学よりはずっとやってることが原始的。

310:デフォルトの名無しさん
09/03/05 01:05:55
そこでわざわざ物理学を出すのはどうかと思う。
物理学に失礼すぎる。

311:デフォルトの名無しさん
09/03/05 01:37:46
>>310
そこの部分は、>>309の話の中で、彼の発言の趣旨から外れた一番どうでもいい部分。
何故そこを拾って取り上げようとするのかな? もっと全体像をとらえようよ

312:デフォルトの名無しさん
09/03/05 03:12:58
>>311
自分だってどうでもいいと思ったから取り上げた。
そんなこと蛇足にすぎない、書かないほうがよかったぞという思いを込めて。

313:デフォルトの名無しさん
09/03/05 03:23:56
>>309

>てか、レベルの低いやつほど
>『オブジェクト指向を馬鹿にしているやつは「Cでできるからオブジェクト
>指向言語なんて不要」なんて言っているから馬鹿なんだ』
>なんて言うんだよな・・・

ここと、

>関数型言語とかもっと違う方向には目が向かないのかね、こういう輩は。

ここの話の繋がりを分かりやすく教えて下さい偉い人。
俺にはさっぱりだ。

314:デフォルトの名無しさん
09/03/05 07:39:10
>>309は岡村を知らないモグリ

315:デフォルトの名無しさん
09/03/05 15:44:08
>>314
岡村って知らないんだけど、何やってる人?

316:デフォルトの名無しさん
09/03/05 16:06:06
芸人長いことやってる

317:デフォルトの名無しさん
09/03/05 19:06:56
>>241
> 「憂鬱なプログラマのためのオブジェクト指向開発講座」もちょっと読んでみることにします。

>>247
> >>241
>  「オブジェクト指向でなぜ作るのか」が比較的わかりやすくていい。

「憂鬱本」と「オブジェクト指向でなぜ作るのか」は、今となってはあんまり良くない。
URLリンク(d.hatena.ne.jp)

> あとは、これとか。
> URLリンク(kmaebashi.com)

これはオススメ。

318:デフォルトの名無しさん
09/03/05 19:36:57
カモノハシ本たけーよ。

319:デフォルトの名無しさん
09/03/05 19:40:57
オブジェクト化すると責任の所在がハッキリするよね

320:デフォルトの名無しさん
09/03/05 20:34:49
オブジェクト指向も設計実装の道具のはずなんだけど
理解が難しいのが問題では?
使いづらい道具は人は使わないですし本来道具は使いやすさが
重要だとおもうのですが

321:デフォルトの名無しさん
09/03/05 20:37:07
定義が曖昧なのも問題

322:デフォルトの名無しさん
09/03/05 20:59:59
オブジェクト指向ですら難しいという人はプログラマ向いてない。

323:デフォルトの名無しさん
09/03/05 23:34:06
オブジェクト指向の考え方は何となくわかるが、小さいプログラムだと今までのやりかたの方が簡単に組める。
どうしても必要にならないと本気で使おうと思わないんだよね。
高速に動かしたいところはやっぱりCになっちゃうし。
ま、確かに俺はプログラマ向いてないと思う。

324:デフォルトの名無しさん
09/03/06 00:13:47
オブジェクト指向は、必要なければ使わなくても良いんじゃないかな?
そういう人のために、オブジェクト指向使わなくても利用できる言語やスクリプトあるわけだし…
ま・・俺もむいてないけど、適度に出来る程度で十分な案件だけやってるw・・・全部一人でwww

325:デフォルトの名無しさん
09/03/06 00:47:20
オブジェクト指向は、必要なければ使わなくても良い

326:デフォルトの名無しさん
09/03/06 00:52:14
オブジェクト指向は、仕事に困らないのであれば使わなくても良い

327:デフォルトの名無しさん
09/03/06 01:30:28
ぶっちゃけC++やC#使えればよくて
オブジェクト指向を使う必要はない


328:デフォルトの名無しさん
09/03/06 01:33:15
まあ、stlやboost使える程度に知識があれば
厳密の意味でのオブジェクト指向なんて別にいらんよな。

329:デフォルトの名無しさん
09/03/06 01:35:16
オブジェクト指向ははったりで使う
仕事でそれ以上の意味はない

330:デフォルトの名無しさん
09/03/06 01:37:44
会議で黙らせる時に使う

331:デフォルトの名無しさん
09/03/06 02:42:27
最初にオブジェクト指向から入った人には
オブジェクト指向が普通で、そうじゃない物を使う人が変に見えるだろうな
意外とこういう人多いんじゃ無かろうか
それと、分業させるのがOOだと楽ってのもあるんだろうな

332:デフォルトの名無しさん
09/03/06 05:29:29
そうでもないみたいだよ

333:デフォルトの名無しさん
09/03/06 07:18:34
ここで言ってるOOって、結局は手続き型ベースのOOPLばっかりで、
関数型ベースや論理型ベースについては皆さん無知ってことで。

334:デフォルトの名無しさん
09/03/06 07:51:30
道楽じゃないんでね。

335:デフォルトの名無しさん
09/03/06 12:14:41
ほんとに、昨今のオブジェクト指向だけが正義みたいな風潮やめてほしいなぁ。

336:デフォルトの名無しさん
09/03/06 12:18:08
抽象化の手法はOOP派生のアプローチだけじゃないのは確かだけど、
現在主流となってる言語でできるのは大概それぐらいしか無いから仕方ないね

337:デフォルトの名無しさん
09/03/06 12:30:31
>>336
Haskellとかは全く違うスタイルなんだけど。

338:デフォルトの名無しさん
09/03/06 12:31:34
てか、F#とか最近流行ってるやん。
あれは関数型言語だからオブジェクト指向スタイルじゃないよね。

339:デフォルトの名無しさん
09/03/06 12:47:00
HaskellとかF#の案件がperlとかCとかJavaの案件以上にないと主流とは言えません

340:デフォルトの名無しさん
09/03/06 13:00:40
Haskellにもclassあるけどな。

341:デフォルトの名無しさん
09/03/06 13:03:02
340 :デフォルトの名無しさん [↓] :2009/03/06(金) 13:00:40
Haskellにもclassあるけどな。

342:デフォルトの名無しさん
09/03/06 13:03:53
340 :デフォルトの名無しさん [↓] :2009/03/06(金) 13:00:40
Haskellにもclassあるけどな。

343:デフォルトの名無しさん
09/03/06 13:04:55
340 :デフォルトの名無しさん [↓] :2009/03/06(金) 13:00:40
Haskellにもclassあるけどな。

344:デフォルトの名無しさん
09/03/06 13:07:07
>>340
なんという釣りw

345:デフォルトの名無しさん
09/03/06 13:26:19
ん?haskellにもtype classがあるだろ。class typeじゃないけどw

346:デフォルトの名無しさん
09/03/06 13:49:29
世の中の案件が全て消えてなくなればデジドカも消滅するしOOPも要らなくなる

347:デフォルトの名無しさん
09/03/06 13:59:38
プログラミング系の学校では、OOはどのくらいの行程で勉強し始めるのかな
学校ではやはりOOは重要みたいな教え方なんだろうか

348:デフォルトの名無しさん
09/03/06 14:01:41
わんわんにゃーにゃー共通化
名詞抽出
デザパタを覚えてそれを雛形にして当てはめましょう


349:デフォルトの名無しさん
09/03/06 14:02:13
>>347
それどころじゃない。
教科書(それも低レベル過ぎるやつ)
を入力させて教えた気になってる。
●馬の高●にある●ューティーの隣。

350:デフォルトの名無しさん
09/03/06 14:10:23
また言語論争か
OOは言語とは関係ないとあれほど

351:デフォルトの名無しさん
09/03/06 14:33:33
>>350
関係ないわけがない。
オブジェクト指向でプログラミングするために作られた言語はオブジェクト指向でプログラミングしたほうが自然にかける。
○○するために作られた言語は○○につかうのが一番自然なんだよ。
当たり前のこと。

352:デフォルトの名無しさん
09/03/06 14:37:11
人の作った「当たり前」は疑うべし

353:デフォルトの名無しさん
09/03/06 14:38:56
当たり前のことが出来ない言語は出来損ないの言語

354:デフォルトの名無しさん
09/03/06 15:14:31
プログラマとかってガンダムOOみても
「あ、オブジェクト指向」とか反射的に思っちゃうわけ?

355:デフォルトの名無しさん
09/03/06 15:16:34
javaやrubyなんて明かに意識して作られてるし
C++は斜め上だけど


356:デフォルトの名無しさん
09/03/06 15:17:20
C++だって20年くらい前はCにクラスがついただけのような素朴な言語だったぞ。

357:デフォルトの名無しさん
09/03/06 15:40:48
おれもはじめは 「オブジェクト指向」 ってヤツになかなか慣れなかった。
C言語にまだ 「プロトタイプ」 やら 「void」 が無かったころの人間なんで・・・

「オブジェクト指向」 の何が嫌いかって、それはだな、
他人の書いたソースコードを追いかけるのに、上を見たり下を見たり
あっちこっち飛ばなきゃならんってこと。
プリンター用紙に印刷して赤ペンで印を付けながら卓上デバッグすんだぜ。
すんげ〜〜〜大変だよ。

今はすぐれた統合開発環境IDEがあるから、キーボードのファンクションキーを押すだけで
ソースコードのあっちこっちへ飛ぶことができて楽に追っかけられるようになったが。
そうでも無けりゃやってられないよ、オブジェクト指向なんて。
言語単体だけじゃダメだ。オブジェクト指向言語は統合開発環境とセットで評価すべき。
そう思た。

358:デフォルトの名無しさん
09/03/06 16:12:03
なんで赤の他人が作った仕様書も残ってないクラスを解析するとか言う
トンデモな世界を当たり前のように語っているんだ?


359:デフォルトの名無しさん
09/03/06 16:14:47
コードが仕様書です(キリッ!!

360:デフォルトの名無しさん
09/03/06 16:41:37
>>357
つ Smalltalk

361:デフォルトの名無しさん
09/03/06 16:45:37
>>357
それ、手続型でも同じですから。

362:デフォルトの名無しさん
09/03/06 16:47:59
>>358
オブジェクト指向と言いつつ、なんやかんやで
結局、そのクラスがどう言う実装してるかまで追いかけないと、
発生した障害が解決しないんだよね・・・

363:デフォルトの名無しさん
09/03/06 16:52:41
中身を意識させないためのカプセル化(笑なのに見る必要性がでてくるという本末転倒な
せめて明確な事前条件、事後条件、不変条件ぐらいは確立させてドキュメント化しておくべきなんだけど
そういう事に言及している解説書の少ないこと

364:デフォルトの名無しさん
09/03/06 17:22:09
>>362
幸せになりたいなら、他人のコードを追いかけないこと。
多少処理が重複して無駄が出来ても気にするな。

365:デフォルトの名無しさん
09/03/06 18:26:29
いいな、殿様ショウバイは。うらやましいよ。

366:デフォルトの名無しさん
09/03/06 19:20:08
>>357
規模が大きいと自分で書いたものまで分からなくなりますからw

367:デフォルトの名無しさん
09/03/06 20:09:28
結局、何で書こうと人間の頭で把握できなくなったらそこで終わりだしね。


368:デフォルトの名無しさん
09/03/06 20:18:59
ここにいる奴に存在するのか聞きたいんだけど、
UML書けない奴ってどれぐらいいるの?
必要・不必要論は抜きとして。

369:デフォルトの名無しさん
09/03/06 20:21:37
ただのお絵かきにご大層な名前つけなくてもいいのに。

370:デフォルトの名無しさん
09/03/06 20:36:50
>>361
というのがまるっきり理解できない莫迦ほど
>>357 みたいなトンチキな批判を繰り返すんでしょ。

371:デフォルトの名無しさん
09/03/06 20:45:16
普通に考えてUMLのかけない奴なんていくらでもいるだろ
描く必要の無い人間の数と同じくらいいる




372:デフォルトの名無しさん
09/03/06 20:48:06
いや、Cは一ヵ所見ればいい。
単純な関数()+1とかでも底が見えないのがC++なのは事実。

373:デフォルトの名無しさん
09/03/06 20:50:10
UMLって別に大げさに考えるほどのものでもないけど、
必要なら描き方を覚えるぐらい誰でも出来るんじゃないの?

374:デフォルトの名無しさん
09/03/06 21:05:17
ここにいる奴に存在するのか聞きたいんだけど、
フローチャート書けない奴ってどれぐらいいるの?
必要・不必要論は抜きとして。

375:デフォルトの名無しさん
09/03/06 21:37:44
>>374
何も見ないでは正確に書けないけど。

四角と矢印ぐらいならかける。

376:デフォルトの名無しさん
09/03/06 21:54:31
ここにいる奴に存在するのか聞きたいんだけど、
風呂に一週間以上入ってない奴ってどれぐらいいるの?
必要・不必要論は抜きとして。

377:デフォルトの名無しさん
09/03/06 21:57:58
オブジェクト指向だけだと、Object-Oriented って形容詞句だから意味が定まらないよね
OOP か OOD か OOA か(まだある?)

378:デフォルトの名無しさん
09/03/06 21:58:56
ここにいる奴に存在するのか聞きたいんだけど、
86系のマシン語すら理解してない奴ってどれくらい居るの?
必要・不必要論は抜きとして。

379:デフォルトの名無しさん
09/03/06 22:00:25
>>1
closureって何なの?

380:デフォルトの名無しさん
09/03/06 22:45:00
>>368
ここにUML書ける奴どころか読める奴すらいないようだな
どいつもこいつも言語の話に終始
UMLでアクティビティやコンポーネントを見た上で、
インターフェースを設計してるなら言語の話なんかする必要ないからな
設計のままクラスとインターフェース作ればいいんだから

381:デフォルトの名無しさん
09/03/06 22:50:37
UMLどころかデザパタすらシラネ

382:デフォルトの名無しさん
09/03/06 22:55:02
ここにいる奴に存在するのか聞きたいんだけど、
Z読み書きできる奴どれくらい居るの?
必要・不必要論は抜きとして。

383:デフォルトの名無しさん
09/03/06 22:57:57
UML書ける出来る、と言ってるヤツの設計のまま作ると、
なぜか>>362とかみたいになるのだよ。

本当にオブジェクト指向で作ると安全で保守しやすいモノが出来るのか?

384:デフォルトの名無しさん
09/03/06 23:22:21
>>380
いや、そんな読めるとか読めないとか低レベルなことを気にしてるのはお前ぐらいのものだろw

385:デフォルトの名無しさん
09/03/06 23:25:41
UMLもデザパタも知らないけど>>362みたいにならないから設計の違いだと思われ

386:デフォルトの名無しさん
09/03/06 23:27:28
>>383
それは設計者の能力不足の問題であって、オブジェクト指向の問題ではないよな
オブジェクト指向はプログラマーよりも、むしろ分析者・設計者が学ぶべきことなんだよ

387:デフォルトの名無しさん
09/03/06 23:28:41
>>384
そんな低レベルなことを言われないようにお前はもっと学習しろ

388:デフォルトの名無しさん
09/03/06 23:48:01
カプセル化を今日Wikipediaみて再理解した
で、どうも府に落ちないことがあって、カプセル化と抽象化の違いをうまく説明できない
だれか恐ろしくわかりやすく文章化できるやついる?

389:デフォルトの名無しさん
09/03/06 23:50:57
抽象化=インターフェース抽出
カプセル化=利用する側から見えないこと

390:デフォルトの名無しさん
09/03/07 00:12:55
>>378
別に理解はしてないな。
マニュアル見れば使えはするが。

391:デフォルトの名無しさん
09/03/07 00:13:25
ここにいる奴に存在するのか聞きたいんだけど、
地図が読めない奴ってどれぐらいいるの?
たとえば、この記号。ちゃんとわかる?

    \             /
      \_  |   _/
          彡彡彡
          ミミミミ
         ミミミミ
         ノ σ ヽ
       / / ゚ヽ ヽ
      / //\\ \ 
       ( (     ) .)
      \ \\// /
       `  \/  '
\         *←─この記号
  \_____/\_____/

392:デフォルトの名無しさん
09/03/07 00:16:19
結局は機械語で書くのが一番

393:オブジェクト指向神
09/03/07 00:18:52
次代のポストコボラの諸君
せいぜい頑張って我を信奉するがいい

394:デフォルトの名無しさん
09/03/07 00:22:33
気象予報士って13歳でも受かるんだな

395:デフォルトの名無しさん
09/03/07 00:38:49
JavaでOOPしようとするのは、Windowsのメモ帳つかってプログラミングするくらい頭悪いわけだよ
なんでプリミティブ型があるんだよバカだろ
オートボクシングは便利だけど、本来それ自体が必要ないものなんだ
どんだけJavaが糞なのかみんなもっと理解すべき
その面倒な分だけスキルが上がった奴もいるのだろうけど、それ以上に糞コードが蔓延して、たくさんの人間が不幸になったわけだ

さっさと純粋OOPLが政治的、ビジネス的に普及してくれれば全部解決だろjk



次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5505日前に更新/139 KB
担当:undef