消えてなくなれよ >オブジェクト指向 part.3
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2009/06/01(月) 12:30:25http://pc12.2ch.net/test/read.cgi/tech/1237672679
0153デフォルトの名無しさん
2009/06/06(土) 17:29:470154デフォルトの名無しさん
2009/06/06(土) 17:30:48早く「俺はまだまだ未熟でした、ごめんなさい」と言えよw
潔く負けを認めないかぎり、お前のスキルは一歩も前に進めないんだぞ。
0155デフォルトの名無しさん
2009/06/06(土) 17:36:17自分の言葉で簡潔に表現できないw
あと、文章を引用してきて朗読するだけとかw
0156デフォルトの名無しさん
2009/06/06(土) 17:39:24> そもそもオブジェクト指向はメッセージングじゃない。
> ただの関数呼び出しだ。
それを言うのなら、
「そもそも現在のOO実装は関数呼び出しがベースになっているから、
メッセージングによる本来のオブジェクト指向じゃない」
だろう。
0157デフォルトの名無しさん
2009/06/06(土) 17:43:220158デフォルトの名無しさん
2009/06/06(土) 17:43:54だから、本来のオブジェクト指向は必要ないんだな。
>>127
関数が外部の変数に依存しないときは関数を作る。
関数の外側の変数を使いたいときはクラスを作る。
これで間違いない。
0159デフォルトの名無しさん
2009/06/06(土) 17:45:26メソッド探索+関数呼び出しという実装を、
ごちゃごちゃにするから混乱してるんじゃね?
0160デフォルトの名無しさん
2009/06/06(土) 17:46:27たぶんお前が一番レベル低い。
0161デフォルトの名無しさん
2009/06/06(土) 17:48:21そういうことだな
0162デフォルトの名無しさん
2009/06/06(土) 17:48:24> 関数が外部の変数に依存しないときは関数を作る。
> 関数の外側の変数を使いたいときはクラスを作る。
キミ、どこの土方よ?
0163デフォルトの名無しさん
2009/06/06(土) 17:50:17AからBに(関数呼び出しによる)メッセージを送ったばあい、Bのメソッドを実行する実体は
Aのスレッドだったりして、そういうのが気持ち悪いと思うことはある。
0164デフォルトの名無しさん
2009/06/06(土) 17:53:090165デフォルトの名無しさん
2009/06/06(土) 17:54:050166デフォルトの名無しさん
2009/06/06(土) 17:55:44レッテルを貼るだけでは何の意味もないだろ
0167デフォルトの名無しさん
2009/06/06(土) 17:55:590168デフォルトの名無しさん
2009/06/06(土) 17:59:02俺は、無い!(´;ω;`) 一番処理系に近づいたのはRHGを読書した時w
0169デフォルトの名無しさん
2009/06/06(土) 18:09:27実装と無関係な抽象モデルを作っても無駄じゃないの
関数呼び出し前提でモデル作ればいいじゃん
0170デフォルトの名無しさん
2009/06/06(土) 18:16:50コンパイラ書けとか言うなら、せめてお前さんがASTに落とすまでのフロントエンドと
中間形式に変換した以降のアセンブリコードを吐くまでのバックエンドを自分で
書いて用意したらどうだ?これらの部分はお前さんの主張を「理解させる」上で
本質的ではないからな。
人にやれと言うくらいだから、この程度は簡単に書けるだろ?
0171デフォルトの名無しさん
2009/06/06(土) 18:27:12実装ありきでモデルを作るんじゃなくて
まずモデルがあってそれを実現するために実装があるんだぞ
0172デフォルトの名無しさん
2009/06/06(土) 18:42:40デスマを防ぐためにモデルを作るっていう発想はないんだな
絶望した
0173デフォルトの名無しさん
2009/06/06(土) 18:42:55頭が硬くてプログラムを作れなくて使うのをあきらめますた。
0174デフォルトの名無しさん
2009/06/06(土) 18:43:080175デフォルトの名無しさん
2009/06/06(土) 18:53:40そうじゃなくてモデルを作る時は
実装時に変な足かせになったりしないように抽象的な書き方をするのが基本だろ
論点ずらしもいいとところだぞ
0176デフォルトの名無しさん
2009/06/06(土) 18:59:59関数呼び出しを前提にすることが、変な足かせになるの?
0177デフォルトの名無しさん
2009/06/06(土) 19:37:18メッセージパッシングの理想型だったりするのか?
オブジェクトがそれぞれ別のスレッド(もどき)で動いてて、それぞれの
メールボックスに入ってるメッセージを順次読み出して実行・返信みたいな。
0178デフォルトの名無しさん
2009/06/06(土) 21:23:35結局 OO なんてのは「明確な定義もないただの幻想」
ってのが、前スレの結論じゃなかったのか?
0179デフォルトの名無しさん
2009/06/06(土) 21:30:10前スレで一番最後に目立っていた香ばしい強弁のことだよね。
0180デフォルトの名無しさん
2009/06/06(土) 21:31:130181デフォルトの名無しさん
2009/06/06(土) 21:43:080182デフォルトの名無しさん
2009/06/06(土) 21:45:00クラスが役に立たないわけじゃないが、
クラスに似た方言がたくさんあって統一できてない感じがする。
0183デフォルトの名無しさん
2009/06/06(土) 21:53:49お前らは市販の参考書でお勉強した程度のレベルだ
0184デフォルトの名無しさん
2009/06/06(土) 21:55:37それは暴言だろ?
Fランだって大学は大学だろうに…
0185デフォルトの名無しさん
2009/06/06(土) 22:16:28まともな議論が出来る土台がソフトウェア技術を大幅に進歩させている中、
OOに関する議論はメッセージだのオブジェクトだのカプセル化だの、相変わらず不明確で不毛な論争が続くのみ。
これはOOが属人的なノウハウの域を脱していない証拠。
さて、ではOOをまともな議論の土台に載せるにはどうすればいいのでしょう?
やっぱりσ計算?
0186デフォルトの名無しさん
2009/06/06(土) 22:17:290187デフォルトの名無しさん
2009/06/06(土) 22:18:030188デフォルトの名無しさん
2009/06/06(土) 22:34:31操作的意味論があるなら、そこからクラス設計の優劣が定量的に計れたりしないだろうか?
総合的なものじゃなくても、特定の側面(結合度とか)だけでもいいので。
そういう論文が読みたい。
0189デフォルトの名無しさん
2009/06/06(土) 22:56:090190デフォルトの名無しさん
2009/06/06(土) 23:11:13ありがとう。こんなに親切な御仁がいるとは思わなかった。
実はσ計算についても殆ど何も知らないので、OOの特徴(例えばMLのモジュールとの違い)を
σ計算の言葉で言い直すことができる事を期待して勉強してみます。
五十嵐先生まんせー。
0191デフォルトの名無しさん
2009/06/06(土) 23:18:41Amazon.com: A Theory of Objects (Monographs in Computer Science): Martin Abadi, Luca Cardelli: Books
http://www.amazon.com/dp/0387947752/
簡単に概要を知るだけならLuca CardelliのサイトのPaperの
Objectカテゴリにある論文を見ればいいんだけど
0192デフォルトの名無しさん
2009/06/06(土) 23:26:44> さて、ではOOをまともな議論の土台に載せるにはどうすればいいのでしょう?
> やっぱりσ計算?
それ以前に OO の明確な定義付が必要だってば
何見てもオレオレ定義じゃん
0193デフォルトの名無しさん
2009/06/06(土) 23:32:13ベースはFω<:かぁ。ふむふむ。
0194デフォルトの名無しさん
2009/06/06(土) 23:38:57まともに議論できる土台であるσ計算の言葉でOO(に似たなにか)を言い替えてみる。
↓
これをOOの定義にしよう!(というコンセンサスが広がる)
↓
うまー
0195デフォルトの名無しさん
2009/06/06(土) 23:51:27職業プログラマなので、学生乙は禁止。
0196デフォルトの名無しさん
2009/06/07(日) 01:50:45http://www.ddj.com/architect/217701907
この人は学者じゃないが、まあ言ってることは大体正しいな。
0197デフォルトの名無しさん
2009/06/07(日) 02:11:53日本でも雑誌出してたよな。
0198デフォルトの名無しさん
2009/06/07(日) 05:35:370199デフォルトの名無しさん
2009/06/07(日) 08:07:29いきなりCを関数型言語だとか言う奴がいたり、それに食ってかかる奴等がいたり
このスレに似てるな。
http://tech.slashdot.org/story/09/06/06/0210229/How-Software-Engineering-Differs-From-Computer-Science
0200デフォルトの名無しさん
2009/06/07(日) 08:11:23VBScript(否.NET)なめんな
0201デフォルトの名無しさん
2009/06/07(日) 11:53:58スパゲティ指向ってのは言いえて妙かもしれない
0202デフォルトの名無しさん
2009/06/07(日) 12:33:100203デフォルトの名無しさん
2009/06/07(日) 12:54:040204デフォルトの名無しさん
2009/06/07(日) 12:58:05分析と実装がどうの、現実世界=オブジェクト、メッセージがうんたら、
これをばっさり捨てたらよかったのにね。
0205デフォルトの名無しさん
2009/06/07(日) 13:00:33ユーザ定義の抽象型上の動的多態と拡張されたホーア論理を使ったよる制約プログラミング
0206デフォルトの名無しさん
2009/06/07(日) 13:16:43何故か、そのソーメンで昼飯を作っちゃうみたいなwwww
0207デフォルトの名無しさん
2009/06/07(日) 14:53:38> 分析と実装がどうの
この人たち OO を出せば客が尊敬してくれると思ってる連中だと思うよ
一昨年かな、急遽、長年付き合いのある映像関連のシステム作ってる
会社の手伝いをする羽目になった。
内容としては「既にあるシステムの出力フォーマットをMP4でラップしたい」だった
最初に頼んだところは、「いまから OO 分析してどーたらこーたら」と言うばかりで
実質的には何もしなかったそうだW
0208デフォルトの名無しさん
2009/06/07(日) 15:47:00instance.method()とmethod(instance)の違いくらいしかないんじゃないの?
0209デフォルトの名無しさん
2009/06/07(日) 15:53:550210デフォルトの名無しさん
2009/06/07(日) 15:58:20そういう不用心な事を言うと、マルチプルディスパッチこそがOOの肝だろうが、
って言われちゃうぞ。
0211デフォルトの名無しさん
2009/06/07(日) 16:41:26・継承
・ポリモーフィズム
0212デフォルトの名無しさん
2009/06/07(日) 17:20:380213デフォルトの名無しさん
2009/06/07(日) 17:33:44カプセル化とか言うアホとは?
0214カプセル化
2009/06/07(日) 17:34:490215デフォルトの名無しさん
2009/06/07(日) 17:40:19ドッカン
m ドッカン
=====) )) ☆
∧_∧ | | / / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
( )| |_____ ∧_∧ < おらっ!出てこい>>212
「 ⌒ ̄ | | || (´Д` ) \___________
| /  ̄ | |/ 「 \
| | | | || || /\\
| | | | | へ//| | | |
| | | ロ|ロ |/,へ \| | | |
| ∧ | | | |/ \ / ( )
| | | |〈 | | | |
/ / / / | / | 〈| | |
/ / / / | | || | |
/ / / / =-----=-------- | |
0216デフォルトの名無しさん
2009/06/07(日) 17:47:52クラス定義でアクセス属性決定する意味あるのか?
0217デフォルトの名無しさん
2009/06/07(日) 18:13:30ご冗談をwww
0218デフォルトの名無しさん
2009/06/07(日) 18:15:290219デフォルトの名無しさん
2009/06/07(日) 18:18:42|┃三 / ̄\
|┃ | |
|┃ \_/
ガラッ. |┃ |
|┃ ノ// ./ ̄ ̄ ̄ \
|┃三 / ::\:::/:::: \
|┃ / <●>::::::<●> \
|┃ | (__人__) |
|┃三 \ ` ⌒´ /
|┃三 / ̄ ̄ ̄ ̄ ̄ ̄ ̄ \
0220デフォルトの名無しさん
2009/06/07(日) 19:07:16議論してる奴らもUMLとC/C++とJavaぐらいしか知らない奴ばっかりっぽいから、
知識不足で底が浅い議論になってるように見える。
0221デフォルトの名無しさん
2009/06/07(日) 19:08:120222デフォルトの名無しさん
2009/06/07(日) 19:59:430223デフォルトの名無しさん
2009/06/07(日) 20:05:52他でやれば結構面白い議論に発展するかもしれんが。
0224デフォルトの名無しさん
2009/06/07(日) 20:25:530225デフォルトの名無しさん
2009/06/07(日) 21:57:07最高だ この力・・・
0226デフォルトの名無しさん
2009/06/07(日) 22:06:550227デフォルトの名無しさん
2009/06/07(日) 22:19:270228デフォルトの名無しさん
2009/06/07(日) 22:39:06・継承はinterfaceのみ可
・ポリモーフィズムは↑に反しない限り自由
0229デフォルトの名無しさん
2009/06/07(日) 23:00:04それはww構造的www部分www型ww
0230デフォルトの名無しさん
2009/06/07(日) 23:14:46OOPが原因でアウトソーシングなんて発生したんだよ?
0231デフォルトの名無しさん
2009/06/07(日) 23:33:59なんでもかんでもオブジェクト指向のせいにするな アホ
OOを使う人間が無能だっただけでOOが悪いわけじゃないということにいい加減きづけよな
0232デフォルトの名無しさん
2009/06/07(日) 23:46:22実際経営者というか管理の上流は
OOすることにより、製造業の部品が簡単に作れると勘違い
するようになった。もう複雑なOSなんて知らなくてもいいし
OOするだけで製造コストが劇的に下がると妄想を抱くようになった。
もし構造化のみだったらそんなこと無かったよ
コンサルなんて意味のない職業が台頭することもなかったし
管理のみの上流工程とか意味のない職種も誕生しなかった
全てがC++やJavaなどに代表されるOOがもたらした弊害でしょ
ジョエルもJavaスクール(笑)の影響でITがおかしくなったと言ってるぞ
金融破たんだって、JavaなんかのOOで簡単かつ乱雑にマネーゲームを
しかけることができるのが原因の1つだし
OOが無ければこれだけ異常な下請けや不況は起きなかった
0233デフォルトの名無しさん
2009/06/07(日) 23:52:41日本の業界だと一緒くたにされがちだけど
0234デフォルトの名無しさん
2009/06/07(日) 23:57:32最後の方はさすがに飛躍し過ぎ
0235デフォルトの名無しさん
2009/06/07(日) 23:58:28なぜかというと、彼らは
0236デフォルトの名無しさん
2009/06/08(月) 00:04:23>OOを使う人間が無能だっただけでOOが悪いわけじゃない
もう聞き飽きたよ、そのセリフは...。
はいはい、私は無能です。
0237デフォルトの名無しさん
2009/06/08(月) 00:09:18Javaなんかはバージョン上がる度にがどんどん複雑になるが生産性が
Java1.3や1.4の頃とかわらない
Rubyなんて10年前からあるけど脚光浴びてるだけで
なんら普通の生産能力しかない。むしろ無い部品が多いから
キャッキャとエテコウのようにオナプロ実装しているに過ぎない
そしてC++はいまだに0xの仕様を最終局面まで詰めれないし
このまま永遠に仕様策定ごっこして終わり
つまりだ、OOはその仕組みを作ることからして莫大で無駄な時間を浪費
する悪魔でしかないのだよ。技術の技術として仕上げていくことに対して
OOは無駄なことが多い単なる技術屋が金を長期間搾取できるための悪材料
でしかないんだよ
0238デフォルトの名無しさん
2009/06/08(月) 00:11:44普通筏と思われ。
0239デフォルトの名無しさん
2009/06/08(月) 00:17:530240デフォルトの名無しさん
2009/06/08(月) 00:24:160241デフォルトの名無しさん
2009/06/08(月) 07:44:14> もし構造化のみだったらそんなこと無かったよ
> コンサルなんて意味のない職業が台頭することもなかったし
コンサルは構造化以前から台頭していましたが何か?
> 管理のみの上流工程とか意味のない職種も誕生しなかった
ウォーターフォールは構造化以前から存在していましたが何か?
> OOが無ければこれだけ異常な下請けや不況は起きなかった
メインフレーム時代はもっとひどかったぞ。
0242デフォルトの名無しさん
2009/06/08(月) 08:01:50理解していない素人が分かった気になってコンサルタントとか名乗り出して
美辞麗句を並べた。で、経営者もそれに騙されて無駄金使った挙句、結局
ろくな成果が出なくてOO自体が忌み嫌われる存在になってしまったのが
一番の悲劇だろうな。
OOのテクニック的には基本的に構造化の延長だし、そこまで筋は悪くないのに。
0243デフォルトの名無しさん
2009/06/08(月) 09:03:580244デフォルトの名無しさん
2009/06/08(月) 09:18:450245デフォルトの名無しさん
2009/06/08(月) 09:22:21滅茶苦茶な翻訳、訳語の混乱があったこと。
更にオレオレオブジェクト指向が大量に出現したこと。
混乱がありすぎた。
0246デフォルトの名無しさん
2009/06/08(月) 09:28:080247デフォルトの名無しさん
2009/06/08(月) 09:42:24便利な機能を使いすぎると、かえって複雑になる。
バランスが非常に難しい。
C++なんて、マルチパラダイムとか言ってるが正気じゃない。
あれもこれも詰め込んだら、普通の人には適材適所で使うのが難しい。
0248デフォルトの名無しさん
2009/06/08(月) 10:14:00× 普通の人には
〇 土方の人には
0249デフォルトの名無しさん
2009/06/08(月) 12:10:35よく見るけれども、それほど良いものならなぜOOPLを駆逐して
広く普及しなかったのだろう? 皮肉ではなく、純粋な疑問として。
0250デフォルトの名無しさん
2009/06/08(月) 12:24:27関数型言語なんて知らなくても使えるようにならないと流行らないよ。
0251デフォルトの名無しさん
2009/06/08(月) 12:24:47ポピュラーなオブジェクト指向言語はC++やJavaなどのCの派生言語だから。
MLやHaskellなどは考え方を結構変えないと理解しがたいから、取っつきにくかったから。
0252デフォルトの名無しさん
2009/06/08(月) 12:26:10MSができる前から関数型言語は存在したけど、PascalやCよりずっとマイナーだった。
■ このスレッドは過去ログ倉庫に格納されています