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

消えてなくなれよ >オブジェクト指向 part.2

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2009/03/22(日) 06:57:59
前スレ
http://pc11.2ch.net/test/read.cgi/tech/1198822420/
0774デフォルトの名無しさん2009/05/29(金) 18:44:54
いや代表作とかどうでもいいから関数、
メッセージングの違いとかinclusion polymorphismの話題を含むやつを具体的に
0775デフォルトの名無しさん2009/05/29(金) 18:52:36
アランケイはオブジェクト指向の発起人じゃないよ。
0776デフォルトの名無しさん2009/05/29(金) 19:29:22
OO批判の連中は、どいつもこいつもイニシャル実装の事しか考えて無いんじゃなかろうか。
『作った後で要求がガンガン変わる』という事例にまで頭が回っていないように見える。
0777デフォルトの名無しさん2009/05/29(金) 20:35:28
>>776
http://www.ntv.co.jp/sekaju/student/20050115/03_0201.html
0778デフォルトの名無しさん2009/05/29(金) 20:52:40
OOの考え方って、メッセージングだとかメタファーだとか、とにかくサイエンスやテクノロジーの土俵にのらないから嫌い。
0779デフォルトの名無しさん2009/05/29(金) 20:52:55
結局偉そうなこと言う奴って付け焼き刃だってことが良く分かった。
0780デフォルトの名無しさん2009/05/29(金) 21:48:23
アスペクト指向についてどう思ってる?
あれは、メッセージングの仕組みはオブジェクトの責任分担について一方面しか切り出せず、
横断的な関心事に無力であり、その不便を解消したいという問題意識と捉えると、メッセージ
ングの本質的な弱点を指摘していると思う。
0781デフォルトの名無しさん2009/05/29(金) 22:29:59
>>780
アスベスト?
0782デフォルトの名無しさん2009/05/29(金) 22:53:45
解消できないから横断的って言うんですよ
0783デフォルトの名無しさん2009/05/30(土) 00:13:04
>>778
純粋サイエンスのまま実用的になった技術って正規表現くらいじゃね?
0784デフォルトの名無しさん2009/05/30(土) 00:29:04
正規表現のどこがサイエンスですか。
あれはただの技術ですよ。
0785デフォルトの名無しさん2009/05/30(土) 00:32:01
ム板で語れるサイエンスって数学しかないような。
0786デフォルトの名無しさん2009/05/30(土) 00:42:01
メソッドやらメッセージングやらを見てると
再利用性云々の話は眉唾に聞こえてきてしまう

型エラーにならなけりゃとにかく使いまわせる関数型アプローチにはそういう意味ではかなわないなと
0787デフォルトの名無しさん2009/05/30(土) 00:44:05
>>784
お前ネタで言ってるのか?
正規表現は数学者Kleeneが数学用のツールとして考案したものだ。
0788デフォルトの名無しさん2009/05/30(土) 00:49:01
>>783
サイエンスまでいかなくても、まっとうな議論ができる土台でコンピューター技術に
応用されているものをぱっと思い付きで挙げると、
λ計算、オートマトン、関係代数、述語論理、π計算、圏論、グラフ理論
0789デフォルトの名無しさん2009/05/30(土) 00:53:56
オブジェクト指向=文系
0790デフォルトの名無しさん2009/05/30(土) 00:59:32
>>787
> ツール
科学じゃねーじゃん
0791デフォルトの名無しさん2009/05/30(土) 01:01:39
>>788
それそれ。
メッセージングだとか多態性だとかカプセル化だとか、本質的にはオブジェクトを物とみなしてだとか、
OOは全然サイエンス的な議論ができないじゃん。だから嫌い。
0792デフォルトの名無しさん2009/05/30(土) 01:03:26
えーと、結局、継承はオブジェクト指向自体とは無関係って事でOK?
0793デフォルトの名無しさん2009/05/30(土) 01:04:57
科学=解き明かし体系化された概念
0794デフォルトの名無しさん2009/05/30(土) 01:28:20
>>790
馬鹿か?Kleeneの論文読んでこい。
0795デフォルトの名無しさん2009/05/30(土) 01:35:17
あのね、決まり事を作るのは科学じゃないのね。
科学っていうのは解き明かすことが重要なの。
0796デフォルトの名無しさん2009/05/30(土) 01:41:17
>>791
そうか、だからOOはなんとなく宗教チックなんだ。言うことがいちいち大袈裟だし。
長年のもやもやがスッキリした。
0797デフォルトの名無しさん2009/05/30(土) 01:46:19
>>795
お前が言っていることは、数学は科学で無い、と同じ位荒唐無稽な主張だ。
正則表現の定義から導き出される数々の定理を知った上で言っているのか?
0798デフォルトの名無しさん2009/05/30(土) 01:49:03
>>791
まぁエンジニアリング上の問題だからな。
どうしても人間による認識が入ってくるのは仕方ない。
0799デフォルトの名無しさん2009/05/30(土) 01:49:57
>>797
> 正則表現の定義から導き出される数々の定理を知った上で言っているのか?
知らないので教えてくださいw
0800デフォルトの名無しさん2009/05/30(土) 01:50:54
>>791
OOはベースになる理論が弱すぎるからな。
あと、いい加減なことを言う商売人が多すぎるのも問題。

その点、関数型は理論に裏打ちされていて良い。
0801デフォルトの名無しさん2009/05/30(土) 01:56:52
>>799
正則表現と有限オートマトンの等価性
Pumping Lemma
0802デフォルトの名無しさん2009/05/30(土) 03:02:31
>>800
OOにベースとなる理論なんてあるの?
基本的に経験則から導き出されたノウハウ的なものだと捉えてるんだけど?
0803デフォルトの名無しさん2009/05/30(土) 03:13:01
つーかOOもそうだがソフトウェア工学全般が胡散臭いっていうか
大した成果が出てないっていうか。研究するには筋の悪い分野だな。
0804デフォルトの名無しさん2009/05/30(土) 05:25:21
>>794
Kleeneのどの論文か言わないとCardelli厨と同一判定されますよw
0805デフォルトの名無しさん2009/05/30(土) 07:46:37
ML系の言語(Haskell, Standard ML, OCamlなど)はλ計算、論理学、圏論を
土台にきちっとした議論ができるから好き。
0806デフォルトの名無しさん2009/05/30(土) 07:49:43
>>804
突拍子もない主張ではないのだからCardelli厨と一緒にするのはやめてくれ。

これが当該の論文だ。わざわざpdfのリンクまで貼ってやったのだから
>>790はこれを読んで荒唐無稽な主張を取り下げること。

KLEENE, S.C.
Representation of events in nerve nets and finite automata.
In Automata Studies, C. E. Shannon, and J. McCarthy, Eds,
Princeton University Press, 1956, pp. 341.

http://www.soe.ucsc.edu/classes/cmps130/Spring09/Papers/kleene_1956.pdf
0807デフォルトの名無しさん2009/05/30(土) 08:58:15
理論が正しくても、それが必要とは限らない。そこで騙される人間もいる。
0808デフォルトの名無しさん2009/05/30(土) 09:10:37
>>792
ほぼOKだけど、文脈による。

ケイのOO(メッセージング指向のOO)やプロトタイプベースのOOでははなから関係ない。
クラスを含め、あってもいいが、無くても成り立つ。

http://www.purl.org/stefan_ram/pub/doc_kay_oop_en


ストラウストラップのOO(クラス指向のOO)では当初中核をなす概念だったが、クックらの指摘で
クラス継承だけでは型安全性が確保できないことが知られるようになってからは
インターフェイス継承や、委譲に軸足が移っている。

http://www.research.att.com/~bs/whatis.pdf
http://ctp.di.fct.unl.pt/mei/talmp/docs/InheritanceIsNotSubtyping.pdf
0809デフォルトの名無しさん2009/05/30(土) 10:03:16
>>805
確かにそうだけど、そこまで理解している人となら何について話しても
論理的な議論が出来そうだな。
0810デフォルトの名無しさん2009/05/30(土) 10:24:00
議論の余地がないから論理的って言うんですよ
0811デフォルトの名無しさん2009/05/30(土) 10:30:55
>>810
また馬鹿が湧いたのか?
0812デフォルトの名無しさん2009/05/30(土) 10:35:12
サイエンスができる人はλ計算や論理学を使ってちゃんとOOの意味を探ろうとしているのに、
OOの定義にしがみついているやつらときたら不毛な論争ばかり。
いい加減気づけよ。
0813デフォルトの名無しさん2009/05/30(土) 10:41:56
お前は妄想もいい加減にしろ。俺は>>800を書いたわけだが。
そもそもラムダ計算でどうやってOOの意味を探るんだ?

> 議論の余地がないから論理的って言うんですよ
一体>>809のどの部分に対して言っているんだ?
0814デフォルトの名無しさん2009/05/30(土) 11:10:42
設計には正解がないから難しいという考え方と
正解を導く理論を知らないだけだという考え方がある。

前者の立場では、非論理的な部分こそが議論のテーマになるってことかな。
0815デフォルトの名無しさん2009/05/30(土) 11:41:01
>>814
正解を導く理論を知ろうとしないから前者の立場になるのでは?
0816デフォルトの名無しさん2009/05/30(土) 12:49:54
>>813
まあ、型システムの整合性とかはよく型付きラムダ計算で論じられるけどね。

ともあれ、抽象データ型タイプのOOについてはそれこそカーデリのシグマ計算、
メッセージングについては方向性が変わってしまうけれどアクター理論とかパイ計算がある
ってあたりで勘弁してくれよ。
0817デフォルトの名無しさん2009/05/30(土) 13:16:06
俺はOOできるてるって奴にかぎって

型付きラムダ計算もそカーデリのシグマ計算もアクター理論もパイ計算も

*知らない*のはなぜ?
0818デフォルトの名無しさん2009/05/30(土) 13:18:58
メジャーなOOPLには
本流の計算科学を勉強しなくてもいい製品が作れる方法を
という目的の元育ってきたという側面もあるから
0819デフォルトの名無しさん2009/05/30(土) 13:19:00
道具としての技術と
学問としての技術のちがい?
みたいな?
0820デフォルトの名無しさん2009/05/30(土) 13:19:17
「できるてる」ってどういう意味だ?

つまり、情報系の学科出てない奴等がOOを異常に信奉してるんだろ。
0821デフォルトの名無しさん2009/05/30(土) 13:22:17
>>820
そんな感じがするね。
自分にも最新の技術がわかる→計算機科学なんて大したことないw
と思ってる奴が多すぎる気がする
0822デフォルトの名無しさん2009/05/30(土) 13:25:36
OOのユーザーだから。

おれ自動車の運転上手いって奴にかぎって古典的なニュートン力学も
燃焼工学も制御理論も知らないのは何故?って説いても無意味でしょ。
その制御理論を知る人に対して、何で数多の制御デバイスを実装する
半導体物性論も知らないの?と聞くのもまた無意味。世の中分業だし。

なので知っている人はそういう数学的な理屈を上手くラップして
そういうものを知らない人でも広くOOを利用出来るようにデザイン
してあげると良いんじゃないのかな。それが工学ってものでしょ。
0823デフォルトの名無しさん2009/05/30(土) 13:27:04
>>822
> おれ自動車の運転上手いって奴にかぎって古典的なニュートン力学も
> 燃焼工学も制御理論も知らないのは何故?
全然話が違う
0824デフォルトの名無しさん2009/05/30(土) 13:28:05
知らなくていい、というのも恩恵。
0825デフォルトの名無しさん2009/05/30(土) 13:28:25
>>823
どう違う?
0826デフォルトの名無しさん2009/05/30(土) 13:29:10
>>823
そうだよな、うまく載れてないもんな
0827デフォルトの名無しさん2009/05/30(土) 13:29:36
>>825
たとえが全く違う。的外れ。
0828デフォルトの名無しさん2009/05/30(土) 13:31:17
電子工学科では制御方面に行く人間も半導体物性の初歩は学ぶヨ
あと職人って言うような類の人でも理論的な事も勉強してる人は多い
表向きは「勘でやってる」とか言ってるような旋盤工のおっさんでも、
本棚にはボロボロになるまで使われた金属学の専門書があったりする
0829デフォルトの名無しさん2009/05/30(土) 13:31:42
>>827
だからどういう文脈で的を外しているのか、それを聞きたいのだが。
0830デフォルトの名無しさん2009/05/30(土) 13:31:44
怒らないでマジレスしてほしいんだが

型付きラムダ計算やらカーデリのシグマ計算やらが出来たら
もっと上手くOOPできるようになんの?
0831デフォルトの名無しさん2009/05/30(土) 13:34:15
世間で言われてるようなOOPはできないかも知れんがOOPの目的は達成できるようになる
そういう手法を自分で構築できるようになる、それを他人に教えることもできる
0832デフォルトの名無しさん2009/05/30(土) 13:36:40
>>822の例えの良し悪しは置いておくとしても、素人談義に首を突っ込んでも
時間の無駄ってことだけは言えそうだな。
0833デフォルトの名無しさん2009/05/30(土) 13:39:14
設計と実装を分業してたらOOPのメリット無いかも。
実装をラクにするために、柔軟に組んでいけるように、設計を工夫するんだろ。

肝心の実装を人任せにするんなら、設計はもはや他人事。

実際に実装で悶々しながら設計し、
実装で手ごたえを感じてまた設計に反映させる。

これが一番おいしいOOPじゃないかな。
非OOPでももちろん設計と実装の関係は同じことが言えるけど、
OOPならそこから先にまだちょっと伸びしろがあり、そこが醍醐味。
0834デフォルトの名無しさん2009/05/30(土) 13:41:13
>>830
まず、OOPを支持すること自体が無学の証というわけなんだよ。
全然形式化されていない手法を支持するって怖くないの?
形式化されていないということはその先の発展性が無いんだよ、OOPは。
0835デフォルトの名無しさん2009/05/30(土) 13:41:30
>>831
世間で言われてるようなOOPが出来ないってことは
既存のOOP言語使えなくなるんと違うの?
0836デフォルトの名無しさん2009/05/30(土) 13:44:26
言語はあくまで道具だ
0837デフォルトの名無しさん2009/05/30(土) 13:46:30
>>834
>全然形式化されていない手法を支持するって怖くないの?

全然。

>形式化されていないということはその先の発展性が無い

形式化されていないこととその後の発展性の因果がよく
分からない。
そもそも何をもって「発展」とするのか、形式的な定義が
与えられていないのでよく分からない。
0838デフォルトの名無しさん2009/05/30(土) 13:48:49
いったんOOで作ったらあとは部品を使い回すだけで
楽できるのに。
0839デフォルトの名無しさん2009/05/30(土) 13:49:22
>>837
「形式化」という言葉も理解できていない様子ですね。
0840デフォルトの名無しさん2009/05/30(土) 13:51:37
>>838
というのはセミナー屋のプロパガンダに過ぎないね。
どうも洗脳されている奴が多すぎて困る。
ちゃんと計算機科学を勉強して博士号を取得した奴以外喋るなよ。
0841デフォルトの名無しさん2009/05/30(土) 13:51:51
このスレで、計算機科学勉強した人でOO信者いる?
0842デフォルトの名無しさん2009/05/30(土) 13:53:26
>>840
そうそう、セミナー屋とか似非コンサルタントに騙されてる奴等多すぎ。
まあこのスレがどの板にあるのか考えたら仕方ないのかもな。
0843デフォルトの名無しさん2009/05/30(土) 13:55:22
この業界、セミナー屋がずいぶん幅をきかせてるよな・・
流行って全部セミナー屋が作ってるようなもんだし。
今度は関数型言語が食い物にされるのか・・ ウザ
0844デフォルトの名無しさん2009/05/30(土) 13:57:00
>>839
うん。説明してみて。
0845デフォルトの名無しさん2009/05/30(土) 13:59:50
>>844
大学院行って勉強してこい
0846デフォルトの名無しさん2009/05/30(土) 14:01:13
>>845
それは高等教育を受けた者の姿勢としては負けだと思うな。
理解しているのなら、説明できるでしょ。
0847デフォルトの名無しさん2009/05/30(土) 14:03:31
>>846
じゃあググれ
ここで書けるぐらいのことならググった方が早い
ここで書けないぐらいのことなら大学院で勉強しろ

以上
0848デフォルトの名無しさん2009/05/30(土) 14:04:58
日本でHaskellが流行ったといっても、その何割がWadlerやFokkingaの名を知っているのかとか考えると
食い物にされる可能性は高いだろうね
0849デフォルトの名無しさん2009/05/30(土) 14:05:26
院生連投頑張り杉
0850デフォルトの名無しさん2009/05/30(土) 14:06:43
誰が何をどうやって食い物にするんだよ。
で、それによって誰がどういう原理で困るんだよ。困らないのか?
0851デフォルトの名無しさん2009/05/30(土) 14:11:47
>>847
ケチだなぁ。お薦めのポインタすら貼らないとは。
学んだことを社会に還元できなくっては、国が高等教育に予算を
注ぐ意義も無くってよ?

>>848
WadlerやFokkingaとか知っているとどうして食い物にならないの?
0852デフォルトの名無しさん2009/05/30(土) 14:11:53
>>850
プロパガンダで信者を増やす→信者が信者を増やす→セミナー屋がっぽり
0853デフォルトの名無しさん2009/05/30(土) 14:16:31
目的の違う人間同士で”俺の目的の方が正しい、お前の目的は間違ってる!”って訳ですね判ります
0854デフォルトの名無しさん2009/05/30(土) 14:18:10
>>834
形式化されてないと嫌だってのは、ナイーブに過ぎるな。
それと、形式化されている手法を使ったとしても
いいプログラムが書けるとは限らないことも知っておこう。
0855デフォルトの名無しさん2009/05/30(土) 14:19:41
OOって一言で言ってもいろんな文脈がある。全然一緒に語るのは無理がある。

"勉強してこい"って言っている人は、学問的には通じるのかも知れないが、エンタープライズアプリにはきっと誰も耳をかしてくれない。想像力を働かせて簡潔な説明がないと普及しない。
0856デフォルトの名無しさん2009/05/30(土) 14:32:51
>>855
> エンタープライズアプリ
の現場が、破綻してるからこんなにスレが延びてるんちゃうの?
0857デフォルトの名無しさん2009/05/30(土) 14:36:52
>>856
同意
0858デフォルトの名無しさん2009/05/30(土) 14:37:35
>>855
計算の可能性に興味があって金儲けには全く興味なし。
0859デフォルトの名無しさん2009/05/30(土) 14:38:57
>>858
そういう貴方にスレの大半の住民は興味なし。
0860デフォルトの名無しさん2009/05/30(土) 14:41:54
>>856
それは違うぞ、きっと………

OO やりたい奴は、意地でも OO したいらしい

ある FX がらみのシステムで数学的にちゃんとしたバックグラウンドが
あって、発注側から実現するために必要な要素がほとんどすべて、数式
で与えられたのにもかかわらず、OO 分析しますとか言ってる奴もいるから
0861デフォルトの名無しさん2009/05/30(土) 14:42:06
もう素人には勝手にあーだこーだ言わせとけばいいよ。
正則表現を技術だなんて言うくらいなんだから、理論的な話をしても無駄。
0862デフォルトの名無しさん2009/05/30(土) 14:47:28
もう院生さんには勝手にあーだこーだ言わせとけばいいよ。
理論を実践に応用する議論をする気も皆無だろうから、現場的な話をしても無駄。
0863デフォルトの名無しさん2009/05/30(土) 14:48:41
関数型言語で意地でもポイントフリーで書くのとか
証明で背理法使えば楽なのに意地でも使わないで証明するのと似ている
自分の慣れた理解しやすい世界で処理した方がわかりやすいからなるべくそうしたい
ってのは誰にでも、どんな世界にでもある傾向だよ
0864デフォルトの名無しさん2009/05/30(土) 14:48:55
>>860
数式計算を実装するのと、システムを設計するのはまったく別の話しであることがわからないの?
0865デフォルトの名無しさん2009/05/30(土) 14:53:19
形式化なんか必要ないと思っているOO信者が沸いているようだが、
形式化は計算機科学の進歩の要であって非常に重要なことだぞ。
というのも、なぜ形式化をするかというと、要はプログラムのデバッグを自動化したり、
プログラム自体を自動的に生成したりしたいからなんだよ。
金儲け主義のプログラマさんだってバグ探しとか大変でしょ?
バグ探しにしてもプログラムの解析が必要だけど、
もし形式化されていなかったらプログラム自体を解析するプログラムをどうやって作ればいいのかわからないよね。
0866デフォルトの名無しさん2009/05/30(土) 14:53:59
>>864
言っとくけど、数値計算的な意味での数式じゃないからな

顧客が要求する、システムの振る舞いが数式出来ていされているのに
それを OO 分析してなんか意味があるの?

「お前らはこれを実装しろ」と、顧客は言ってるのに
知恵たらずの OO 分析溶かしても意味ないじゃん
0867デフォルトの名無しさん2009/05/30(土) 14:56:31
>>863
ポイントフリーで書けないHaskellプログラマは頭が悪いと見なされて差別の対象になります
0868デフォルトの名無しさん2009/05/30(土) 15:01:53
OOってデザインのメソッドだからね。

例えば、建築デザインの手法について議論する場で、
「そんな理論的裏付けの貧弱な手法より、この建築構造の方が理論として優れている」
と言われても、切り込み方がおかしいとしか思えないのと同じだな。
0869デフォルトの名無しさん2009/05/30(土) 15:02:58
OO議論の時もOOPを指すのかOOAとかOOMを指すのかはっきり
させろというツッコミが多かったが、形式さんも何の形式化の事を
話しているのかはっきりして欲しい。
0870デフォルトの名無しさん2009/05/30(土) 15:04:47
>>869
オブジェクト指向の数学的モデル化
0871デフォルトの名無しさん2009/05/30(土) 15:05:39
ソフトウェア開発そのものが形式化(キリッ!
0872デフォルトの名無しさん2009/05/30(土) 15:06:12
よく分からんが
関数も、変数も、定数も、なんもかんも全部オブジェクトなんじゃないの?
0873デフォルトの名無しさん2009/05/30(土) 15:06:51
>>872
オブジェクト(物体)なら触れるはず
つまりオブジェクトなんて最初から無かったんだよ!
0874デフォルトの名無しさん2009/05/30(土) 15:07:46
>>870
その「数学的にモデル化されたオブジェクト指向」とやらで設計された
プログラムが本当に用件から見て正しいのか、どう確認すればよいのか。
■ このスレッドは過去ログ倉庫に格納されています