オブジェクト指向は戦場では必要無し その3
■ このスレッドは過去ログ倉庫に格納されています
0001うつつつつ
NGNG引き続きOO厨とアンチOO厨の血で知を笑う戦いきぼ。
その1 http://pc.2ch.net/test/read.cgi/tech/1011997945/
その2 http://pc.2ch.net/test/read.cgi/tech/1013266554/
0083デフォルトの名無しさん
NGNG禿同。
別にOOに限った話ではないが
自分が戦場で使えると思ったら使うっつースタンスでいいんでわ?
0085デフォルトの名無しさん
NGNG> まあ、OOA/OODより、自分のスタイルの方が効率的だよ どうだ
それなら、分析/設計フェーズの話もしないと比較にならんやん。
0086デフォルトの名無しさん
NGNG> 「OOを使えない人」にしてがっている人の方がよく見かけますが...
「OOを使えない人」のほうが多そうにみえるがw
0088デフォルトの名無しさん
NGNGいつまでも、レベルが低い人間を飼ってる職場にいるからだよ。個人的には、
早めに職場を変えること推奨するが。
0089デフォルトの名無しさん
NGNG> 24氏は大規模なプロジェクトも経験してるんか?
大規模プロジェクトでも OO 使わない事例は多いでしょ、今でも。
それに小規模だと OO の長所が活かせないかというと、そんなことはない
訳だし。規模の大小を持ってくるのは、ちと違うんじゃないかと思う。
0090デフォルトの名無しさん
NGNG私の周りは構造化ですべてを語るロートルしかいませんが、なにか?
0092デフォルトの名無しさん
NGNG昔はOO大好き人間がプロジェクトをぶち壊すことが多かったかもしれんが、今はいまだにOOになじ
めない人間がついていけずに(行かずに?)ぶち壊すことも多いと思われる。
0093デフォルトの名無しさん
NGNGベンチャー=技術力が低い
と思ってる? 単に規模が小さい零細企業なだけだろ。
0094デフォルトの名無しさん
NGNGウチの会社では技術的な会話なんかあまりしませんねえ。
会議のときくらいかな?
ところで、ちゃぶ台返しってなんだろう?
激しく気になるのですが・・・。
009590
NGNG零細ドキュソソフトハウスみたいなとこです。
個人的なスタンスだと「便利なやつ使えば楽できるじゃん」つー考えなんで
OOとかは積極的に使ってる(つもり)
しかし勉強しないロートルが打ち合わせの話についてこれなくなる罠
0097デフォルトの名無しさん
NGNG> しかし勉強しないロートルが打ち合わせの話についてこれなくなる罠
ちゃんと人を「育てる」ような体制は作ってあるの?
放っておいても育つような優秀な人間は少数で、勉強して技術力を上げるような
機会を作らないと、なかなか会社全体の技術力なんて上がらないよ。(そして、
足を引っ張られる)
0098デフォルトの名無しさん
NGNGキモイ・・・・。
0099デフォルトの名無しさん
NGNG大抵そういうロートルが教育担当になっている罠
0102
NGNG「勉強」なんてのは他人が勝手に考えたのを有り難がって覚える事だ。
そんなのは技術者としては敗北だ!
勉強より発明せよ!
そして他人に有り難がらせ、覚えさせるのだ。
よって勉強など不要。
ましてや無意味に造語を乱発するOOなぞ持っての外!
0103デフォルトの名無しさん
NGNG責任持たさせてもらえない、って状況もあるけどな。
あっちこっちたらい回しというか片足だけ突っ込まさせられるとか…
(うぉ、日本語禿げしく変だ)
0104デフォルトの名無しさん
NGNG「学ぶ」は「真似ぶ」由来だが。
> 勉強より発明せよ!
そういうヤツに限って、とうの昔に常識になってることを再発見して自分の新発見
のように喜んだり、知識の欠落を指摘されるという罠。
でだ、関数ポインタとメタの関係は何なんだ? C 言語だと関数ポインタを使っ
て実現できるのに Java の interface だとできない何かなんだよな(w
010524
NGNG勉強というのは、他人が考えたものでも自分に再発明させる行為だと思ってたよ
造語については、どんなものでも概念を共有する為には必要なものだと思う
むしろ、造語の概念が、スマートでない点が問題だと思うけどね
>>103
責任をとる人に権限が与えられるべきだ
権限を正しく使う人に報酬が与えられるべきだ とやっぱり思うな
日本は、天皇がお飾りだから 総理大臣もお飾りで、
トップはいつもお飾り
0106デフォルトの名無しさん
NGNG頑張って新しいこと発明しろよ。
おまえが知らないことはたくさんある。
勉強せずにいつ追いけるかな。
0107
NGNG大抵の事はすでに自分で発見してるよ。
0108デフォルトの名無しさん
NGNGあきらかにコミュニケーション能力に欠陥あり。
自分の能力と他人の能力の区別がついていなく、
また話の前に共通の知識の土台を 築こうとする
動機がみられず、主に自己顕示欲だけが先行しています
あなたは軽い病気です。
0109デフォルトの名無しさん
NGNGそんな実の無い自慢話ふくよりよお
自分の能力を見せたかったら ギコBASICを 好きな言語に移植してみせろよ
http://pc.2ch.net/test/read.cgi/prog/961558082/
ここ見るかぎりC->Delphiの移植に数時間しかかかっていないんだから
こんなスレに粘着する時間あんならお前なら半日でコンパイラに出来るだろうよ
0110デフォルトの名無しさん
NGNG> 日本は、天皇がお飾りだから 総理大臣もお飾りで、
> トップはいつもお飾り
電波?
0111
NGNGああ、わるいな。プログラミングはそんな速くないんだ。
0112デフォルトの名無しさん
NGNG早いのは2ちゃんねるのレスだけかよ。おめでてーな。
(事前に言っておくがオレモナー)
0113デフォルトの名無しさん
NGNG仕事ができる奴は仕事をする
仕事ができない奴は教師になる
教師にもなれない奴は芸人になる
0114デフォルトの名無しさん
NGNGほんとに教えるのが上手いインストラクターってのも業界によっては存在する
んだが、この業界ではあまり見かけん気がする。もしかしたら大手だと存在す
るのかなぁ。
人に教えるのは、場合によっては自分で理解するよりも大変なんだけど。そ
こに仕事の出来ないやつを押し込んでたら、教わる方も災難だよな。
0115
NGNG011624
NGNGこの手のDSPにゃ絶対にOOは導入されないなと思いつつ
011736じゃないが
NGNGCとJAVAを比較した場合Cの良いとこと悪いとこ
http://pc.2ch.net/test/read.cgi/tech/1009707596/
16 : :01/12/30 23:18
Javaでは動的なプログラムは作れません。
プラグインや動的関数ポインタは無理。
死んで欲しい。
151 : :01/12/31 22:55
<略>
JAVAの短所
1)厨房が大量に集まってしまった。(しかも、えばってるし)
2)プリプロセッサが無い
3)ポインタが無い。特に関数ポインタ
169 : :02/01/01 01:01
>>166
定義済みで既知のクラスでないと呼べないでしょ。
Javaはどこまで行っても固定プログラム。
手を変え品を変え、関数ポインタがあるように書かれてるけど、
同じ材料が形を変えているだけ。
焼きそばとたこ焼きとお好み焼きみたいな物。
391 : :02/01/02 01:25
未知の、コンパイル時に情報交換を行わないプログラムは
Javaでは実行できませんよ。
リフレクションとかその他もろもろのは全部既知のプログラムしか
扱えない。つまり静的。
395 : :02/01/02 01:30
コンパイル時点では走らせるプログラムに関する情報をいっさい持たない
任意のプログラムを走らせる事が出来る=動的。としとく。
406 : :02/01/02 01:50
Class forName(String className)ね・・・。
classNameはどこから持ってくるの?
416 : :02/01/02 02:04
>>411
もちろん静的ですよ。
つうか、最初に明示した条件に反してるでしょう。アフォですか?
論破されたからって「こいつ」呼ばわりですか?
これはおまけ:
417 :410 :02/01/02 02:06
いまの流れでいうと、動的っていうのは、ようするにevalのことだよね?
文字列を実行する、しかも呼ばれた側呼び出し元の環境を参照でき
る、ってことでいいんですよね?
0118
NGNG∧∧,..,、、.,、,、、..,_ /i
;'゚Д゚、、:、.:、:, :,.: ::`゙:.:゙:`''':,'.´ -‐i
'、;: ...: ,:. :.、.:',.: .:: _;.;;..; :..‐'゙  ̄  ̄
`"∪∪''`゙ ∪∪´´
0119デフォルトの名無しさん
NGNG0120デフォルトの名無しさん
NGNGインタプリタ系の言語でよく実装されてる、文字列でプログラムを与えると、
それを実行する命令。
eval("print 1+2");
で print 1 + 2 を実行する、と。
動的にプログラムコードを生成して実行できるので、上手く使うと柔軟性が
高いコードが簡単に書ける(特にマクロっぽい機能が必要な場合に、簡易
言語を自分で実装せずに済むのが楽)。
ただし、下手に使うとデバッグできずに死ぬ。
0121デフォルトの名無しさん
NGNG教えるのが巧いくらい優秀な奴は、仕事やらせたほうが
会社が儲かるので、教えるなんていう仕事はさせないの
よん。役立たずで首にするわけいにいかない奴を、なんか
偉い肩書き与えてその地位においとくのよん。
0122デフォルトの名無しさん
NGNGゴルァ!
板違いだぁ!
軍事板逝けドアホウ!
0123デフォルトの名無しさん
NGNGはあ、ネンチャクさんは関数ポインタがないとそれができないのか…
コンパイル作業を実行時まで遅らせればいいだけじゃん。
つうか、どこで関数ポインタが必要なの?
ブートストラップのインターフェイスだけ決めておいて、
実行時にソース渡してコンパイルしてそのインターフェイス
コールすればJavaでも同じじゃん。
0124デフォルトの名無しさん
NGNG>ただし、下手に使うとデバッグできずに死ぬ。
そうなんだよね。
Javaでもクラスローダ使ってバイトコードを読み込めば「動的プログラミング」は
可能だが、そんなことしたらデバッグで死ぬから普通しない。
まして C では、機械語コードを生成することになるから、よっぽどのバカ以外
そんなことしないだろ。
0125デフォルトの名無しさん
NGNG実行環境にコンパイラが存在することを仮定するのは何だから、ふつー
インタプリタを書くよね。
いずれにせよ、なんで C だと関数ポインタがあるから実現可能で、Java
だと実現不可能なのかは謎。
0126デフォルトの名無しさん
NGNG軍事板でプログラム板に逝けっていわれたYO!
0127デフォルトの名無しさん
NGNG> まして C では、機械語コードを生成することになるから、
加えて、実行時に eval される側から、eval する側の環境を参照する、と言っ
てるわけでしょ?
そうなるとシンボル情報をどうやって eval される側に公開するんだって話も
でてくるし (VC あたりだと PDB ファイルの詳細は非公開だし、リリース版に
実質的にソースコードと同等の情報をもつ PDB ファイルは加えたくない)
謎は深まるばかりだ。
0128124
NGNG俺は「機械語コードをメモリ上に生成して関数ポインタで呼び出す」と
いうのを想像してたんだけど。でも、>>124 に書いたとおり、保守や
移植を考えたらそんなことしないよな。
で、Javaでもバイトコード生成すればそういうことはできるけど、
どっちにしても保守で死にそうだから、もしどうしても「動的プロ
グラミング」をしたければ
>実行時にソース渡してコンパイルしてそのインターフェイス
>コールすればJavaでも同じじゃん。
この辺が落しどころじゃないかな。そして、こういうことは、
ダイナミックリンクが言語標準の機能でできるJavaの方がやりやすい。
JSPは実際そうやってるわけだし。
0129デフォルトの名無しさん
NGNG> 勉強より発明せよ!
> そして他人に有り難がらせ、覚えさせるのだ。
ふーん…
> ましてや無意味に造語を乱発するOOなぞ持っての外!
は?新しい用語を発明しちゃいけないってことか?
言ってることバラバラじゃん。
0130デフォルトの名無しさん
NGNGスレふたつにわたって見当外れの説を延々と主張しつづけるようなバカこそ、
粘着の名にふさわしいと思われ。
# 悲惨な「 」を晒すスレになりつつあるな。
0131
NGNG0132デフォルトの名無しさん
NGNGたとえば?
# クラス = ファイル分け、とか言い出しそうだな(藁
0133デフォルトの名無しさん
NGNG想像がつくわけで(w
0134デフォルトの名無しさん
NGNG内部イテレータとかを簡潔に書きたいんだろう。
こういうのはコールバックを除けば構文の問題なんだよね。
0135デフォルトの名無しさん
NGNGここまでの流れからすると、少なくとも「 」はそういう主張はしてないと
思うが。
ま、それはさておき、内部イテレータとかを簡潔に書きたければ、
コールバックのためには関数を作らなければならずしかも関数のネストが
できないCに比べれば、無名クラスでクロージャもどきができるJavaの方が
簡潔じゃないかな。
0136
NGNGことが多かったな。
(イテレータはあんまり使わない。)
0137
NGNG関数ー関数ポインタの方が再利用率が高かった。
分割単位が小さければ小さい程応用範囲が広いのが原因だと思う。
0138デフォルトの名無しさん
NGNGKusakabe 並みの面の皮の厚さだな(w
0139 デフォルトの名無しさん
NGNG普通によく分からないのだが…
0140デフォルトの名無しさん
NGNGKusakabeタンは衝撃だったよね。
0141デフォルトの名無しさん
NGNG> たとえば?
カプセル化=情報隠蔽
メソッド≒関数
クラス⊃構造体
0142デフォルトの名無しさん
NGNGそれを見ると日本人にとってはいいニュースに聞こえるね。
怪しい漢語からカタカナ語への切り替えにちょうどいいタイミングだったと思われ。
でも多態とか新たな似非中国語を産んだか…。
0143デフォルトの名無しさん
NGNG馬鹿が己の経験論を自身たっぷり述べるほど、傍で
見ていて間抜けな話はないと思う。
0144
NGNGまた、反論があるなら論理的に願います。
0145
NGNG0146デフォルトの名無しさん
NGNGC++ の実装に依存してる考えだね
0147デフォルトの名無しさん
NGNGきっと C++ やって OOP やった気になってるんでしょう。
0148デフォルトの名無しさん
NGNG0149デフォルトの名無しさん
NGNG0150デフォルトの名無しさん
NGNGここは、そんな痛々しい「 」を眺めて愉しむスレです。
素直に間違ってたといえば良いのに、いい加減な知識にいい加減な言い繕いを
重ねてるから遊び道具にされちゃうんだよね(w
0151デフォルトの名無しさん
NGNG「 」は明らかな間違いを延々と主張していながら、その間違いを認めてすら
いないわけだからね。
しかもいまだに関数ポインタがどうのこうのと言い続けている。
粘着もここまで来ると、おもちゃにするより、正直、寒いな。
2ちゃんならどうでもいいけど、たとえばこんな奴と電車で乗り合わせたり
したときのことを想像するとね…
0152デフォルトの名無しさん
NGNG隠すのが主目的ではないから。
どこかにも書いてあったが透明カプセルだってある。
0153131
NGNGそもそもOOの普及以前には「情報隠蔽」という概念はあまり一般的ではなかったと
思うんだが。
とはいえ、OOでなくても(たとえばCとか使っても)大規模なプログラムなら
なんらかの方法で情報隠蔽を図るから、情報隠蔽は別にOOに特有の概念では
ないわな。
>メソッド≒関数
>クラス⊃構造体
このふたつについては、少なくとも「似て非なるもの」なんだから、別の名前を
割り当ててもいいんじゃなかろうか。
とはいえ、たかが「メソッド呼び出し」を、「メッセージ送出」と呼ぶのはやめて
欲しいが。このスレにいるアンチOOは、そういうわけのわからない言い回しに
翻弄されてアンチになっちゃったような気がする。
てなわけで、アンチOO連中もかわいそうな被害者なんだから、あんまりいじめ
ないでいてあげようよ。(w
もちろん、「 」は例外でいいけど。
0154131
NGNG>C++ の実装に依存してる考えだね
かもしれんが、そう考えて何か不都合が?
Smalltalkerを相手にするのに比べたら、C++のスタンスはずっと
「実利的」だと思うがな。
C++の仕様を全部理解しようと思うと大変だけど、OOの「サワリ」を
つかむには C → C++という流れはむしろ悪くないと思う。
0155131じゃなかった
NGNGそれはそれとして、
>>139
C++(STL)やJavaのイテレータは使用者側が++したりnext()呼んだりするけれど、
これが「外部イテレータ」。「内部イテレータ」ってのは、使用者側はそういう
ところに手を出せず、逆に、イテレータによって決められた処理が駆動される
ことになる。Rubyのイテレータはこっち。
で、こういうのを、CやJavaで実現しようとすると、関数ポインタなり
インタフェースなりを使うことになる(要はコールバックだからね)。
0156デフォルトの名無しさん
NGNGJavaがそう定義しちゃったみたいだから、我慢してるけど。
0157デフォルトの名無しさん
NGNG内部イテレータは、C++ だと
関数オブジェクトを for_each などの traverse アルゴリズムに渡す
というのが近いのかな。
0158155=135
NGNGですな。あとはVisitorパターンとか。
# 「Javaの格言」にちょっとだけ説明がある。
んで、そういうときに、Javaだと無名クラスが使えるから、わざわざ
外に関数を定義しなければならないCより簡潔なんじゃない? というのが
>>135 の意図。
0159デフォルトの名無しさん
NGNG話が逸れるけど、C++ で無名関数オブジェクトを定義できるようにするライブラリを
書いてる人がいるみたい。boost.org の ML で Review Request が出てた。
(Boost Lambda Library, 略称 BLL だそーだ)
0160デフォルトの名無しさん
NGNG同意。
OOの利点で語られることの殆どはOOをサポートしない環境でも
結構頻繁に使われるよね。
Netscapeなんて構造体のメンバにに関数ポインタを入れといて
メソッド的な使い方する方法を多用してたし、
これだって一種の多態だね。
別にOOの概念全部を必ず使わないとならないわでないのだから
そこは設計次第でしょ。
OOならできてOOでないとできないことなんて無いんだから・・・
0161デフォルトの名無しさん
NGNGageちまった。
スマソ
0162デフォルトの名無しさん
NGNG> OOならできてOOでないとできないことなんて無いんだから・・・
まぁそうだが、OO で設計したら素直に OOPL 使え、とは思うけど。
インターフェースの多重継承なんかは、OOPL の力を借りないとやってられん
でしょ(関数呼び出しのたびに this 相当のポインタの offset を再計算、とか自
前でやってたら死ぬ)
0163160
NGNG確かに多重継承はOOPL使ったほうが合理的だと思う。
できる/できない
で語ったのはちと良くなかった
っていうか
Cで多重継承(と似たようなこと)をやるのが痛い
それこそOOのためにコードを書かされる
0164デフォルトの名無しさん
NGNG(使えるなら)OOPL使えばいいよね。
でも、犬::鳴く、猫::鳴く 的な説明でOOを語る奴はやっぱうざいし。
打ち合わせのときなどに、「その設計はOO的じゃないですよ」なんて
言う奴って結構いないか?
0165デフォルトの名無しさん
NGNG「その設計はOO的じゃないですよ」って言う奴はたいてい設計出来ない奴だから無視するのが吉
「こういう設計を提案します」って言う奴を信用しろ
0166デフォルトの名無しさん
NGNG縛りの法則なんてプログラム出来なくたって覚えられる。
だがそんな状態の人が出来ることはせいぜい設計時のダメ出しぐらいで、
代替案なんてありゃしないから邪魔なだけなんだよな。
0167デフォルトの名無しさん
NGNG> 結局オブジェクト指向ってプログラマがTechに走らないようにする縛りなんだな。
そうなの?
0168デフォルトの名無しさん
NGNG0169デフォルトの名無しさん
NGNGそれにしても、オブジェクト指向を導入すればトリッキーなコードがなくなるかと
言えば、全然関係ないと思うけど。とくに C++ なんかはキャスト使えばなんでも
アリアリだし、
private なメンバにアクセスしたい
→ friend にしちゃえ (まだマシ)
→ 継承しちゃえ(ダメダメ)
→ #define private public (最悪)
とかあるわけだし。
0170デフォルトの名無しさん
NGNGトリッキーなコードを書いたらペアプロでダメだしされるだろう。
0171糞
NGNG宮本 武蔵4
p48
無知はいつでも、有知よりも優越する。相手の知識を、テンと
して無視し去ってしまう場合に、無知が絶対につよい。生半可
な有知は誇る無知へ向かって、施すに術(すべ)がないという格
好になってしまう。
0172デフォルトの名無しさん
NGNG知らないほうがいいっていうことかな?
関係ないけど、有知って言葉を辞書で調べたら
「有知無知三十里」って言葉が出てきた。
0173デフォルトの名無しさん
NGNGムチムチ (;´Д`)ハァハァ
0174デフォルトの名無しさん
NGNG無知はDQNと言っているらしい。
0175
NGNGsage誘導してるのがいるなー。
てことでage!
0176デフォルトの名無しさん
NGNG名スレと思うならほっとけYO
0177戦場では役に立たないと武蔵様も・・・
NGNGが武蔵には、間髪のまに、処する方法が立っていた。
兵法によらず、すべての理は、それを理論するのは平常の事で、
実際にあたる場合は、いつも瞬間の決断を要するのであるから、
それは理論立てて考えてすることではない、ひとつの「勘」であった。
平常の理論は「勘」の繊維をなしてはいるが、その知性は緩慢であるから、
事実の急場には間に合わない知性であり、ために、敗れることが往々にある。
--------------------------------------------------------------
(吉川英治 宮元武蔵 吉川英治文庫 8巻96ページより引用)
0178デフォルトの名無しさん
NGNG0179デフォルトの名無しさん
NGNG0180デフォルトの名無しさん
NGNG理論だけでは戦場には役に立たない。
戦場には”勘”というのが重要。
その”勘”を養うには繊維となっている理論が重要であるが
それだけではまだ足りない。
つまり、戦場で勝つには”勘”を作っている理論とそれ以外(実践?)を
身に付けろってこと。
ちなみに、文章をよく読むと分かるが、平常の理論は事実の急場には間に
合わないと書いてあるが役に立たないとは書いてないので勘違いしないように。
0181デフォルトの名無しさん
NGNG0182デフォルトの名無しさん
NGNG『知恵』と『道理』、そして人としての『道』があって初めて心は空となる…」宮本武蔵
■ このスレッドは過去ログ倉庫に格納されています