消えてなくなれよ > ..
[2ch|▼Menu]
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


396:デフォルトの名無しさん
09/03/07 00:42:15
業務系やオープン系のような「仕事」のプログラミングだと
結局保守性の良いコードってのは
value class と strategy に分ける形式になっていく気がするんだが、

それならオブジェクト指向でなくていいんじゃねーの?っていう。

397:デフォルトの名無しさん
09/03/07 00:47:32
オブジェクト指向とかあんまり関係なくてさ、
要は情報隠蔽してインタフェース駆動のプログラミングをしましょう
ってだけじゃね?

private な field と public な accessor を分けることで value class の情報隠蔽を実現して、
interface と implement を分けることで strategy の情報隠蔽を実現する
だけでいいんじゃないのかと。
データと振る舞いを一緒にカプセル化するっていうのは、
発想として面白いけど正直プログラミングモデルとしては複雑性を増してるだけな気がする

398:デフォルトの名無しさん
09/03/07 00:48:21
ここにいる奴に存在するのか聞きたいんだけど、
いちいち他人様を馬鹿にしないと気がすまない奴ってどれぐらいいるの?
必要・不必要論は抜きとして。

399:デフォルトの名無しさん
09/03/07 00:51:00
オブジェクト志向をいっさいつかわないということは1クラスに10万行くらい書いて納品するということ?
分担作業やりづれーよ
ていうかムリ

400:デフォルトの名無しさん
09/03/07 00:53:09
例えばJavaなら全部ユーティリティクラスにしてpublic staticなメソッド
だけで書けば分担作業出来るじゃん。

401:デフォルトの名無しさん
09/03/07 00:57:35
>>397
振る舞いを含めないのなら、カプセル化する意味ないんしゃない?
つまりゲッターとセッターの存在理由がないじゃん
コード量を5倍に増やしてるだけ
Step数的に必要?w

402:デフォルトの名無しさん
09/03/07 01:32:33
strategyパターンって何?それなんて高階関数?

403:デフォルトの名無しさん
09/03/07 06:58:47
>>395
Integer.toString(5);
とか馬鹿すぎ糞すぎアホ過ぎ

404:デフォルトの名無しさん
09/03/07 10:45:21
>>388
カプセル化 = 抽象化


405:デフォルトの名無しさん
09/03/07 11:10:10
>>404
氏ね

406:デフォルトの名無しさん
09/03/07 11:38:40
>>404
カプセル化 = 英語表音を取り入れたハイカラな呼び方
抽象化 = 漢語表記にした東アジア的呼び方


407:デフォルトの名無しさん
09/03/07 13:26:57
カプセル化 = データ抽象 = 抽象データ型 = ユーザーによるデータ型定義

408:デフォルトの名無しさん
09/03/07 14:23:42
>>404
抽象はAbstractionの訳として用いられるから、
カプセル化と抽象化をイコールで結ぶのは違和感がある。

409:デフォルトの名無しさん
09/03/07 14:25:57
カプセル化と抽象化は直交する概念だろ

410:デフォルトの名無しさん
09/03/07 14:55:55
カプセルか・・・
カプセルか・・・
カプセル怪獣!

411:デフォルトの名無しさん
09/03/07 15:02:16
カプセル化=インタフェースとその実装との関係での話。
抽象化=インタフェース設計での話。

412:デフォルトの名無しさん
09/03/07 15:10:06
抽象化 = いくつかの事物に共通なものを抜き出して、それを一般化して考えること
カプセル化 = 要約化, 簡約化すること


413:デフォルトの名無しさん
09/03/07 16:02:31
なんでもかんでもクラスにしようとする香具師は死ねばいいのに

414:デフォルトの名無しさん
09/03/07 16:30:23
カプセル化の目的は抽象化だけではないし、
抽象化はカプセル化以外にもたくさんある。

415:デフォルトの名無しさん
09/03/07 16:31:42
[1] 授業単元:オブジェクト指向講座
[2] 問題文(含コード&リンク):
1から9までの数字を縦横方向に同じものが並ばないように下記の例のように並べる
並べ方が全部で何通りあるかとその並びをすべて列挙する
[3] 環境:オブジェクト指向で解決すること
[4] 期限: 明日まで
[5] その他の制限:

534681297
685293714
948367125
153472869
426538971
261759483
817945632
379126548
792814356

416:デフォルトの名無しさん
09/03/07 16:40:23
はいはい未解決未解決

417:デフォルトの名無しさん
09/03/07 17:10:01
私は素人なんですが、一言。

プロの人でもよく分かってないことが多いのなら、
ホビイストとか日曜プログラマと呼ばれる層にとっては
OOは邪魔なだけになりやすいですよね?

昨今はオブジェクト指向じゃないと自然に書けない・・・というか
オブジェクト指向を半ば強要するような仕様の言語が多いですけど、
ダイクストラ流の構造化だけしか要求しない言語だったら、
「HSPも中途半端にしかできない」、「シェルスクリプトしか組めない」、
「わしは昔BASICで色んなもんを作ったんじゃよ」なんていう
素人でもそれなりの物を作れるはずです。

ところが、今日では計算機技術全般がプロ用になってしまっているため
ワードやエクセルで適当にやってみて、それでダメだとすぐ自力解決を諦めてしまう。
その結果、そのまま泣き寝入りするか、プロに無駄金払う人が増えています。
やろうと思えば自分でできるはずのことだったとしても。

418:デフォルトの名無しさん
09/03/07 17:15:41
オブジェクト思考は天才

オブジェクト思考は天才

419:デフォルトの名無しさん
09/03/07 17:16:57
>>417
> プロの人でもよく分かってないことが多いのなら、
> ホビイストとか日曜プログラマと呼ばれる層にとっては
> OOは邪魔なだけになりやすいですよね?

あなたはプロで、現場のことを良く知っている、という前提ですか?
それともソースは2chだけという にわかさん ですか?
後者なら、2chでオブジェクト指向がよく分からないと発言している人が素人だと私は言いますよ。

420:417
09/03/07 17:18:09
さらに言いますと、
プロの方にとってもOOが弊害になる場合が多々あるのではありませんか?
私の社内にいる情報系の人がC++で作ったプログラムを見て、
「何でこの程度のことをC++で書くんだろうか?」と疑問に思ってしまいました。

黙っている方が賢明だったかもしれませんが、見るに見かねて無駄を指摘し、
目の前でそのプログラムと同じことを、Bashの一行野郎でやってみせたら不機嫌そうでした。

何でもOOでやるのが当たり前、と考えるのは簡単なことを複雑にし、
普通の人の自己解決を妨げると同時に、プロにまで無駄を強いるのではありませんか?

421:デフォルトの名無しさん
09/03/07 17:19:56
>>419
いえ、OOが悪いと言ってるんじゃないですよ。
ただ、時と場合によるはずなのに、
「OOこそ専ら正義」であり、「それができない者もしくは好まない者は
プログラミングから排除されて当然」という風潮が変だと申し上げているだけです。

422:デフォルトの名無しさん
09/03/07 17:26:48
> 「それができない者もしくは好まない者は
> プログラミングから排除されて当然」という風潮

プログラミングから排除ってw そんな風潮あるの?

申し上げましょうか。
OOPのメリットを知るには非OOPの苦痛を知らなければなりません。
そのためには、非OOPの業務経験が必要だと考えられます。

OOPがいつでも役立つなどと言うものは、
おそらくOOPを理解していません。

同時に、OOPを理解するものは、
OOPを理解しないものを排除したりはしないでしょうが、
代わりに、経験不足を見て取ります。

423:デフォルトの名無しさん
09/03/07 17:31:29
>>413だけど、

> OOPがいつでも役立つなどと言うものは、
> おそらくOOPを理解していません。
激しく同意
ほんと死ねばいいのにね

424:デフォルトの名無しさん
09/03/07 17:50:34
>>421
とりあえずOOPとOODやOOAは区別して話すべきだと思うけど。

OOPに関しては、開発インフラと言うのも無視できないと思う。

例えば案件がJavaでのWebアプリ開発だったとして、Javaという
言語はもちろん周辺のライブラリやフレームワークも一応OOPに
乗っ取ったデザインになっている。
結果として開発するにしてもOOPの流儀に則るのが一番楽だし、
そこを無理に外すとかえって大変だったりあとから保守する人が
面倒を被ったりする。

イチからスクラッチで開発するのならともかく、実際はそうした既存
のライブラリやフレームワークといったインフラの上で開発する場合
も多いのだから、こうしたインフラが現在ますますOOPに基づいて
整備されている以上OOPを理解しないと仕事では辛くなるのでは?
と思う事はあります。

425:デフォルトの名無しさん
09/03/07 17:52:10
>>422
たまたま私の周りにいる人たちが変なだけかも知れませんね。
私の会社は医療サービス業なので、直接的にはプログラミングと関係ありません。
しかし、今時いかなる業種であろうともコンピュータと無縁ということは許されませんので、
いわゆるプログラマやシステムエンジニアと呼ばれる人々ともある程度関わらざるを得ないわけです。

現場サイドだけで使うCSV形式のデータベースを処理するごく簡単なシステムを
社内の情報系職員に依頼したら、「できません」と断られました。
開発に手間がかかりすぎるので外部に依頼すべきというのです。
ようするに面倒くさいから逃げただけなのでしょう。
で、とある業者に見積りを出させたら、開発に十数万円、保守が月数千円ということでした。
バカらしくなってしまったので、WindowsのインストールされたPCに
GNU BashとGawkを入れて、自分で作りました。
本当はUNIXやLinuxでやるほうがスマートなのですが、社内になかったので・・・

私はプログラミングなんてできませんが、たまたまシェルスクリプトをかじったことがあるので
こんな方法で解決できましたが、そうでなければプロにボッタくられるところでした。
大規模なプログラムを設計するには便利な技術であろうとも、それをあらゆる場面で強要するのは
我々普通の人にとって迷惑でしかありません。
いや、迷惑をかけられていることすら気づかずに、本当は自己解決できる程度のことに
大金を払い、感謝すらするのです。

426:デフォルトの名無しさん
09/03/07 17:57:39
でっかい釣り針が何本もみえるスレだなw

>>425 なんてオブジェクト指向となんの関係もない話じゃん。あほくさ。

427:デフォルトの名無しさん
09/03/07 18:05:49
>>425
自分で出来る事をプロに頼むのが間違い

証明写真をプロに撮って貰うのか、3分間写真で撮るのかってのと同じ問題だ


428:デフォルトの名無しさん
09/03/07 18:06:10
ぼくはぷろぐらむがかけるんだぞ
そとにいたくしたらなんじゅうまんえんもするしごとができるんだぞ
すごいでしょ
ほめてよ



あっそ

429:デフォルトの名無しさん
09/03/07 18:06:13
「クラスのオブジェクトのプロパティがメソッドでインスタンスだからぁ〜
ポリモーフィズムのインヘリタンスがカプセル化でぇ〜」
とか語ってる暇があったら、非OO言語でゴリゴリ書いたほうがマシなことは沢山あるけどな。

素人さんたちが、それすらやらなくなったのは確かに退化だと思う。
その原因の一つが「プログラミングは普通の人には難しすぎる」という刷り込みで、
さらにその原因の一つがオブジェクト指向なのは間違えてないだろう。

だからと言ってオブジェクト指向を目の敵にするのは変だけどな。

430:デフォルトの名無しさん
09/03/07 18:25:51
>>425
というかCSV形式のデータをゴリゴリやるのに今更awkというチョイスが
よく判らない。趣味?

perlでもpythonでもrubyでも、CSVをComma-Separated Valuesとして
扱ってくれるライブラリを持っている言語を使って書いた方が書く人も
使う人もあとで読まされる人も楽だと思うけど。
別にライブラリだけ使ってその後は手続き的に書いても良いわけだし。

431:デフォルトの名無しさん
09/03/07 18:30:34
BASICだろうがCだろうがコードを書いてる間に関数レベルで抽象化はするし
どうせ、抽象化するならオブジェクト指向に対応した言語を使ったほうが楽じゃん


432:デフォルトの名無しさん
09/03/07 18:32:49
なんかちょっとする時はRubyの一択だな。
>>425もcygwin入れてもっとラクしたらいい。

433:デフォルトの名無しさん
09/03/07 18:33:13
>>415
(define (oremove o l)
(if (pair? l)
(if (eq? o (car l))
(cdr l)
(cons (car l) (oremove o (cdr l))))
l))
(define (perm s)
(define n 0)
(define (perml f l y)
(if (pair? l)
(for-each (lambda(x) (perml f (oremove x l) (cons x y))) l)
(f (reverse y))))
(perml (lambda (y) (display (list->string y)) (newline) (set! n (+ n 1))) (string->list s) '())
n)

(perm "123456789")
123456789
123456798

987654312
987654321
=>362880

(* 1 2 3 4 5 6 7 8 9)
=>362880

434:425
09/03/07 18:36:47
>>430
それはプロ的な発想でしょう。
私はプログラミングの素養などありません。
単純にコマンド並べて動くものしか理解できません。
だから、他の言語で書いたほうが楽だとおっしゃられても
私には楽ではありません。

後でソースを読む人なんているのでしょうか?
プロとおぼしき人といえば、
別の部署にあてにならないシステム管理者がいるだけです。
私の部署にはプログラムを組める人なんて皆無ですし。

そんな状況でお金をかけずに解決するには、bashとawkくらいしか思いつかなかったんですよ。
awkは古いとお思いでしょうが、perlより覚えることは少なく、単純なプログラムなら
可読性も高いでしょう。
素人にはうってつけではないでしょうか?


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

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