オブジェクト指向は戦場では必要なし!4
■ このスレッドは過去ログ倉庫に格納されています
0001あたたたた
NGNGを理解する労力が大きく、目的まで達成するのに時間がかかる。
他人のソースを見るにも複雑でときほぐしにくい。
ちゃんと整備されたドキュメントがなければ粗大ゴミソース。
またオブジェクト指向が○○に優れているとかいう話も、あくまでちゃ
んと設計され、ちゃんと実装されたクラスがあるという前提での話。
実際は世の中にどれだけの糞SEや糞PGがいることか。。。
よってオブジェクト指向は戦場では使いものになりません。
前前前スレ http://pc.2ch.net/test/read.cgi/tech/1011997945/
前前スレ http://pc.2ch.net/test/read.cgi/tech/1013266554/
前http://pc.2ch.net/test/read.cgi/tech/1013875413/
またいつの間にかスレが1000に達しようとしていました
ご意見ありがとうございます。
やはりこれだけレスが多いということは、OOに疑問を感じている
技術者がどれだけ多いかということを実証していると思います。
私の独自の調査においても、OOの現場での有効性に疑問をもっている
という人は全体の54.3%にも達しています。やはりOOはその有効性
に疑問があると言わざるをえません。
皆さんも本当に何が残ってゆく技術なのか、何がイマイチぱっ
とせずに中途半端に終る技術なのか見きわめて、技術を習得して
いきましょう。
0153デフォルトの名無しさん
NGNGそりゃまあ、あげあしとり的な意見を無意識のうちにフィルタリング
できなければ2chのS/N比は最悪だろうなあ。
0154デフォルトの名無しさん
NGNGS/N比って、何よ?
0155デフォルトの名無しさん
NGNG0156デフォルトの名無しさん
NGNG0157デフォルトの名無しさん
NGNG0158デフォルトの名無しさん
NGNGそれじゃS/N比が大きくても嬉しくない
0159デフォルトの名無しさん
NGNG81って超科学と似てない?
相対性力学は間違っていた、なぜなら○○が説明できない!
これからは私の提唱する超相対性力学だ!
とかなんとか言っておきながら、実は単に理解できてないので
とんちんかんなことを言ってるだけって奴。
0160デフォルトの名無しさん
NGNGアクセサビリティって、もしかしてプログラムのどこからでも
自分の望む変数にアクセスできるのがいいって意味?
0162デフォルトの名無しさん
NGNGとほほ発見!
016381
NGNGする発展性の無い人間になるから嫌。
0164デフォルトの名無しさん
NGNG参照てんこもり渡しってのはもしかしてこういうの?
public int methodA(String a, String b, String c, String d, int e,
int f, int g, (20個くらい中略) double z) {
}
0165デフォルトの名無しさん
NGNG再発明大好き人間よりはデザパタ勉強する意欲のある人間の方が使える。
0166デフォルトの名無しさん
NGNG再発明っつーかさ、81がやってる事ってのは
車輪が発明されもう皆がそれを利用している状況で
「おい、車輪信者ども、俺は車輪を越えるものを発見したぞ。
自分の足で歩けば車輪はいらない! どうだ、スゴイだろ!」
って感じだろ。
0167デフォルトの名無しさん
NGNGどーでもいいから発展性のあるとこみせろよ。
たとえばデザパタの問題点を示してからそれを上回る解決策を示せ。
0168デフォルトの名無しさん
NGNG0169デフォルトの名無しさん
NGNG0170デフォルトの名無しさん
NGNG具体的なコード書いてね。>>81
0171デフォルトの名無しさん
NGNGpython?
0172デフォルトの名無しさん
NGNG他の奴は言ってる事が理解できてるのか?
まず、81の意見をまとめないかい?
あるいは81は、自分の意見をしっかりとまとめて主張するべきだと思う。
その際、参照てんこもり渡しと言った用語は控えてもらいたい。
81はコミュニケーション能力がだいぶ低い人間と言う印象を受けている。
0173デフォルトの名無しさん
NGNG0175デフォルトの名無しさん
NGNG一番引数が多かったものって
何個くらいあるの?
俺は最高35個だけど。
これくらいならたいしたことない。
0176デフォルトの名無しさん
NGNGイヤだぞ。そんなに多いの。
普通なら構造体か、クラスにすると思うが。
0177デフォルトの名無しさん
NGNG1,クラスを使うと、内部変数が隠蔽されてしまうので不便だ。
2,クラスを使うと、関数にパラメータを渡すときに呼び出す側の変数を
片っ端からパラメーターに渡さないといけないから不便だ。
3,継承すると一つの機能が複数のソースをまたがるので
わかりづらくて不便だ。
4,沢山クラスがあるととにかく訳がわからなくて不便だ。
よって、結論。
ソースコードは一つにまとめ、配列とそのインデックスを
駆使すれば良い。
さらに何でもかんでも配列にすれば要素数1でも1000でも
同じに扱えて幸せ。
間違ってるなら言ってくれ、81よ。
アンチOOは81を養護しないのか?
017881
NGNG出来あがった後で人のものに「すでにデザパタにある」などとのたもう。
んでもって自分では決して生み出さない。
文明の廃退期に生まれる一連の後退的な思想の一つ。
宇宙方程式が「全てを説明できるがなにも予言できない」と言われていたのを
思い出す。
0179デフォルトの名無しさん
NGNG一番引数が多かったものって
何個くらいあるの?
俺は最高35個だけど。
これくらいならたいしたことない。
0181デフォルトの名無しさん
NGNG明らかにヒッキーだよな。
今まで2chにいたヒッキーの中でも群を抜いてるよ、こいつ・・・
もっと積極的に意見を言えよな。
そんなに批判されるのが恐いのか?
震えながらキーボード打つくらいなら2chに来るなよ。
018281
NGNG縦に切ったか横に切ったかの違いだけだと言っています。
0183デフォルトの名無しさん
NGNG一番引数が多かったものって
何個くらいあるの?
もしかしてコードを書いたことないの?
018481
NGNG並列型オブジェクト指向と命名してあげよう。
0185デフォルトの名無しさん
NGNG違いが無いって事はメリットが無いって事か?
0187デフォルトの名無しさん
NGNGこいつ頭悪すぎる。
0188デフォルトの名無しさん
NGNGどんな関数?
0189デフォルトの名無しさん
NGNGデザパタは結果論って切り捨てる根拠は何?
立てか横かだけ?
Gof読んだ?コード書いた?
0190デフォルトの名無しさん
NGNG0191デフォルトの名無しさん
NGNGまあまあ、マターリ行きましょう
0192デフォルトの名無しさん
NGNGどーでもいいから自分で新しいものを生み出せって。
ただし「新しいもの」だぞ。
0193デフォルトの名無しさん
NGNGどういう関数だよ。
本当に作ったのか?
019481
NGNG略
}
0195デフォルトの名無しさん
NGNG0196デフォルトの名無しさん
NGNG引数の中から最大のものを取得する関数か?
俺だったら引数を配列、もしくはコレクション等にするか
配列、コレクションにgetmaxメソッドを持たせるが
君の方法だとどうなるのかね。
0197デフォルトの名無しさん
NGNGワラタ
0198デフォルトの名無しさん
NGNG0199デフォルトの名無しさん
NGNGオブジェクト指向のメリットは情報隠蔽とポリモーフィズムなのに、
その両方が分かってない奴ははじめてみた。
0200デフォルトの名無しさん
NGNGSmalltalkなら
aCollection
inject: (aCollection detect: [ :x | true] ifNone: [nil])
into: [ :x :y | x max: y]
ってとこだな。
0201デフォルトの名無しさん
NGNG一回アセンブラ出力でも見ろ>81
0202デフォルトの名無しさん
NGNG配列の添字渡したってオブジェクト渡したって
引数の個数は同じだろ?
0203デフォルトの名無しさん
NGNGLISP でいいような気がする。
0204デフォルトの名無しさん
NGNG今ごろ自分と普通の人との差を埋めようと必死になって調べていることだろうよ。
0205デフォルトの名無しさん
NGNG厨房晒し祭りは楽しい
10個の引数の関数を聞き出せなかったのが悔しい。
193-195およびその他の誘導レスは全部漏れ
誘導下手かな?
0206haruka
NGNGpublic abstract boolean drawImage( Image img, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2, ImageObserver observer)
dx1 〜 sy2 をオブジェクトにしちゃうとパフォーマンスがかなり犠牲になってしまうので、
引数になっちゃうのもしょうがないと思う。
それはそうと>>81の考え方をどんどん進めていくと結果的に
アセンブラとかマシンコードで直接書けってことになってしまいそうな気がする。
0207デフォルトの名無しさん
NGNG引数をスタックに積むのにかなり大きなコストがかかるから、
構造体にまとめてポインタか参照でちょびっとだけスタックに積む方がいいよ。
0208haruka
NGNGスタックに積むのにかかるコストは、
構造体をスタックにつくってそこに値を入れる
コストと同じくらいでしかないと思います。
それにCだとスタックに構造体つくれるからまだOKだけど、
Javaだとそうはいかないのです。
0209デフォルトの名無しさん
NGNG呼び出しが1回なら同じだろうな。
100 回呼び出したら値のコピーが 1000 回発生するだろう。
0210デフォルトの名無しさん
NGNG↑
ぶぅ。
0211haruka
NGNG構造体使うことでコピー減らせるかもしれませんねぇ。
私は>>207の「かなり大きなコストかかる」ってのを訂正したかっただけで
1000回の整数のコピーにかかるコストを気にしないといけないような環境は
あんまり考えてませんでした。
0212デフォルトの名無しさん
NGNG概念だけの説明じゃぁ、よくわかんないよね。。。
と言ってコードを見ても頭悪いからわかんないのよね。。。
情報隠蔽はよくわかるんだけどなぁ。誰かタチュケテ
0213デフォルトの名無しさん
NGNG0214デフォルトの名無しさん
NGNG結果論じゃなくて、経験論じゃぁないの?
いや、さわりしか知らんのやけどね。頭悪いから・・・。
0215デフォルトの名無しさん
NGNG知らんとかくのなら、書き込み自体をするな
0216デフォルトの名無しさん
NGNG猫クラスはニャ−と鳴くのがポリモ−らしいです。
0217デフォルトの名無しさん
NGNGぶっはっはっははははははは!
0218デフォルトの名無しさん
NGNGまぁ、この関数だけ書かれても
設計が悪いんじゃないかと疑うくらいしかできないからな・・・
>dx1 〜 sy2 をオブジェクトにしちゃうとパフォーマンスがかなり犠牲になってしまうので
>1000回の整数のコピーにかかるコストを気にしないといけないような環境は
なんだか微妙な環境でやってますな。
ちなみにオブジェクトプーリングは知ってるよね?
0219haruka
NGNGオブジェクトプーリングを使うのを事実上強要するくらいなら
引数10個の方がシンプルでマシな場合も多々あるので、
引数10個ってだけでバカにするのもどうかと思って。
0220デフォルトの名無しさん
NGNGオブジェクトプーリングは、ほぼシームレスに組み込めるだろ?
関連のある変数自体はセットにしておくほうがいいと思う。
上のx,yをペアにするだけでも6個になる。
なぜ引数が多いのはいけないのかと言うと、
バグを作りやすいから。
変数を局所化するメリットが分かるなら、
直感的には正しいと思える気がするんだが。
もちろん引数10個をとらなきゃならないケースが
0だとは言い切れない。
ただ、まともにOOをやっている人間からすれば
普通は設計を疑ってかかるだろう。
とりあえず、
その関数がどういうクラスのメソッドで、
Image img
ImageObserver observer
はどういうクラスなんだ?
面倒だった無視してくれて構わない。
0221デフォルトの名無しさん
NGNG0223220
NGNGあるんだな。
ただ、JAVA2Dはまだあまり使われてないから、
洗練されたクラスライブラリーというわけでもないと思う。
あるいはこれは、ネイティブファンクションに近いもので、
使う場合はこれをラップして使うんじゃないのか?
0224デフォルトの名無しさん
NGNG>ただ、JAVA2Dはまだあまり使われてないから、
>洗練されたクラスライブラリーというわけでもないと思う。
0225220
NGNGごめんよ。
指摘の仕方が陰湿だね(w
0226デフォルトの名無しさん
NGNG>ただ、Java2Dはまだあまり使われてないから、
>洗練されたクラスライブラリーというわけでもないと思う。
0227デフォルトの名無しさん
NGNG0228デフォルトの名無しさん
NGNG0229デフォルトの名無しさん
NGNGカワイソ
0230デフォルトの名無しさん
NGNG0231デフォルトの名無しさん
NGNG全然関係ないがこのスレ見た後だから気になった。
http://pc.2ch.net/test/read.cgi/prog/1021738082/l50
× オブジェクトプーリング
○ オブジェクトプーリン
0232220
NGNGグラフィックはほとんど使わないんだよ。
データマイニングが専門なんで。
0233220
NGNGプールという単語の動名詞です。
プーリンの方が発音は良さげですが、
キャメラと言っているようなもんですな。
プーリン・・・プリンが食べたくなった。
0235デフォルトの名無しさん
NGNGうん。231はそのままぷーりん、ぷーりんと呼びつづけるといいと思う。
俺は断固としてプーリングと呼ぶが。
>>232
そうか、ワリィ。DevかProの試験受けるならグラフィック必須なんどすよ。それでちょとね。
0236デフォルトの名無しさん
NGNG>○ オブジェクトプーリン
アフォー
アフォー
アフォー
>プーリン・・・プリンが食べたくなった。
サムー
サムー
サムー
0237デフォルトの名無しさん
NGNG...ngの音は鼻濁音だ。「ング」ではないが「ン」とはもっと遠い。
関東方言のガ行の発音をする人なら「ング」と書いた方が近い。
「プーリンク゜」と書くことを提案する。
0238デフォルトの名無しさん
NGNG0239デフォルトの名無しさん
NGNG糞スレに何を期待してんだ。
0240デフォルトの名無しさん
NGNGせめてsage進行でやってほしいね
0241デフォルトの名無しさん
NGNG0242
NGNGプログラマーの人って、実際どんな仕事やってるの?
ゲームとかソフトの会社とか?
あとどんな仕事があるの?
0243デフォルトの名無しさん
NGNG許さん。
プログラミング。
そんな感じ。
プログラミング。
0244デフォルトの名無しさん
NGNG0245デフォルトの名無しさん
NGNGプログラム書いてます。
仕様書もたまに書きます。
でもほとんど遊んでます。
納期は守ります。
デスマーチもたまにあります。
でもほとんど遊んでます。
不良社員でごめんね。
0246デフォルトの名無しさん
NGNG0247デフォルトの名無しさん
NGNG0248デフォルトの名無しさん
NGNGRectangleとまではいかなくとも、せめてPointぐらいは使ったほうがいいと思われ。
0249haruka
NGNGdrawString(str,x,y)とかでも
Pointにしたほうがいい?
0250デフォルトの名無しさん
NGNGうん。微妙だよね。
もしクライアント側がその座標点を計算したり保持したりするのにPointを使ってたり
ライブラリ側がdrawString内で結局ベクトル計算してたりしたら
drawString(str, x, y)のほうが無駄が多いよね。
また、仮に現在はdrawString(str, x, y)が全部自前でラスター描画していたとしても
後々、ハードウェアアクセラレーションを利用する外部ライブラリ等の外部ライブラリを
利用して描画する可能性があるのなら、drawString(str, point)にしておいたほうが無難かも。
drawString(str, x, y) -> _drawString(str, point)だと確実に短寿命なオブジェクトを生成/消滅
させなきゃいけないからね。
0251デフォルトの名無しさん
NGNG久々に楽しい奴だったのに。
0252デフォルトの名無しさん
NGNGまあ、今回の関数の場合は
システムコールのようなもんだから、仕方無いんじゃないかな?
■ このスレッドは過去ログ倉庫に格納されています