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

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

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001デフォルトの名無しさん2009/03/22(日) 06:57:59
前スレ
http://pc11.2ch.net/test/read.cgi/tech/1198822420/
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
その「数学的にモデル化されたオブジェクト指向」とやらで設計された
プログラムが本当に用件から見て正しいのか、どう確認すればよいのか。
0875デフォルトの名無しさん2009/05/30(土) 15:07:57
ではワタシはこちらで構えておりますので、
どうぞ屏風からOOを追い出してください。
0876デフォルトの名無しさん2009/05/30(土) 15:08:38
>>862
コピペはお断りします。
0877デフォルトの名無しさん2009/05/30(土) 15:09:35
オブジェクト指向のオブジェクトって鋳造とか言う意味じゃないの?
物体なんて捉えてたら、理屈が通らないと思うのだけれども
0878デフォルトの名無しさん2009/05/30(土) 15:10:36
>>874
要件 ね。
要件自体を形式的に定義できる手法が存在する。
その要件とプログラムに整合性があるかどうかを検証するプログラムを使えばいい。
でもオブジェクト指向だとどんな風にそんなプログラムを作ればいいのかまだ誰も解らない。
0879デフォルトの名無しさん2009/05/30(土) 15:12:22
要件を叙述可能な形にする段階までが要件定義
08808782009/05/30(土) 15:14:06
俺が言っていることは実際にJRのシステム開発で行われたことがあるんだよ。
08818782009/05/30(土) 15:14:48
JRじゃないな。旧国鉄か・
0882デフォルトの名無しさん2009/05/30(土) 15:15:39
>>877
オブジェクトは多くの場合クラスまたはインスタンスを指す曖昧な言葉
mayerのOOSCの最初の7章あたりの議論にその辺の問題に関するmayerの見解が詳しく載っている
0883デフォルトの名無しさん2009/05/30(土) 15:17:34
>>880
ひょっとしてProlog使って実装したシステム?
0884デフォルトの名無しさん2009/05/30(土) 15:18:49
>>883
そうそう
0885デフォルトの名無しさん2009/05/30(土) 15:21:00
>>878
要件だね。
>要件自体を形式的に定義できる手法が存在する。
うん。なので聞いた。どこの形式化を指しているのか。

でも、この仕組みで行くと要件自体が形式化されていないと
「数学的にモデル化されたオブジェクト指向」とやらには現場的
にはまるで意味が無いじゃない。移行コストが面倒なだけで。

鶏と卵でいけば要件はソフトウェアを作る上であからさまに鶏
なので、そっちにも積極的にツッコミを入れないと。
ただ現場で使われている方法論を叩いたところで賛同は殆ど得ら
れないと思う。実益無いんだもん。
0886デフォルトの名無しさん2009/05/30(土) 15:22:31
>>882
だから、鋳造という言葉なんでしょ?
鋳造という言葉だけでは、鋳型の作成なのか、鋳造物なのか、鋳造物を作る工程なのかさっぱり解らないでしょ
0887デフォルトの名無しさん2009/05/30(土) 15:22:32
>>881
古い話みたいだけど、その開発手法が何故普及しなかったか
分析とかは無いの?
0888デフォルトの名無しさん2009/05/30(土) 15:23:17
lojbanが標準語になってかつ述語論理の概念を全員が共有できればあるいは…
0889デフォルトの名無しさん2009/05/30(土) 15:26:33
>>885
実益はある。
曖昧な仕様で開発を始めると仕様バグに悩まされることになるぞ。

仕様バグだけでなくプログラムのバグに関しても、
変なところで無限ループしていたり、デッドロックしていたり、いろいろあるけど
そういうバグの解析にも形式的モデル化が役に立つね。
0890デフォルトの名無しさん2009/05/30(土) 15:27:15
>>887
失われた10年
0891デフォルトの名無しさん2009/05/30(土) 15:28:11
要件が形式的に表現される案件では有効かもな。そんな案件はめったにないけど。
0892デフォルトの名無しさん2009/05/30(土) 15:30:51
>>891
原因は一つ。
SEが無学な文系だったということ。
0893デフォルトの名無しさん2009/05/30(土) 15:32:03
つまり誰にも現状と実現可能な理想が見えてないような状況で開発が行われている…と
そりゃ方法論以前の状態だな
0894デフォルトの名無しさん2009/05/30(土) 15:32:17
要件をいかにして形式的に表現するかに知恵絞るのがまっとうな設計屋なのでは?

かりに、今抱えてる案件でなおかつ今の俺では力足らなくてもだ
0895デフォルトの名無しさん2009/05/30(土) 15:33:58
形式的なモデル化と、OOによる設計は対立する概念じゃないだろ。
0896デフォルトの名無しさん2009/05/30(土) 15:34:31
JR総研は今でもVDMなどの形式手法を取り入れている。
OOにしろFMにしろ、否定する奴はバズワードふり回して
「こんなのはバズワードだ」とトートロジーかます奴が多い。
その手の輩が20年前に現われていたら構造化を否定していただろう。
0897デフォルトの名無しさん2009/05/30(土) 15:35:25
>>895
全く矛盾しないどころか、現代的な形式的手法の多くにはOO拡張が存在する。
0898デフォルトの名無しさん2009/05/30(土) 15:35:26
>>895
オブジェクト指向が形式的にモデル化できていない現状では何ともいえない。
関数型言語は明確にモデル化されている。
0899デフォルトの名無しさん2009/05/30(土) 15:36:27
OO分析は非形式的にも程がある手法
0900デフォルトの名無しさん2009/05/30(土) 15:39:20
言語と設計手法と要件を混同してないか?
0901デフォルトの名無しさん2009/05/30(土) 15:39:56
ソースが仕様(笑)
0902デフォルトの名無しさん2009/05/30(土) 15:41:50
>>896
構造化⊆オブジェクト指向
0903デフォルトの名無しさん2009/05/30(土) 15:42:27
テストコードが仕様(笑)
仕様→実装 (笑)
型が仕様でコードは証明(笑)
0904デフォルトの名無しさん2009/05/30(土) 15:43:12
つまり、構造化がウンコならオブジェクト指向もウンコ
0905デフォルトの名無しさん2009/05/30(土) 15:44:47
>>896
う〜ん、実績があるにせよOO云々を駆逐するほど普及しないのには
何か見えないコストや難点があるんでないの?
人材コストっていう説明でもよい。その場合の解決策は教育システム
と言うことになるから。一体何なんだろう。
0906デフォルトの名無しさん2009/05/30(土) 15:46:11
ここの人達ってOO嫌いで関数型大好きみたいなんだけど
ふだんどんなプログラム作ってんの?
HaskellとかでOSSのアプリ作ってる人達ばっかなの?
0907デフォルトの名無しさん2009/05/30(土) 15:46:38
>>905
> 何か見えないコストや難点があるんでないの?
あるよ。
ただ単純に、仕様記述言語の書き方が理解できる奴が少ないってこと。
仕様記述そのものがプログラムに見えなくもない。
0908デフォルトの名無しさん2009/05/30(土) 15:53:50
仕様記述言語による記述に要件とのずれがあったらどうするんだろう。
0909デフォルトの名無しさん2009/05/30(土) 15:55:28
>>906
Haskellは使うけど、型クラスは使わないんだろうなw
0910デフォルトの名無しさん2009/05/30(土) 15:56:58
先にC言語の工数見積もられてオブジェクト指向ならN分の1にできる?
って言われてNが2以上にできたら勇者だよね
0911デフォルトの名無しさん2009/05/30(土) 15:58:40
C言語でオブジェクト指向が出来ないような物言いだ。
0912デフォルトの名無しさん2009/05/30(土) 15:58:50
>>907
人材も揃わないような技術は使い難いなぁ。正直サイズの合わない
ネジみたいなものじゃん。

あと「理解出来る奴が少ない」と言うのは単にマイナーだから?
あるいは高度な訓練や素養が必要だから?
前者なら単に教育のマスを増やせば解決するけど、後者だとすると
なかなか人材コストが下がらないから結局普及は難しいような。
0913デフォルトの名無しさん2009/05/30(土) 15:59:34
>>910
開発工数は言語や方法論よろもまず技術者の質がモノを言う。と答える。
0914デフォルトの名無しさん2009/05/30(土) 16:07:59
>>911
グダグダな設計を、OO的にまともなものに変更してメンテナンス工数を1/5にしたことならあるよ
0915デフォルトの名無しさん2009/05/30(土) 16:40:42
>>914

それは OO を使わなくても可能な範疇だろ?
実質的には OOA とか OOD とかって全然こなれてないじゃん

OOP は使いどころによっては結構役に立つけど, C++ とか Java みたく
関数がファーストクラスじゃない言語だと, あちこち不細工になるじゃん
0916デフォルトの名無しさん2009/05/30(土) 16:46:19
>>914
OO的ではないがまともな設計に直してたら1/6になってたりして。
いずれにしても工数が減らせるかどうか説得力のある説明をするのって
難しいよね。
(過去の事例からデータを取るのも難しいし、実験するにもコスト、時間がかかりすぎる。)
0917デフォルトの名無しさん2009/05/30(土) 16:49:00
>>914
OO的ではないがまともな設計に直してたら1/6になってたりして。
いずれにしても工数が減らせるかどうか説得力のある説明をするのって
難しいよね。
(過去の事例からデータを取るのも難しいし、実験するにもコスト、時間がかかりすぎる。)
0918デフォルトの名無しさん2009/05/30(土) 16:49:31
とても大事な事だから
0919デフォルトの名無しさん2009/05/30(土) 17:15:07
>>914
以前動いていたシステムの設計を変更して、その後でもちゃんと動くかどうか保証できるのか?
09209142009/05/30(土) 17:23:23
そのためのテストパターンだろ。
設計変更するついでに既存コードにあるバグもけっこう見つかったけどな。
0921デフォルトの名無しさん2009/05/30(土) 17:35:13
絶対に嘘っぱちだから安心して読めるなw
0922デフォルトの名無しさん2009/05/30(土) 17:36:26
仮にこれが証明できたとしても

じゃ、次からは工数5分の1でやってもらうからw
あ、給料はそのままねw

なんて未来しか見えないから激しくどうでもいい
0923デフォルトの名無しさん2009/05/30(土) 17:36:50
>>916
> OO的ではないがまともな設計に直してたら1/6になってたりして。

今さら仮定の話を持ち出しても。。。

> いずれにしても工数が減らせるかどうか説得力のある説明をするのって
> 難しいよね。

実績を示した人に対して仮定の話を持ち出して揶揄する人がいるから
じゃないかな。
0924デフォルトの名無しさん2009/05/30(土) 17:53:51
>>922
工数がそのまま給与に反映されるとか、どんだけ零細なところで働いてるんだよ?
0925デフォルトの名無しさん2009/05/30(土) 17:56:59
>>920
たとえばなぜ銀行のシステムが未だにCOBOLを抜け出せないのか解らないのか?
0926デフォルトの名無しさん2009/05/30(土) 17:59:20
>>924
だから反映されないだろw
5倍働いても給料はそのままだよw
0927デフォルトの名無しさん2009/05/30(土) 18:07:50
給料は日給月給だから、1/5の工数で終われば、その分遊べるんじゃね?

どうせ8時間は拘束時間だし
0928デフォルトの名無しさん2009/05/30(土) 18:08:05
まともに動いてるCOBOLコードを直す必要なんて無いからじゃね。
0929デフォルトの名無しさん2009/05/30(土) 21:39:50
結局あれだ
アムロもカミーユもニュータイプでエースパイロットだが
その前は自前でロボット作ってたって話だよ
0930デフォルトの名無しさん2009/05/30(土) 22:09:21
シャアも自前でロボット作ってたの?
0931デフォルトの名無しさん2009/05/30(土) 22:14:01
関数型言語には、フローチャートや
UMLみたいな設計の図解方法はあるの?
0932デフォルトの名無しさん2009/05/30(土) 22:24:59
どちらもガンダムの強奪をやらかした生粋のハッカーで
しかもカミーユは後にZガンダムの設計までやってる
素質としてはカミーユの方が数段上かもしれない
こんな奴等が、他人の作った機体をコロコロ乗り換えるだけのシャアや
雑魚をけしかけて遠くから眺めるだけのシロッコに負けるわけがないだろう

オブジェクト指向を使うってことは、足がなくても100%だとか主観で
格付けする整備士の戯言を真に受けるようなものだ
0933デフォルトの名無しさん2009/05/30(土) 22:44:06
確かに、自前で作れれば現場に文系が多かろうが
マイナー言語でライブラリ書く奴が少なかろうが
何の問題もないからな。
0934デフォルトの名無しさん2009/05/30(土) 22:53:17
>>932
はっきり言う。気に入らんな
0935デフォルトの名無しさん2009/05/30(土) 22:55:51
何でも使えそうな文だな

関数型言語を使うってことは、足がなくても100%だとか主観で
格付けする整備士の戯言を真に受けるようなものだ
0936デフォルトの名無しさん2009/05/30(土) 23:06:50
大佐なら上手くやれますよ!
0937デフォルトの名無しさん2009/05/30(土) 23:10:54
>>935
関数型言語は数学的な裏付けがあるから例えとしては合わないのでは。
0938デフォルトの名無しさん2009/05/30(土) 23:17:40
>>931
> フローチャート
無駄なものの筆頭

> UMLみたいな設計の図解方法
ハード屋が使ってる似たような図にはバックグランドに
それなりの理屈はあるが、UML の図って奴等が理屈を
視覚化するための使ってる図の、見た目だけの劣化コピー

実質的に、まともに使えてシステムを表現してるのは
ステートダイアグラム程度じゃねぇの
0939デフォルトの名無しさん2009/05/30(土) 23:19:59
>>937
自前で処理系作る話だ。
ベーパーウェアでは話にならん。
0940デフォルトの名無しさん2009/05/30(土) 23:37:44
>>822 に対する >>827 の説明はまだなの?
0941デフォルトの名無しさん2009/05/31(日) 00:00:39
フローチャートもUMLも欲しい資料ではないよなぁ
いるいらないも判断せずにこういうの一生懸命作っちゃうやつってすげー嫌い
フローも業務フローはいるけどソースのフローはいらねぇよなw
UMLも仕様に近いもんならほしいけどクラスを機械的にかいたもんはお断りしたいw
0942デフォルトの名無しさん2009/05/31(日) 00:08:41
コードのフローチャートは論外として、UMLで書いてコードに直接落とし込む
ようなツールをセミナー屋や商社代理店がよく宣伝してたが、実際に今でも
使ってる奴っているのか?そして実際にどれ程効果があるのか教えてほしい。
0943デフォルトの名無しさん2009/05/31(日) 00:13:18
>>942
あー役にたつっちゃやくにたつし、たたないっちゃたたない

本質的にどうモデル化するかの方が大事で、その部分は全く経験則の塊
ゴミ突っ込みゃゴミが出てくる
0944デフォルトの名無しさん2009/05/31(日) 00:14:20
図を書くのにエラい時間がかかるし、そもそもクラスの雛形を作る時間が短縮できても
全体の作業量には殆んど影響しないのでむしろ効率が落ちるという…
0945デフォルトの名無しさん2009/05/31(日) 00:17:57
ネジにもいろんな種類がある事を知らない奴らが、オブジェクト指向は使えないって言うんだよ
0946デフォルトの名無しさん2009/05/31(日) 00:18:01
プロジェクトでたま〜に必要になる大改造で
図とソースで整合性が合わなくなったときの面倒臭さは異常
ただでさえ忙しいのにそんなのかまってらんねー
0947デフォルトの名無しさん2009/05/31(日) 00:21:37
>>945
> ネジにもいろんな種類がある
当然その中には OO で作れないネジもある事も理解して言ってるんだよな?
0948デフォルトの名無しさん2009/05/31(日) 00:22:56
>>947
ネジはどんな形でもネジだと言う事も知らないらしい...
0949デフォルトの名無しさん2009/05/31(日) 00:23:41
>>945
ほう・・・
じゃあ、工数いくつ削れるの?
0950デフォルトの名無しさん2009/05/31(日) 00:27:40
セミナー屋がどうとか言ってる奴がいるけど、そんなセミナー受けなきゃいいだけじゃん。
どうせこの業界でのセミナーなんて役に立たないのはわかってるんだし。
0951デフォルトの名無しさん2009/05/31(日) 00:30:39
UMLは、ホワイトボード使って議論するときに共通知識として使えるってのが一番の使い道。
0952デフォルトの名無しさん2009/05/31(日) 00:31:51
>>951
はぁ?
0953デフォルトの名無しさん2009/05/31(日) 00:33:34
お絵かきで物事を伝えなければならないときに一応よく知られた書き方
として使えるメリットはあるよね>UML
0954デフォルトの名無しさん2009/05/31(日) 00:35:51
そうそう、こういう生産性に何の寄与もしないツールを高額で売りつける
ベンダーや代理店が多すぎること、そしてそれにすぐ騙される奴が多いから
OO自体胡散が臭く思われる。
0955デフォルトの名無しさん2009/05/31(日) 00:36:09
仕様書あるなら仕様書使って説明すればいいじゃん
ないならUMLなんて書いてる場合じゃないんだよ
0956デフォルトの名無しさん2009/05/31(日) 00:37:17
>>954
ホントだ
詐欺ばっかりだったよなー
100万近くもするクズツール平気で売りつけるヤツとかホント酷い
0957デフォルトの名無しさん2009/05/31(日) 00:37:18
クラス図: 出来の悪いブロックダイアグラム
シーケンス図: さらに出来の悪いタイミングチャート
状態遷移図: まぁ、許してやろう

他になんかあったっけ?
0958デフォルトの名無しさん2009/05/31(日) 00:38:46
>>955
その仕様に関してどうすればいいかを議論する場だよ。
0959デフォルトの名無しさん2009/05/31(日) 00:38:56
俺はセミナーと言えば、MSとOracleの無料セミナーしか行った事無いから、
セミナー屋云々の話がいまいちよく分からない。
0960デフォルトの名無しさん2009/05/31(日) 00:46:51
>>959
オブジェクト指向関連のセミナーにいっては駄目とだけ覚えておけ
レス数が950を超えています。1000を超えると書き込みができなくなります。