トップページ⇒tech
968コメント317KB

オブジェクト指向は戦場では必要無し

■ このスレッドは過去ログ倉庫に格納されています
0001あたたたたNGNG
オブジェクト指向はより自然なモデルに即したものではあるが、
クラスを理解する労力が大きく、目的まで達成するのに
時間がかかる。他人のソースを見るにも複雑でときほぐしにくい。
ちゃんと整備されたドキュメントがなければ粗大ゴミソース。
またオブジェクト指向が○○に優れているとかいう話も、あくまで
ちゃんと設計され、ちゃんと実装されたクラスがあるという前提での話。
実際は世の中にどれだけの糞SEや糞PGがいることか。。。
よってオブジェクト指向は戦場では使いものになりません。


0002あたたたたNGNG
自分で2げっと
0003デフォルトの名無しさんNGNG
プログラムはやっぱり体育会系。
0004デフォルトの名無しさんNGNG
まあでも
 ○ひとりでやるなら効率的
 ○能力差が大きい少人数なら効率的
 ○能力のあるグループなら効率的

 という事で
0005デフォルトの名無しさんNGNG
Ruby以外の言語は糞だと何度言ったら分かるのやら。
0006デフォルトの名無しさんNGNG
>>1
しかしOOにより糞SEや糞PGの生産性が落ちるのなら、
「OOは世に糞システムを増やさないという偉大な貢献をしている」
とも言えるな。
OOがなければ糞SEや糞PGのクサレゾンビシステムが山のように… (怖
0007デフォルトの名無しさんNGNG
自分で勉強せん奴に教えるのはもう疲れた

糞PGというか使えんのが多い時は 
しょうがないからスクリプト作ってスクリプト触らせてる。
OOで共同でやるより効率的になった
0008デフォルトの名無しさんNGNG
なんでもかんでも新しいものの方が優れているということにはならんからな。
そもそもマイクロソフトがC++を採用しなければC++もマイナー言語だったっ
て話があったからな。まあひとつのプログラミングスタイルにオブジェクト
指向というものがある。ということで。

0009デフォルトの名無しさんNGNG
>クラスを理解する労力が大きく
?
データとメソッド分けて考えると労力が要るじゃない。
0010デフォルトの名無しさんNGNG
∀a(a∈プログラミング言語,a≠Ruby)⇒a∈糞言語
Ruby∈オブジェクト指向プログラミング言語
∴
∀a(a∈プログラミング言語,a∈非オブジェクト指向プログラミング言語)
⇒a∈糞言語
0011デフォルトの名無しさんNGNG
ナンタラオブジェクトのカンタラメソッドでゲットしたオブジェクトを
アンタラオブジェクトのソンタラメソッドの引数で渡してケンタラオブジェクトが
ゲットできるので。。。(以下ループ)
0012デフォルトの名無しさんNGNG
。。。ゲットしたポケモンを使い捨て、ピカチュウ特別扱い
0013デフォルトの名無しさんNGNG
どうでも良いけど、たかがOOごときにについていけない奴は
プログラミングなんてもうやめろよ。
0014デフォルトの名無しさんNGNG
>>1
パターンとかイディオムとか見えないと、
たしかに「書き手の勝手な都合で書き散らかしたゴミ」
にしか見えないかもな(藁
0015デフォルトの名無しさんNGNG
JavaBeanより、COBOLやFORTRAN60の方が、対人殺傷能力が高い。
0016デフォルトの名無しさんNGNG
小説家は紙とペンさえあればモノを書くことができる。
プログラマはPCとC言語さえあればプログラムできる。
エレガントさなんて要らない。
0017デフォルトの名無しさんNGNG
人の作ったオブジェクトって信用できない。
0018デフォルトの名無しさんNGNG
では、オブジェクト指向は糞Sヨ、糞PGを淘汰する為のフィルターとして
これから益々栄えるということで。

************** 糸冬  了 **************
0019デフォルトの名無しさんNGNG
今>>17がいいこといった。

とりあえず、次のプロジェクトはdoxygenの導入を検討中・・・
0020デフォルトの名無しさんNGNG
オブジェクト指向は年寄りPGリストラのための大義名分・方便にすぎん
オブジェクト指向で良い思いしたやつらは、自分がいずれ同じ目にあう。
0021デフォルトの名無しさんNGNG
>>20
いや、哀れなオッサン達をその脳裏にしっかりと焼き付けたからには、
自分の今のスキルにしがみつかないで常に勉強を続けるから大丈夫。

というわけで我々のために「勉強しないコはこうなっちゃうのよ」という
例を見せてください先人達よ!
0022デフォルトの名無しさんNGNG
>>19
その前にTesting Frameworkの導入検討しろよ
002319NGNG
>>22
レスサンクス。
それも検討している。
できればテストのログをXML化して、試験成績のドキュメント生成の自動化も。
doxygenもXML出力をサポートしているみたいだし、構造化文書化しておけば
クライアントから「Excelで〜」とか言われても、コンバージョンがきくんじゃ
ないかと・・・。

とかいいながらdoxygenの日本語環境構築に四苦八苦中だったりする厨房だが(汗
002419NGNG
OOはそれなりに効果あるんだけど、そのプロジェクトにだれかを途中参戦させて
できてるコードを引き継がせようとするとコストが大きいきがする。
あと、デザパタなどで仕様が既知のものとして暗黙の了解になってるとこがある
んで、ドキュメントが書きにくい気がするんですよ。
0025デフォルトの名無しさんNGNG
doxygenのcssを自分で書いた人いれば、
分けていただけませんか?

doxygenって読みずらいですよね・・・
0026デフォルトの名無しさんNGNG
ドキュ資源いいよな。ドキュメント作成はこれに統一しようぜ。
フィルタ設定すれば日本語通る。
0027デフォルトの名無しさんNGNG
>>23
> とかいいながらdoxygenの日本語環境構築に四苦八苦中だったりする厨房だが(汗
INPUT_FILTER に nkf あたりを設定して、入力を日本語 EUC にすれば
HTML 作成は OK。

HTML Help も作ろうとすると、

1 doxygen で作成した HTML ファイルそれぞれについて、文字コードを SJIS に
 変換し、さらにファイルの meta タグを使って書いてある charset も euc-jp から
 Shift_JIS に変更。

2 Html Help Project の Language= の行を「Language=0x411 日本語」に書き換え。

という作業が必要になる。私は shell script と perl 使って自動化してるよ。

(HTML Help の方がコンパクトで検索もできるから好きだ)
0028デフォルトの名無しさんNGNG
>>18
その「淘汰」で糞PGや糞SEばかりが生き残ったらどうすんだよ?
002919NGNG
>>27
サンクスです。

>>INPUT_FILTER に nkf あたりを設定して、入力を日本語 EUC にすれば

ってのは。SJISのソースを使う場合には。
INPUT_FILTER = "nkf32 -e"
ですよね。(Windowsです)
とりあえず、これだけやれば、HTML版はできるんですよね?
LANGUAGEはどっちでも関係ないですよね?
どーも、Japaneseにするとうまく行かない・・・・
0030デフォルトの名無しさんNGNG
>>28
ありえない
0031デフォルトの名無しさんNGNG
>>30
ありえる。
ハッタリかまして、あたかもOOが判ってる振りをして宣伝しまくり、
詐欺師仲間を集めれば良いだけ。
本物のOO使いが現れたら罠にかけるなどして追い出す。
(マジレス)
0032デフォルトの名無しさんNGNG
>>31
ありがちだな。うちもそんな奴いっぱいいるな。
口は達者で押しが強くて煙に巻くのが巧くて、でも良く聞いていると
いっている事がいかにも理解不足で薄っぺらな奴。で、疑問を投げると
逆上して、こっちを政治的に排除しようとしだす奴。ムネオみたい。

知識のギャップが金儲けの手段になることって、詐欺師の道具に成り
果てるんだな。OOに限った話じゃないな。
0033デフォルトの名無しさんNGNG
>>29
> INPUT_FILTER = "nkf32 -e"
はい。これで OUTPUT_LANGUAGE = Japanese にして利用してます。

> どーも、Japaneseにするとうまく行かない・・・・
なんでしょうね。ウチの環境を参考までに書いときます。

 Windows 2000 SP2
 doxygen 1.2.12
 graphvis 1.7.3b
 nkf 1.7 for Win32

具体的にどう動かないのかまとめて、適当なスレに書くと、誰か反応してくれるかも。
0034デフォルトの名無しさんNGNG
   糸冬 糸吉
0035デフォルトの名無しさんNGNG
>>1は「戦場では」って書いているけど、戦場にならないように
管理できていないだけっていうオチ?

まあ、修羅場になってから呼ばれたんだったら、開発方法論
もへったくれもないけど、単にパラダイムがわかていない人間
が多いから、人海戦術のために人を掻き集めたときに対応で
きないことが多いってことを言っているように見えるけど。
0036デフォルトの名無しさんNGNG
オブジェクト指向=御座敷剣法
COBOL=薩摩示現流
0037デフォルトの名無しさんNGNG
オブジェクト指向=単騎の騎馬武者
VB=足軽鉄砲隊
0038デフォルトの名無しさんNGNG
スレタイトルを見て、
「戦車・戦闘機等の防衛関連のソフト開発ではOOは要らない、ということか」
と読んでしまった漏れは、どうすればいいのだ?
0039デフォルトの名無しさんNGNG
doxygen
私は
OutputLanguage=Englishにして使っているのですが、
非常に読みづらいのはそのせいでしょうか?
文字サイズの設定おかしくないですか?
OutputLanguageをEnglishにしておけば、nkfは不要です。
>>19
Qtをインストールすれば、設定がGUIでできますよ。
きっと設定間違ってるんだと思います。
cssを編集できるデザイナーいないですかね・・・
0040デフォルトの名無しさんNGNG
アンチOOのみなさん
言語は何をお使いですか?
C言語を使ってる人に質問です。
関数ポインタを何に使ってるんですか?
それとポリモーフィズムを比較するとどうでしょうか?
0041デフォルトの名無しさんNGNG
>関数ポインタを何に使ってるんですか?
LoadLibrary,GetProcAddrでDLLをダイナミックロードする際に使用してます。

>それとポリモーフィズムを比較するとどうでしょうか?
ポリモーフィズムとは関係ないと思います。
0042デフォルトの名無しさんNGNG
>ポリモーフィズムとは関係ないと思います。
勉強不足なようで
0043デフォルトの名無しさんNGNG
>>42
たまたま関数ポインタがプリモーフィズムの代用として使えるだけ。
比較するのはナンセンス。アホですな。
0044デフォルトの名無しさんNGNG
VBも間接的にOOの恩恵受けてる
なかったら、珍花好
0045デフォルトの名無しさんNGNG
>>43
オマエが文脈読めないアフォ
0046同一人物ハケーンNGNG
いかにもAPIリファレンスを読んで理解したような素振りを見せる奴は
大抵「サルでもわかるC言語」から読んでいる法則

そういう奴に限って「本代>収入」な法則

そういう奴に限ってヒッキーな法則

そういう奴に限って知識だけで、使ってない法則

って知ってる?
0047デフォルトの名無しさんNGNG
>たまたま関数ポインタがプリモーフィズムの代用として使えるだけ
その逆も真なら、どういう意味かわかるっしょ(w
0048デフォルトの名無しさんNGNG
doxygen
コメント全部英語で書いたよ(;´Д`)
CSS自作したけど、doxygenのはくHTML自体がCSSでカスタマイズされることを考えてないから、あきらめたほうがよいかと。
カスタムファイルをスペース含んだパスに置くとdoxywizardが機能しなくなるのも萎え。
0049デフォルトの名無しさんNGNG
近いうちに非OO言語の即効性が見直されて行くことでしょう。
OO勉強した人ご苦労様です。
0050デフォルトの名無しさんNGNG
おいおい・・・
非OOPLってのはOOPLのサブセットじゃないかい?
0051デフォルトの名無しさんNGNG
>>46
類は友を呼ぶ、というのは有名だが。
(自分の周りを見てレベルが低そうだと思ったら、職場変えよう)
0052デフォルトの名無しさんNGNG
>>40
メタ構造が必要になる設計を思いつかない人にはそれで良いのかも知れませんがね。
0053デフォルトの名無しさんNGNG
doxygenって、1.2.13では、こっちが日本語で入れたコメントは出るけど
地の部分を日本語に設定すると化けてしまって、1.2.12にしたらうまくいった
ことがあった…と思う。

「と思う」ってのは、バージョン番号がうる覚えだからなんだが。

関係ないが、doxygenという名前を聞くと、

2ch仕様ドキュメント生成ツール 「ドキュソgen」

ってのをすぐ連想してしまう俺は厨房ですか?
0054デフォルトの名無しさんNGNG
>>7
当方ゲーム屋ですが10年前に編み出した手法です。
PGではなくデザイナーや企画の人にスクリプト書いてもらってます。
0055デフォルトの名無しさんNGNG
マジ質問す。
doxygenって何なんでしょう。サイトは見つかりましたが、
どういう方面で有名なんでしょう。
みんな当たり前のように書いていて、俺はとても不安なんです。
0056デフォルトの名無しさんNGNG
>>1
>またオブジェクト指向が○○に優れているとかいう話も、あくまで
>ちゃんと設計され、ちゃんと実装されたクラスがあるという前提での話。
つまり、まともなら、OOがいいってことだろ。
まともな職場へ逝けよ。
0057デフォルトの名無しさんNGNG
>>55
コメントからドキュメントを生成するツール。
生成されるHTMLが腐ってるのが難点だが。
005855NGNG
>>57
ありがとうございます。全然知りませんでした。勉強します。
0059デフォルトの名無しさんNGNG
>>56
IBMでさえプロジェクト破綻させちゃったしねえ・・・。
0060デフォルトの名無しさんNGNG
プログラミングコンテストなんかだと
スクリプトと関数型言語が上位を独占するみたい。
これについての意見をC++とJava派の人に聞きたい。
0061デフォルトの名無しさんNGNG
>>60
オブジェクト指向で設計してて嬉しいのは、なんと言っても「柔軟性」だと思う。

スパイラルな開発とか、システムがいったん動き出した後の保守などで利点
があるが、逆に初期開発コストは高い、ということじゃないのか。プログラミング
コンテストみたいに

 仕様は明快
 規模は小さめ
 一回作ったらおしまい

というプログラムに対しては、OO はあまり向かんと。

(私は使い捨てなら Perl や JScript で非 OO なスクリプト書くことが多い)
0062デフォルトの名無しさんNGNG
1000行ぐらいの「システム」か?w
0063デフォルトの名無しさんNGNG
>59
何の?
0064デフォルトの名無しさんNGNG
>>62
もう少し面白い煽りを頼む。
0065デフォルトの名無しさんNGNG
62が言いたいのは、1000行じゃシステムと呼べないといいたいのか?
もう少し面白い煽りを頼む
0066デフォルトの名無しさんNGNG
このあいだ、オブジェクト指向の威力をまざまざと見せ付けられました。
1000行に及ぶ大規模な開発をたった10人・1年半で終わらせる
事が出来ました。
ウチの社員は全員クラスを使えます。もう、OOマンセーですね。
オブジェクト指向でもっとも強力だと感じたのはj2seのAPIでした。
以前、社内で最もデキル人がVC++でやろうとして、どうしても
できなかったウィンドウプログラムがOOだと半年も掛からずに
hello worldを出せました。
OOを理解しない人は時代遅れです。
アンチは逝って良し。
0067デフォルトの名無しさんNGNG
>>66
評価 D。再提出。
0068デフォルトの名無しさんNGNG
1000行に及ぶ大規模な開発
0069デフォルトの名無しさんNGNG
>66
OOは何か単語を隠していらっしゃると思うのですが、
そこには、どのような単語が入るのでしょうか?
0070デフォルトの名無しさんNGNG
>>59
> IBMでさえプロジェクト破綻させちゃったしねえ・・・。

あれはまた別の話だよ。当時それにちょっと関わった IBM の人が「仕事取るつもりで
ハイハイ言ってたら、本当にOOで作れって言って来てさ、まいったよ…」って言ってた
から。OOで完成させたプロジェクトで僕が知ってるのは朝○生命くらいかな。どこの
開発会社もノウハウ無いもんだから結局手続き型 C/S みたいになっちゃうんだよね。
0071デフォルトの名無しさんNGNG
1000行にも及ぶ大規模な関数。
007270NGNG
ちなみにお客さん側になる情報システム部でOOに興味がある人は結構いますよ。
むしろ 「OOでやったら具体的にどういう設計になるのか? (多分本当に出来そうなら
使う気)」とか言う人多いです。でも開発会社側のノウハウがないもんだから、よく分
からないけどOOは難しいと思わせるような話にしちゃう。○日の時みたいに開発の
神様が一人いると違うだろうけど。
0073デフォルトの名無しさんNGNG
>>69
OO=オブジェクト指向
ってネタにマジレスした?
0074デフォルトの名無しさんNGNG
>>73
うん、した。
0075デフォルトの名無しさんNGNG

オブジェクト指向も使えない連中がやるから戦場になるに一票。
0076デフォルトの名無しさんNGNG
>68 >71
>66 は明らかにネタなのに揚げ足取ってらっしゃるのですか?
0077デフォルトの名無しさんNGNG
>本当にOOで作れって言って来てさ、まいったよ…」

なーんだそんなの、
「ウチは創業時からOOで組んでますよ」
で済むじゃん。


0078デフォルトの名無しさんNGNG
オブジェクト指向プログラミング標準 = Object-Oriented Programming Standard = OOPS
0079デフォルトの名無しさんNGNG
>>71
それは確かに、戦場でよく見かけるな。
008070NGNG
>>77
IBMが受注した後、OOでやらなきゃ金払わないって九側が相当ごねたらしい
(医師団の権力争いとかいろいろな関係でどうしてもOOでやりたかったんらしい)。
都心から SmallTalk 使いが消えたり、米国からIBM内の SmallTalk の権威 (名前
しらんけど) つれてきたりという話は有名か。
0081デフォルトの名無しさんNGNG
>>78
標準がOOPS言ってたら困るよな。
0082デフォルトの名無しさんNGNG
>>60
>プログラミングコンテストなんかだと
>スクリプトと関数型言語が上位を独占するみたい。
>これについての意見をC++とJava派の人に聞きたい。

今時、プログラミングコンテストなんてあるの?
俺はプログラミングコンテスト見たことないけど、
あるんなら参加したい。
スレ立てるか

0083デフォルトの名無しさんNGNG
>>60
>プログラミングコンテストなんかだと
前にここで聞いたが、
ごくフツーのプログラマは静的な型付けがないと辛い、ってことだろ。
規模が大きくなってくるとなおさら。
0084 NGNG
昔いた会社の社長は「ペーパーレスオフィス」の宣伝を間に受けて
プリンター使うと睨まれたっけ。
そりゃ滅多に使わないけど、不便とか以前の問題として、日経あたりの宣伝を
間に受ける馬鹿はホント困る。
「ペーパーレスオフィス」の記事を書いた同じ人間が「カラープリンタの成功」
なんて記事を書いてるんだろうな。
0085 NGNG
あげわすれ
0086デフォルトの名無しさんNGNG
>>70
もっと聞かせて!!
最近九州方面では、XML化も盛んだとか?
0087デフォルトの名無しさんNGNG
>プログラミングコンテストなんかだと
あるレベル以上で仕事している人はコンテストに出ている
時間なんかないんじゃないかと思ったり。
どうでしょうね。
0088デフォルトの名無しさんNGNG
アセンブラの1000行とCの1000行とC++の1000行は
量として等価ではない。

C だったら一日1000行書けるしね。
0089デフォルトの名無しさんNGNG
行数比較は、無意味。せめてFunction Pointとか、UseCase Point(藁 とか
使ってみそ。
0090デフォルトの名無しさんNGNG
software metrics 使ってるけど何か?
0091デフォルトの名無しさんNGNG
ぁ、その本あったっけ。
具体的に何を計っているの?
0092デフォルトの名無しさんNGNG
>>91
継承の深さ、クラスのメソッド数、クラスのインスタンス変数数、メソッドの行数など。
大体20項目くらいある。
自分でデータを溜めて指標にしないといけないのがちと難点。
0093デフォルトの名無しさんNGNG
>>88
行数比較は、生産性を図るのには使えないよ。

単純に行数比較すると、配列も使わずに延々と if - else 書く奴の方が生産性が高い
ことになるし、同期処理のの込み入った部分を実装する人間も、ほとんど繰り返しに近
いデータ部分を書くのも区別できないし。たとえば

static unsigned char data[] = {
  // 以下千行
};

とかさ。

ただし、データためて開発チーム全体の統計的な指標として使うのは有用だけどね。
(あくまで「異常発見」の指標として使うべきで、それで個々人を評価してはいけない)
0094デフォルトの名無しさんNGNG
>>93
ループはなるべく展開していますが何か?
0095 NGNG
比較の絶対基準はやっぱ受注費でしょう。
お客「お宅、オブジェクト指向全面採用なんでしょ?だったら2割引で・・・・」
営業「・・・そうですね。開発の連中も効率上がったと言ってますし、その条件で
  受けましょう」

そしてデスマーチが始まる。
0096 NGNG
他の会社の営業「実はウチもオブジェクト指向採用してるんです。
        発注はぜひ我が社にお願いします」

そして、業界は泥沼の値引き合戦に突入するのであった。
0097 NGNG
数年後、戦争は終わった。
不毛な値引き合戦を生き残ったのはVB房とCOBOLERだけであったそうな・・・。
0098デフォルトの名無しさんNGNG
平坦な戦場で
僕らが生き延びること
0099ログを読まずにカキコNGNG
なんだ、戦場ってデスマーチのことだったのね。
もっと物騒な戦争関係のアプリケーションのことを議論するスレかと誤解したーョ。
0100HemichuNGNG

                           ヘ ヘ
                          ミ.".ミ
                          ι ~ι )〜
┌────────────────────┐
│   100ゲトズサーでちゅ                     │
│                              By 逸見中 │
└────────────────────┘
0101デフォルトの名無しさんNGNG
101!
■ このスレッドは過去ログ倉庫に格納されています