トップページ⇒tech
1001コメント366KB

結局OOpが役に立たないのはなぜ?

レス数が900を超えています。1000を超えると表示できなくなるよ。
0001デフォルトの名無しさん2010/04/14(水) 01:14:08
オォオォ言ってる奴等がアホな抱けちゃうの?

0809デフォルトの名無しさん2010/09/04(土) 15:36:03
俺はプリプロセッサ無し派を支持するな
>>808みたいにすればいいわけだし

もしもCにプリプロセッサが無かったら
開発支援ツールがもっと便利になっていたのは間違いない
0810デフォルトの名無しさん2010/09/04(土) 16:40:28
言語仕様にないとIDEとの連動がめんどうじゃね?
0811デフォルトの名無しさん2010/09/04(土) 19:19:25
言語自体がプリプロセッサともいえるLispには昔から強力なIDEが腐るほどありますが...
0812デフォルトの名無しさん2010/09/04(土) 19:43:58
>>811
言語自体が死んでる
0813デフォルトの名無しさん2010/09/04(土) 19:58:59
>>812
日常的に使ってる会社もあったりするんだな
java より開発効率いいし…
0814デフォルトの名無しさん2010/09/05(日) 00:10:18
ここまで依存性注入の話題無し。
0815デフォルトの名無しさん2010/09/05(日) 03:39:55
自分で語れない人はお帰りください
0816デフォルトの名無しさん2010/09/05(日) 18:26:55
>>802
ソースファイルが500MBくらいの巨大な一個のファイルに収まってるんですね
0817デフォルトの名無しさん2010/09/05(日) 18:57:23
>>816
?
0818デフォルトの名無しさん2010/09/05(日) 19:27:19
.hの中に暮らす本体まで書く香具師ってなんなの?
0819デフォルトの名無しさん2010/09/05(日) 19:47:39
めんどくさがりやさんなんだろ
0820デフォルトの名無しさん2010/09/05(日) 20:05:46
最近は.hに本体を書くのが主流なんじゃねーの。
0821デフォルトの名無しさん2010/09/05(日) 20:10:15
C++/CLIはそうなってる
0822デフォルトの名無しさん2010/09/05(日) 20:33:41
ヘッダに色々かいたら参照関係ぐちゃぐちゃになんね
0823デフォルトの名無しさん2010/09/05(日) 21:04:15
> ヘッダに色々かいたら参照関係ぐちゃぐちゃに
じゃないことに気が付けよ
最近の言語には package とか namespase とか…
0824デフォルトの名無しさん2010/09/05(日) 21:11:34
いや最近の言語で良いんならそれでいいだろ
0825デフォルトの名無しさん2010/09/05(日) 21:20:15
#include <main.c>
みたいなのもありだな
0826デフォルトの名無しさん2010/09/05(日) 21:40:06
JavaやC#に慣れてたら、ヘッダに本体書くのが自然だと思うだろう。
0827デフォルトの名無しさん2010/09/05(日) 21:49:37
.みいかのはアセンブリレベルで公開非公開とか決まるから
ヘッダで丸見えとかどうでもいいんだよ。
0828デフォルトの名無しさん2010/09/05(日) 23:17:48
>>826
意味不明。
コンパイラがファイルを跨いでシンボルを検索しないCの仕様が糞だとは思うように
なるかもしれないが、そんな風に思わない。

そもそも「ヘッダファイル」なんて意味不明な呼び名になってるから今の話の流れみたいな訳の分からん
勘違いをする奴が出てくるんだろうな。

実態はただのアセンブラの「インクルード(included)ファイル」まんまなんだから
素直にそう呼ぶべきだったんだと思う。
0829デフォルトの名無しさん2010/09/05(日) 23:37:54
ヘッダに定義を書いてたらコンパイル時間がどんどん増えていく
その言語にはその言語のマナーがあるわけで
他の言語での自然さとかは関係ないでしょ
C++での例外は、templateを書くケース
0830デフォルトの名無しさん2010/09/06(月) 04:05:20
JavaやC#ってヘッダーは特にないような気がするが・・・
0831デフォルトの名無しさん2010/09/06(月) 06:27:52
>>828,830
おまえら、ほんとにJavaとC++の両方使えるのか?
0832デフォルトの名無しさん2010/09/06(月) 06:46:57
import *;
とかしてそう
0833デフォルトの名無しさん2010/09/06(月) 19:12:53
ヘッダの話とかどうでもよくない?OOPに関係あるわけ?
プリプロセスなんぞ、各個人/プロジェクトで好きにすりゃいいじゃん。

で、俺は思うんだけど、「オブジェクト指向」って、なんで、オブジェクトを指向するの?
その手の、「物/対象」を指向する戦略は、プログラミング以外の分野でことごとく失敗してきてるんだけど。
ちゃんと歴史学んだ?世の中見てるの?
他所で失敗した考え方を、なぜまたプログラミングの分野に適応して、まーた失敗を繰り返したいの?
社会学ではどうだった?
「人」(⇔社会)を中心とした考え方って言ったら、共産主義やら左翼やら民主党のばら撒き政策やら、
目先の利益だけを見た短絡的な個人主義の考え方で、こんなの上手くいくわけねーって分かりきってるだろ。
歴史が散々証明してきたことだろ。
今21世紀だよ。本当にこんな赤い考え方で上手くいくと思ってるわけ?どっちの船に乗る?

嘘だと思ってる?回り見渡してみろよ。OOPに取り付かれてしまって屍と化した奴の名前を自分の中で挙げてみ。
どうだ?アランケイとかRubyの中の人とかεπιστημηとか、頭逝っちゃってる率高すぎだろ。
C言語のそれと比べてどう思う?
は ・ や ・ く ・ き ・ づ ・ け
手遅れになっても知らんぞ(べジータAA ry
0834デフォルトの名無しさん2010/09/06(月) 19:17:53
俺はヤムチャだまで読んだ。
0835デフォルトの名無しさん2010/09/06(月) 19:22:03
ヤムチャなら仕方ない
0836デフォルトの名無しさん2010/09/06(月) 20:13:45
>>833
なんか君って痛い人みたいね
頭逝っちゃってるのはお前さんだろってw

ちなみに、「オブジェクト指向」的な発想で設計されているものは世の中にたくさんある。
君が気がついてないだけw
0837デフォルトの名無しさん2010/09/06(月) 21:04:57
クリストファー・アレグザンダーとか有名だね
0838デフォルトの名無しさん2010/09/06(月) 21:19:41
そもそも宇宙がオブジェクト指向なんだが
0839デフォルトの名無しさん2010/09/06(月) 21:23:00
>>833
君が「オブジェクト指向」をどう定義しているかわからんので、
その点についてはノーコメントだが、
共産主義を個人主義の考え方とみなしているところだけ見ても
社会学も歴史学もたいして学んでいないことがわかる。

あれほど全体主義的な考え方はないことは、
これまでの共産主義国家をみれば明らか。
マルクスからして「類的存在」としての人間しか考慮しておらず、
それが共産主義の間違いの大本の原因になっている。
0840デフォルトの名無しさん2010/09/06(月) 21:24:07
OOPをうまく使えなかった者が、
OOPを恨みだしたように見える。
0841デフォルトの名無しさん2010/09/07(火) 00:11:50
OOPだろうがなんだろうが、最終的には依存関係整理して機能をうまく制限して区切っていかないと処理が絡みあって崩壊する
いまんとこそれにある程度成功してるのがOOPってだけ
0842デフォルトの名無しさん2010/09/07(火) 00:14:32
機能を制限するって考え方は大事だな。
0843デフォルトの名無しさん2010/09/07(火) 01:04:18
言いたいことは分からんでもないが、ちょっとずれてる。

機能を制限してどうするの。
そんな考え方は概論としても間違ってる。

メンバを隠蔽するのは、別に機能を制限するためじゃなくて「操作する必用がない機能」
をマスクすることで「操作する必用がある機能」を明確にし、複雑性を縮減するため。

外食屋のシステム(客は直接厨房に細かい注文を出したりしない)を「機能の制限」
と考える奴は普通はいない。

だって、厨房の中の誰にどんな指示を出せばいいか知らなくても飯が食えるようにするために、
注文取りのお姉さんとだけコミュニケーションすればいいシステムにしてるんだから。
0844デフォルトの名無しさん2010/09/07(火) 06:28:03
>>843
言葉遊びして何か楽しいの?
相手の意図を汲まずにくだらない上げ足しかとれないようならレスなんて書くなと
0845デフォルトの名無しさん2010/09/07(火) 06:58:56
クラスにまとめるってのが、機能の制限って事でしょ。
外食屋のシステムで動物園やろうと考える奴はいない。(動物を飼う機能はいらない)

そして「何でも」クラスは設計崩壊の元、機能を制限しろ、一つの仕事に集中させろ。
0846デフォルトの名無しさん2010/09/07(火) 07:05:05
寿司屋で水族館やったりはするが
0847デフォルトの名無しさん2010/09/07(火) 07:18:36
その場合、寿司屋クラスと水族館クラスを合成して新たに「寿司屋で水族館」クラスにすべきであって
寿司屋クラスを継承して魚飼えるようにして「機能の制限」を無かったことにするのがダメって事じゃね
0848デフォルトの名無しさん2010/09/07(火) 08:01:20
というより、水族館の仕事は水族館に任せる(委譲)すべき。
継承より委譲。
0849デフォルトの名無しさん2010/09/07(火) 08:20:12
あと、オブジェクトをリアルの物体や役割に当てはめる例え方がよくない理由の一つでもあるな。
リアルなら「あれもこれも」はアリだが、プログラムの世界としては、あるオブジェクトの役割は
常に一つであるべき。単一責任原則。
0850デフォルトの名無しさん2010/09/07(火) 17:50:29
>>643
気になってたことが解決した
ありがとう
0851デフォルトの名無しさん2010/09/07(火) 19:46:59
Animalクラスでbarkメソッドがあって
派生クラスのDogとCatがbarkでワンとニャーと表示する。
なんか、そういう説明がダメってよく聞くけど
これってどこがダメなの?
0852デフォルトの名無しさん2010/09/07(火) 19:48:04
>>844
言葉遊びでも揚げ足取りでもない。
そもそも隠蔽はOOPの概念じゃないがまあそれはいいとして、
プログラミングの世界の「隠蔽」を機能の制限という捉え方は普通はしない。
0853デフォルトの名無しさん2010/09/07(火) 19:56:23
元の発言のどこにも隠蔽の話は出てきてないように思うが
0854デフォルトの名無しさん2010/09/07(火) 20:01:09
じゃあ何が機能の制限か言ってみろよ。
馬鹿じゃないのか
0855デフォルトの名無しさん2010/09/07(火) 20:11:17
>>851
それクラスベースOOで多態の説明だろ。
てかOO一機能の多態しか説明していない。

この説明がダメではなく、これがOOだとおもってるやつがダメ。
0856デフォルトの名無しさん2010/09/07(火) 20:42:48
>>851
http://itpro.nikkeibp.co.jp/article/COLUMN/20060921/248617/
0857デフォルトの名無しさん2010/09/07(火) 20:46:24
>>855 なるほど、納得しました。
is-a関係/has-a関係だとかにも同じ指摘が成り立つのに
そういうのはとんと聞かないのが不思議です
0858デフォルトの名無しさん2010/09/07(火) 20:51:25
>>852
実装クラスからインタフェースを切り出して、必要な機能だけを公開するのは、
APIを提供する側から見れば、
あるいは、あるインタフェースとしてAPIから提供されているオブジェクトが、
実際にはより多くの機能を持っている実装クラスであることを知っている
ユーザ側から見れば、「(本来あった)機能の制限」と見ることもできるでしょ。

別に>>843で言ってることも間違ってるわけじゃない。同じことを別の側面から見てるだけ。
0859デフォルトの名無しさん2010/09/07(火) 20:56:20

                    ..',||i }i | ;,〃,,     
                     .}.|||| | ! l-'~、ミ   
                  . /         \
                  /       Z-666 .|
                  ../             |         、__人_从_人__/し、_人_入
                  |   .)  (         .|        、_)
                 .|.-=・‐.  ‐=・=-   /⌒i         _) 日本人は消毒だ〜っ!!
                 .| 'ー .ノ  'ー-‐'    ).|         、_)
                 |  ノ(、_,、_)\      ノ          '´⌒V^'^Y⌒V^V⌒W^Y⌒
                 |.   ___  \    |_
                 .|  くェェュュゝ     /|:_
                  ヽ  ー--‐     //::=三=-;;;;;;;;;'' :::::::::::
0860デフォルトの名無しさん2010/09/07(火) 21:06:32
コピペ王に、俺はなる!まで読んだ
0861デフォルトの名無しさん2010/09/07(火) 21:27:31
また機能を制限とかわけわからんことを。
お前らどうでもいいことばっかし話し合ってないで、
どうして、「オブジェクト」を「指向」する必要があるのか考えろって。
オブジェクト指向ってのは、宗教の流派みたいなもんで、いろんな人がいろんな適当なことを言うのな。
(色んな人が自分流の適当なこと吹きまわることが可能となってしまう「土壌」の、
 その「土壌」そのものの、そんな土壌の原因を追求することも大事なんだが、
 話が難しいのでとりあえず置いとく)
でも、どんな流派だろうと、オブジェクト指向と言うからには、
「オブジェクト」を「指向」する、これだけは揺ぎ無いんだろ。
なんで「オブジェクト」を「指向」する必要があるんだ?
0862デフォルトの名無しさん2010/09/07(火) 21:30:36
誰かおちこぼれのボクに構ってまで読んだ
0863デフォルトの名無しさん2010/09/07(火) 21:37:50
>>861
別にない
よく考えるとそっからして意味不明な設計手法といわざるをえない

まあ、百歩譲って考えやすいからってのと
一番はじめはシミュレーションのためのもんだったからオブジェクト単位にうまく
動作が記述できる言語がほしかったんじゃないかと・・・
0864デフォルトの名無しさん2010/09/07(火) 21:43:48
>>861
object-orientedは、過去分詞の形容詞的用法で主語を修飾するものだ。
あとは分かるな。。
08658642010/09/07(火) 21:55:59
分かってないのは俺だった。
修飾するのは名詞だろうが。。畜生…!
0866デフォルトの名無しさん2010/09/07(火) 22:05:10
http://www.youtube.com/watch?v=fUsdOFlG7Rg
0867デフォルトの名無しさん2010/09/07(火) 22:13:17
oriented[形](…に)関心を向けた, (…を)志向する((toward, to ...)) family- oriented peopleマイホーム主義の人びと.

どういうこっちゃ。
object oriented → オブジェクトに関心を向けた、オブジェクトを指向する。
object oriented people → オブジェクト主義の人々。

どっちにしろ、オブジェクトをどうにかこうにか発想ってことだろう。

でも、どう考えたって、プログラムで一番大事なのは、制御なのに。
制御が、関数が、データ同士の関係を定義して、それで、機能がもたらされるのに。
だからわざわざfunctionって名前になってるのによー。関数はデータ同士の関係を定義したもので、同時に機能でもあるんだよ。

俺も百歩譲って、「機能オブジェクト指向」って名前だったらまだ納得するかなー。
なんでオブジェクトをどうにかこうにかって話になるんだろう。
物事逆から考えてるよ。こんなのリバースだよ。
逆立ち人間の、ルサンチマンの、奴隷根性の、逆恨みだよ。変だよ。
0868デフォルトの名無しさん2010/09/07(火) 22:18:55
定義の問題で、辞書とか一般的な英語での意味とかを調べるのは無意味だと思う
0869デフォルトの名無しさん2010/09/07(火) 22:30:04
文法的には「動詞+目的語」よりも「目的語+動詞」の方が分かりやすいよね。日本語的に。
0870デフォルトの名無しさん2010/09/07(火) 22:36:53
>一番はじめはシミュレーションのためのもんだったから

これ重要だよな。
俺らは大概別に何かをシミュレーションしたいわけじゃねーんだよ。お目当ての機能が実装したいだけなんだよ。
なんで、シミュレーションの結果が目的の機能になるように、各オブジェクトの具合を調節するような、
遠回りで無駄な設計手法を取らなきゃなんねーんだよ。
わざと仕事増やしたいのか?まーそれはあるわな。
0871デフォルトの名無しさん2010/09/07(火) 22:54:25
俺が機能の制限つったのは、モノリシックなクラス作るなって意味であって
単に大規模化しても複雑なバグを生みにくくする仕組みとしてOOPが使えるということだ
0872デフォルトの名無しさん2010/09/07(火) 23:00:59
>>870
オブジェクト指向の実現が必ずしもソフト開発にとっていいってわけではないよね
この初っ端のところが実はボケてるんだよね
誰もこれが結びついていそうでいないことがわかってない
0873デフォルトの名無しさん2010/09/07(火) 23:25:02
相変わらずなんかマジっぽい馬鹿多いな。
とりあえずシュミレーション云々は関係ないから。

とりあえずクラスベースのオブジェクト指向の有り難味を知りたいなら、
複素数とかベクトルとか分数みたいなデータ構造とその操作を

(1) 構造体 + 関数
(2) クラス

で書いてみればいい。
逆に言えばオブジェクト指向なんて本質的にはそんな程度のもので、別に難しくもなんともない。

ここでシミュレーションがどうのとか無駄だの遠回りだとか訳のわかんないこと言ってる奴は
その程度のコードも書けないのは間違いない。

そりゃOOPが糞なんじゃなくて、お前さんの脳が糞なの悪いけど。
0874デフォルトの名無しさん2010/09/07(火) 23:27:08
問題はstatic変数
0875デフォルトの名無しさん2010/09/07(火) 23:28:45
いっちゃてるな
0876デフォルトの名無しさん2010/09/07(火) 23:35:51
>>873
http://ja.wikipedia.org/wiki/Simula

なんかお前出だしから嘘っ八だし信用できないわ
0877デフォルトの名無しさん2010/09/07(火) 23:47:07
>>876
馬鹿か。
OOPの出自がシミュレーションであろうが無かろうが、
別にOOPはシミュレーションとだけ親和性が高いわけじゃないの。
だから>>870みたいなのはナンセンス。

それとも何か、電算機の歴史は確か砲弾の弾道計算から始まってるはずだが、
「コンピュータは弾道計算にしか使えねー」とか言うのかねお前さんは。
まあむしろ言いそうな勢いだw
本物の白痴だな
0878デフォルトの名無しさん2010/09/07(火) 23:48:42
>それとも何か、電算機の歴史は確か砲弾の弾道計算から始まってるはずだが、

これ都市伝説だろ
0879デフォルトの名無しさん2010/09/07(火) 23:48:50
ちなみに、OOPはもともとシミュレーション用に〜とかいう俗説って間違いなんだよね。
どこかにそのあたり詳しく説明してるとこが合ったんだが、ブックマークに残ってないな。
0880デフォルトの名無しさん2010/09/07(火) 23:52:46
別にシミュレーション出身でもなんでもいいよ
現状OOPより依存関係の整理しやすい物がない
0881デフォルトの名無しさん2010/09/07(火) 23:57:25
OOPはウィンドウシステムと相性が良かったのを
シミュレーションと勘違いしたんじゃね?
0882デフォルトの名無しさん2010/09/08(水) 00:00:50
>>879
間違いじゃねーし
0883デフォルトの名無しさん2010/09/08(水) 00:03:23
>>877
何が言いたいのかサッパリわからない
作った目的がシミュの実現だったのに何を言ってるのかと
0884デフォルトの名無しさん2010/09/08(水) 00:04:50
否定は得意だけど整理や構築はできません
0885デフォルトの名無しさん2010/09/08(水) 00:05:19
>>841=>>871ですよね?
ひとつのクラスの機能を制限するという点に注目して機能の制限と書いたのでしょうけど
機能の分割と書けば意図する所を第三者に誤解されなかったと思います。
>>841は複雑な物は単純な物に分割するという分割統治の話ですね。

>>870
その方がより大規模なソフトウェアを作れるからです。
人間は複雑過ぎる物は階層化して単純な物の組み合わせにしないと扱えません。

原理的にはgoto文プログラミングでどんなソフトウェアも作れます。
しかしコード行数が増えると処理フローが複雑になりすぎます。
構造化プログラミングならgoto文レベルの処理フローを書く必要はありません。
処理フローは階層化されて容易に理解できるようになります。
その結果、goto文プログラミングより大規模なソフトウェアを作れます。

非オブジェクト指向では複数の関数から参照するデータは関数とは独立して構築します。
しかしデータが大規模になるとデータ構造が複雑になりすぎます。
オブジェクト指向ならデータを処理と分離してデータだけでまとめる必要はありません。
オブジェクト内にデータ構造が隠蔽されて容易に操作できます。
その結果、非オブジェクト指向より大規模なソフトウェアを作れます。
0886デフォルトの名無しさん2010/09/08(水) 00:07:47
>>885
本当に>>870につけたレスなのかと
お前がいってる複雑なものを単純に云々は構造化手法の話じゃないか
0887デフォルトの名無しさん2010/09/08(水) 00:08:40
そういう意識付けのことをオブジェクト指向って呼ぶが
「オブジェクト指向なら」っていうのに違和感を感じる。
0888デフォルトの名無しさん2010/09/08(水) 00:16:48
>>885はなんかおかしいのでスルーで
0889デフォルトの名無しさん2010/09/08(水) 00:18:14
人は理解できないとき相手がおかしいと考えます
0890デフォルトの名無しさん2010/09/08(水) 00:22:47
だって構造化手法をオブジェクト指向だって言ってるよ
0891デフォルトの名無しさん2010/09/08(水) 00:23:46
じゃあお前はまず日本語を勉強しよう
0892デフォルトの名無しさん2010/09/08(水) 00:29:49
>>886
3番目の段落は構造化プログラミングの話ですが、
4番目の段落はオブジェクト指向の話ですよ。
構造化プログラミングが以前より大規模なソフトウェア作成のためであるように
オブジェクト指向もさらに大規模なソフトウェア作成のためだという事です。

>870
>なんで、シミュレーションの結果が目的の機能になるように、各オブジェクトの具合を調節するような、
>遠回りで無駄な設計手法を取らなきゃなんねーんだよ。
これに対して機能を実現する関数だけを実装するのではなく
関数とデータを組み合わせたオブジェクトを設計する理由を説明しました。
0893デフォルトの名無しさん2010/09/08(水) 00:32:21
機能分割 構造化パラダイム。オブジェクト指向に限らない
隠蔽 モジュール化のパラダイム。オブジェクト指向に限らない
動的束縛 オブジェクト指向と関係してるが、静的束縛のほうが型安全で実行速度も速い
継承 クラスベースに固有の概念。プロトタイプベース涙目。LSPが満たせないのは明らか。後はダイヤモンド継承問題
多態性 クラスベースに固有の概念(とwikiにあるが本当か?)。プロトタイプベース涙目
メッセージパッシング プロトタイプベースに固有の概念。クラスベース涙目
デザパタ Lispでは23個のうち16個が空気。元々、こういう個別技術は研究対象にすらならなかった
「もの中心」といえばデータ指向
0894デフォルトの名無しさん2010/09/08(水) 00:40:58
C#なんかプロトタイプベースな考え方も導入されとるし
完全にOOPってのはこれから消えてくんじゃないかな
やっぱラムダ式とか便利だしもはや必須になりつつある
0895デフォルトの名無しさん2010/09/08(水) 00:43:42
プロトタイプベースがメリットとはぜんぜん思えない
0896デフォルトの名無しさん2010/09/08(水) 00:44:23
>その結果、非オブジェクト指向より大規模なソフトウェアを作れます。

問題は、その「大規模なソフトウェア」とやらが、目的の機能、顧客の要求に答えられるものになったかどうか、だ。
もちろん、がんばれば、どうにかなるよ。
でもしんどくね?

オブジェクト指向っていったらアレだろ?
複数のオブジェクトがメッセージという池の中で相互作用しあってどうのこうの。
で、その相互作用の結果が目的の機能/要求を満たしてなきゃならんという遠回り。

俺はね、メッセージの池、それをね、機能って呼んでるの。
機能の池の中にオブジェクトやらデータやらが浮かんでて、
「機能がオブジェクトの性質を決める」
オブジェクトが自分自身の性質を決めるのではなく、
機能が、周りとの関係が、関数というある種のフィルタが、その物の性質を決める。
だってそうだろ、100円を100円たらしめてるのは、100円に100円の機能を持たせているのは、
100円自身ではなく、市場経済の「機能」だろ。100円単体では、それはただの金属の円盤にすぎん。
市場経済の機能が有って初めて100円は100円の意味が出る。
100円というオブジェクトを指向しても何の意味もない。

で、機能ってのは、英語でfunction、つまり関数だっていってるの。関数は何かと何かの関係を定義したもの。
オブジェクトに着眼しちゃいかん。オブジェクトを指向しちゃいかん。
大事なのは、オブジェクトとオブジェクトの間にある見えない何か。
OOな人はそれを「メッセージ」というが、それはおかしい。正しくは「機能/関係」と言うべきだ。
物事はメッセージで動いていない。機能で動いているんだ。
0897デフォルトの名無しさん2010/09/08(水) 00:46:16
オブジェクト指向言語を感じるのはコンストラクタとアクセス修飾子だな
0898デフォルトの名無しさん2010/09/08(水) 00:49:53
>>895 俺も今のところそう思ってる。それ系の言語のプロフェッショナルに熱く語って欲しい
0899デフォルトの名無しさん2010/09/08(水) 00:56:37
だからね、俺はね、常々ね、オブジェクト指向で出来ることは、セッターとゲッター、そいうったアクセサぐらいだといっとるのよ。
それ以上のこと、オブジェクト同士のかかわりやら何やらには、めっぽう無力。
でもね、大事なのは何時でも「機能/他者との関係」なわけ。これはOOPでは解決しない。
そこに注力しなきゃならないのに、OOPに拘ってる意味はもう無くて、
それこそ、継承とか言い出したらもうドツボなんよ。
0900デフォルトの名無しさん2010/09/08(水) 00:57:41
自演うぜえー
0901デフォルトの名無しさん2010/09/08(水) 00:59:59
>>899
やばい、俺が考えてたこととかなり同じだ
いや、自演じゃなくてマジで

俺はセッターゲッターすらも認めないけどな
0902デフォルトの名無しさん2010/09/08(水) 01:00:21
オブジェクトを生成した瞬間から正しい状態になっているというお約束はすごいと思う。
0903デフォルトの名無しさん2010/09/08(水) 01:12:23
>>896
説明しているオブジェクト指向が80年代(日本では90年代半ばまで)の
古いオブジェクト指向に見えます。古いオブジェクト指向設計は確かに
現実世界で名前があるものをオブジェクト候補にする迂遠な物でした。
でも現代のオブジェクト指向設計では最初にユースケースを考えてから
それに必要なオブジェクトを割り出すので目的の実現に関係ない
オブジェクトは最初から出てきません。

ユースケース
http://ja.wikipedia.org/wiki/%E3%83%A6%E3%83%BC%E3%82%B9%E3%82%B1%E3%83%BC%E3%82%B9
0904デフォルトの名無しさん2010/09/08(水) 01:15:48
また馬鹿がきた
0905デフォルトの名無しさん2010/09/08(水) 01:27:23
>それに必要なオブジェクトを割り出すので目的の実現に関係ない
>オブジェクトは最初から出てきません。

「目的の実現に関係ないオブジェクトが出てくる」なんて、俺一言も書いてねーよ。
0906デフォルトの名無しさん2010/09/08(水) 02:27:42
>>899
オブジェクト指向にすると問題が発生するのではなく
オブジェクト指向で解決できない問題があるという話ですよね。
非オブジェクト指向でなければならない理由にはならないのでは?
実装継承がコードを理解しにくくする場合があるのは確かですが、
大変有用な情報隠蔽まで一緒に否定する必要はないでしょう。

>>905
ではオブジェクト指向設計でも非オブジェクト指向設計と同じく
必要な関数(メソッド)とデータ(フィールド)しか含まない
ソフトウェアを作成できると考えているんですね。
オブジェクト思考プログラミングの記述が遠回りだという事だけが
オブジェクト指向に否定的な理由なんですね。

あなたはグローバル変数よりローカル変数の方が理解も保守もしやすい
という事はおそらく納得しているはずです。
裸の関数とデータ構造より抽象データ型の方が理解も保守もしやすい
という事をなぜ無視するのでしょうか?
0907デフォルトの名無しさん2010/09/08(水) 03:13:29
>オブジェクト指向にすると問題が発生するのではなく
>オブジェクト指向で解決できない問題があるという話ですよね。
>非オブジェクト指向でなければならない理由にはならないのでは?

オブジェクト指向で解決できない問題をなぜオブジェクト指向で解決しようとするのかい
0908デフォルトの名無しさん2010/09/08(水) 06:25:42
わけの判らない抽象化でさらにわけが判らなくなるのは納得しているはずです。
サブクラス化が進んでいくと見通しが悪くなるだけなのも納得しているはずです。
結局必要なのはテンプレートだけでオブジェクト指向なんて糞の役にも立たないことをなぜ無視するのでしょうか?
レス数が900を超えています。1000を超えると表示できなくなるよ。