やはりオブジェクト指向は幻想でした。 【2】
■ このスレッドは過去ログ倉庫に格納されています
00011
NGNGオブジェクト指向の欺瞞を鋭く指摘し、各界に大きな波紋を呼んだ前スレ。
好評につき第2弾です。
----
オープンソースプロジェクトの成功率
C++を採用したプロジェクト→20.8%
JAVAを採用したプロジェクト→20.6%
Cを採用したプロジェクト→45.13%
はっきり言ってオブジェクト指向が生産性を
高めるなんて、幻想です。
みなさん、オブジェクト指向なんて浮ついたものに踊らされてないで
Cに回帰しましょう。
ソース
http://www.gyve.org/~jet/lang2.txt
前スレ
http://pc.2ch.net/test/read.cgi/tech/1003815855/
関連スレ
http://pc.2ch.net/test/read.cgi/tech/1003850943/
0002デフォルトの名無しさん
NGNG0003デフォルトの名無しさん
NGNG0004デフォルトの名無しさん
NGNG1、
マニュアル見ろ
仕様書を見ろ
ソースを見ろ
でカタがつかないから。
XX vs, YY が盛り上がるのと一緒
2、
オブジェクト指向はいまほとんどの分野で嫌でも忍び寄ってきているから
#いままでVB厨だったのにJavaやらされているとか
#COBOLラーで安泰とおもてたらイキナリCORBAプロジェクトに突っ込まれたとか
0005デフォルトの名無しさん
NGNGあーあ、COBOL以外の仕事やりてぇな。
0006デフォルトの名無しさん
NGNG新スレ作ったやつ、ネタ振れYO!
0007つーか
NGNG0008デフォルトの名無しさん
NGNG0009デフォルトの名無しさん
NGNGふむ、君はもう少し国語を勉強して他人にもわかりやすい文章を書くべきだな。
0010デフォルトの名無しさん
NGNG0011デフォルトの名無しさん
NGNG「日本IBMが九大病院の大型SIで苦戦
オブジェクト指向技術者不足が原因 」
http://www3.nikkeibp.co.jp/WAT2/970516/970516trein01.html
OO信者は、OOが浸透すれば技術者不足は解消されると
楽観的だけど、OOの技術者不足が解消されることは
永遠にないでしょう。
構造化の時(コーディングレベルでは)は、それこそ、あっという間に
日本中に広まったのに、OOは、一般に名前が知られるようになってから
10年以上たつのにこの体たらく。(しかもIBMでも)
オブジェクト指向は、平均的なコンピュータ技術者にはむずかしすぎるんです。
これがOOの本質的な欠点。
いくらOOを使えない技術者を馬鹿呼ばわりしても解決しません。
0012デフォルトの名無しさん
NGNG0014つーか
NGNG0015デフォルトの名無しさん
NGNG構造化の時あっというまに広まったというのは嘘だろ。
構造化プログラミングが提唱されたのは1960年代だぞ?
0017デフォルトの名無しさん
NGNGブビ坊には難しすぎるだろ。ブビ坊は技術者じゃないYO!
今、OOじゃない言語って、VBとCOBOL(OO-COBOLを出すのは気が引けるんで)だけだろ!
0018デフォルトの名無しさん
NGNGってどうしようもないもん。
0019デフォルトの名無しさん
NGNGOO出来ない言語のこと?
0020デフォルトの名無しさん
NGNGよくわからんが、PL/IやFortranは含まれるらしい。
002117
NGNG・COBOL,PL/I
・Fortran
・VB
C言語はダメね、だって、誰かがコソーリC++コード混ぜるもん。
0022デフォルトの名無しさん
NGNGC言語はXlibとかみたいにがんばってOOしてる例もあるしな
0023デフォルトの名無しさん
NGNGたとえば、義務教育にOO入れるとかな。
002417
NGNG0025デフォルトの名無しさん
NGNGAPLやりゃいいんだろ?
0026デフォルトの名無しさん
NGNGクラスがあるのとOOは違うだろ
Object Oriented は概念の問題。
0027デフォルトの名無しさん
NGNGプログラマが全部あいつみたいな奴だと思われたら迷惑だぞ。
002817
NGNG馬鹿な学生は出なくて良いYO!クラスベースのOOPだって「OO」が入ってる。
0029デフォルトの名無しさん
NGNGObjectCobolってなかったっけ?
003017
NGNG∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
( ・∀・)< 2ちゃんでは、ブビ坊叩きはが普通だZO!!
( ) \__________
| | |
(__)_)
003117
NGNGINVOKE指令が追加されてるだけ、って強調されてる。(どういう心か知らんが)
0032デフォルトの名無しさん
NGNGだーかーらー
OOP = Object Oriented Programming
オブジェクト指向'で'プログラムをすること。
わからん?
0034デフォルトの名無しさん
NGNG0035デフォルトの名無しさん
NGNGOOが浸透しようがしまいが、俺はどっちでもイーよ。
浸透してもフォローできるし、浸透しなくても仕事あるし。
003617
NGNGOSだってC++化してるし。
意外に、元コボラーがやるサーバJavaが、クラスを全て関数イメージに隠蔽してたりして。
0037デフォルトの名無しさん
NGNGUnix + Cな環境では、浸透していない。
003817
NGNGStroustrupもUNIXまわりの人じゃないの?知らないけど。
0039デフォルトの名無しさん
NGNGOO してる気になってる厨房であるに三十八票。
0041デフォルトの名無しさん
NGNGじゃぁ、消せよ
0042デフォルトの名無しさん
NGNG処理系が存在するのと、浸透してるのは違う。
あと、プリコンパイラって何だ?
トランスレータのことか?
0043デフォルトの名無しさん
NGNGOSってC++化してるの?
0045デフォルトの名無しさん
NGNGBeはAPIがC++だよな。
ほかは・・・知らん
>>44
そうだよって、そんないいかげんな話をもっともらしく語るなよ
0046デフォルトの名無しさん
NGNGこういう意見てどういうところから出てくるんだろう?
OOPLを使うと、講義や本を読むだけよりも、劇的にOOPに対する理解が深まるに決まってるのに。
だって、プログラミング中って、どうやったら楽して書けるかって考えるでSYO!
てことは、39はブビ坊?
0047デフォルトの名無しさん
NGNGそれは絶対にない。OOP
0048デフォルトの名無しさん
NGNG実装とはまた別の話。
コーディングする暇があったら設計してろ。
0049デフォルトの名無しさん
NGNG>コーディングする暇があったら設計してろ。
すごいレスです。
OOPのPがプログラミング(実装)と知らない人みたいです。
0050デフォルトの名無しさん
NGNG知らんことに口出しするな(UNIX環境)
0052デフォルトの名無しさん
NGNG42の最初の一文読んだ?
0053デフォルトの名無しさん
NGNG>あと、プリコンパイラって何だ?トランスレータのことか?
↑
ま、どっちにしても、知らなさそうなやつの言葉。断言もしてないし。
0054デフォルトの名無しさん
NGNGおれの実感だと、浸透してるとは思いがたいのぉ
おれの実感だと、主流になるのにあと10年はいるかのぉ
まぁそれでも困らない人がほとんどだから。
0055デフォルトの名無しさん
NGNG仕事でやるのに考えないといけないことが増えるのはいやだねー
0056デフォルトの名無しさん
NGNGOOA/OOD/OOP を細かく分けるのが通の開発の仕方
0057デフォルトの名無しさん
NGNGだから、今の時代、OO言語しか無いじゃん。ブビ坊は今まで怠慢だっただけYO!
005839
NGNGVB はもってないです。
俺は C++ 使えますし、
C++ の勉強したことで OO に理解が深まったといえば
そうなのですが、OO を使いこなしてるって感じではないです。
まだまだ勉強不足っす。
とりあえずデザパタや UML 勉強しなきゃならんです。
それと
> OO してる
ってのは表現が曖昧でした。すんまそん。
0059デフォルトの名無しさん
NGNG基礎も知らないんだから。
0060デフォルトの名無しさん
NGNG>だって自分は使ったもん。プリプロセッサを知らんのだろー>>50
オマエが使えばUNIXでOOが浸透しているということになるのか?
知らんことに口出しするんじゃねぇよ。
0061デフォルトの名無しさん
NGNG60みたいなのを口出しという。
0062デフォルトの名無しさん
NGNG組んで
「UNIXにはOOは浸透してないY0」って言うんでしょうか?
RubyやPythonやPerlは?
0063デフォルトの名無しさん
NGNG絶対人口の少ないRuby/Pythonはともかく、
PerlやっててOOPしてるって言うのもねぇ・・・
あ、一応機能はあるからOOPしてることになるのか。
0064デフォルトの名無しさん
NGNGでも、UNIX で OO な仕事は、少ないのだろ。
0065デフォルトの名無しさん
NGNG0066デフォルトの名無しさん
NGNGお仕事系のUNIXのメジャー環境だと思うが。
Solaris+Oracle+JavaってのがUNIX系のお仕事環境のメジャーかと思うが、
ここにはOOPの波は来ていないとでも?
0067デフォルトの名無しさん
NGNGOOPL 使うことと、OOP してることを一緒にするのはどうかと。
0069デフォルトの名無しさん
NGNGFreeBSD Ports
オブジェクト指向言語で書かれたものもけっこうあるけど、
まだ割合としてはかなり少ないね。
0070デフォルトの名無しさん
NGNGそこまで厳密さは要らないYO!
OOPL使ってんだから、「やはりオブジェクト指向は現実でした。」てことで。
0071デフォルトの名無しさん
NGNG17はUnix+Cなプロジェクトが現在においても圧倒的多数を占めていることを
知らないらしい。
0072デフォルトの名無しさん
NGNGま、あなたは、UNIX/Cマンセーで一生終わって下さいってことSA!
0073デフォルトの名無しさん
NGNGフリーソフトはソースを配布してコンパイルしてもらう関係で
C言語が主流なんだよ。GNUはその理由でCでGNUソフトウェアを
書くことを推奨しているんであって、OOPが使い物にならないと
主張しているわけじゃない。
UnixがいくらCの母国と言っても、
ソースを公開しないプロジェクトでは、
とっくにC++、Java、Perl、Pythonが主流だよ。
0074デフォルトの名無しさん
NGNG何か勘違いしてるようだが。
俺は17の現状認識が誤っていることを指摘しているだけ。
>ま、あなたは、UNIX/Cマンセーで一生終わって下さいってことSA!
そんなこと主張してないが。
0075デフォルトの名無しさん
NGNG>とっくにC++、Java、Perl、Pythonが主流だよ。
Java、Perlは同意するが、C++、Pythonには同意しない。
C++を使うような場面では、いまだにCが主流。
0076デフォルトの名無しさん
NGNGSolarisでの開発もCで書いてるの? C++だろ?
0077デフォルトの名無しさん
NGNG超程度の低い人ですね。
17(あ、自分か)の認識が誤ってるかどうか、根拠無いわけでしょ。
17を誤って認識してるかもしれない。
さらにそんなこと↑どうでも良くて、17は、きちんとスレに沿った話題となってるYO!
0078デフォルトの名無しさん
NGNG日本ではRubyだけどね。
Unix上でWWWアプリケーションやデータベースアプリケーションを
書いて飯を食っている開発者も多いと思うが、
そいつらは基本的にJava、Perl、PHP、Python、Rubyのいずれかだろ。
PHPは知らんけど、他はOOPLだな。
0079デフォルトの名無しさん
NGNG何を根拠に言ってるんだろ。
2ちゃんだから、言ったもの勝ちかなのかな?
0080デフォルトの名無しさん
NGNGで、どのレス?
0082デフォルトの名無しさん
NGNG1の統計ではPerl>Cのようだが?
0083デフォルトの名無しさん
NGNGそもそも17が「OOが浸透しているところなんてあるのか?」
と言ったので、俺は、
>Unix + Cな環境では、浸透していない。
と言ったまで。
今読み返すと
>Unix + Cな環境では、浸透していない。
は、変な表現だけどね。
Solarisの事情は良く知らない。
うちの会社のSolarisのプロジェクトは、未だにCが多いね。よそは知らない。
0084デフォルトの名無しさん
NGNG正)OOが浸透していないところなんてあるのか
0085デフォルトの名無しさん
NGNGちなみに俺の場合も、NTT、IBM、NRI、富士通の人間が同期にいて、
そいつらに話を聞いただけに過ぎないので、根拠はない。
だが、もともと「Unix+C」な環境で、C++がはやってるという話も聞かないから、
それほどずれてるとも思わない。
0086デフォルトの名無しさん
NGNGPerlに関するデータは何の意味もないだろ。
0087デフォルトの名無しさん
NGNGFreashmeat なり Sourceforge を見てると
結構 Perl や Python ベースのが多いよね。
Webアプリはテキスト処理が多いからニッチに合っているんだろうな。
0088デフォルトの名無しさん
NGNGNTT データの友人は Java 使ってる。
部署によるだろうが大体は OOPL に移行しているようだ。
OO な開発しているかどうかは知らんが。
この場合は 汎用機 + COBOL が UNIX + Java に移行したケース。
0089デフォルトの名無しさん
NGNG>部署によるだろうが大体は OOPL に移行しているようだ。
マジすか。
Unix+Cでやってたとこも、C++やOOな他言語に移行したんですか?
0090デフォルトの名無しさん
NGNGPerlをオブジェクト指向言語として使ってる人間なんて
この世にいません。(断言)
0091デフォルトの名無しさん
NGNGすげえな、あんた。
0092デフォルトの名無しさん
NGNGD・コンウェイさんは使ってるようですが。(ワラ
http://www.mmjp.or.jp/pearsoned/washo/prog/wa_pro41-j.html
0093デフォルトの名無しさん
NGNG君もスゴイよ。
0094デフォルトの名無しさん
NGNGOOPLは浸透してるといえるかもね。
=OOPが浸透してる、な訳はないけど。
0095デフォルトの名無しさん
NGNGそのページはネタページです。注意しましょう。
0096デフォルトの名無しさん
NGNGその人達が、テスト用にオブジェクト指向Perlコード書いてるよね。
この世の人じゃないってことか?>>90
0097デフォルトの名無しさん
NGNG回りの事はよくしらんが、多くが移行してる、
ってのは信じられんな。
0098デフォルトの名無しさん
NGNG山ほどあるはずだろ。
どこもかしこもOOが浸透しているなんて考えるほうがおかしい。
009990
NGNGあんなもん日常的に使うのは人間には無理。
>>92
そいつは、きっとインベーダーだよ(断言)
0100デフォルトの名無しさん
NGNG>>36 を見てごらんよ。17の方がずっと賢いこと書いてるじゃん。
0101デフォルトの名無しさん
NGNGそういう人たちが書くコードは、OOPerlのテストのためのコードでしょ
OOPerlで何かを作ってるわけじゃない
0102デフォルトの名無しさん
NGNG↑
この例を出すのにみんな困窮してるんだ。だったら提示しろYO!
0103デフォルトの名無しさん
NGNGいや、妄言にしかみえんけど…
010594
NGNG0106デフォルトの名無しさん
NGNGXってOOだって言い張ってるよね。C言語だけど。
0107デフォルトの名無しさん
NGNG使い方がわからなければ使えないし、効率を落とす。
パソコンが浸透してない職場なんて山ほどあっただろ?
あ、今でもか。
0108デフォルトの名無しさん
NGNGでも、だからといってOOは浸透してない証拠にはならんだろ。
0109デフォルトの名無しさん
NGNG>この例を出すのにみんな困窮してるんだ。だったら提示しろYO!
もう出てるじゃん。
UnixでCな環境だったところは移行してないって。
でさ、こんな例いくら出しても検証不能なわけ。
だから、普通に考えようぜって話。
俺のほうが逆に聞きたいくらいだよ。
なんでOOが浸透していないところなどない、なんて考えるのか。
0110デフォルトの名無しさん
NGNGまったくその通り。
17が「浸透していない所など無い」という妄想をすてれば良いだけなんだが。
0111デフォルトの名無しさん
NGNG浸透してないところがあるから、OOが幻想って結論にはならんでしょ。
浸透してないところがあるかという議論は無意味だと思うけどね。
0112デフォルトの名無しさん
NGNGという問題じゃないのか?
0113デフォルトの名無しさん
NGNG>OOが浸透してないところはあるけど、それが何なの?
特に意味は無い。
が、妄想をそのまま垂れ流しにさせておいて良いわけでもない。
0114デフォルトの名無しさん
NGNG前スレから繰り返し>>11のような主張が出てるんで、
その流れで、OOの普及率の話になってるんじゃないかな?
(オレも拾い読みしかしてないんで、勘違いしてるかもしれんけど)
0115デフォルトの名無しさん
NGNGOOPの方が効率が良い/悪いと考える人はそれぞれ理由をよろ。
効率が良/悪くなるのにどんな条件があると考えるかもよろ。
0116デフォルトの名無しさん
NGNG効率の定義は?
0117デフォルトの名無しさん
NGNGそういう問題じゃない。
>>36
>浸透してないところってどこにあるんだろう?
>OSだってC++化してるし。
と17が発言したので、そこかしこにあると言いたいだけ。
それを17が納得しない上に、妄想を垂れ流しているので、ここまできただけの話。
0118115
NGNG0119デフォルトの名無しさん
NGNG↑
偏執者っていうか妄想家だね。
「浸透してないところは無い」って文章出してみなYO!
0120デフォルトの名無しさん
NGNGスレ汚してすまんかった。
では。
0121デフォルトの名無しさん
NGNG「UNIXでCな環境」って言葉を何度も使えるのもすごいけど。
「UNIXでCな環境」でもXはOOだって自慢してんじゃん。
0122115
NGNGs/効率/生産性/
ってことで。でもって帰る。
0123デフォルトの名無しさん
NGNGだから、「UnixでCな環境」では浸透していない。
反論は無いんだな。
じゃ、終了。
0124デフォルトの名無しさん
NGNG0125デフォルトの名無しさん
NGNG>反論は無いんだな。
ちゃんと読め。「UnixでCな環境でさえ、XはOOだ」だYO!
それから、「UNIXでCな環境」てのは卑怯すぎる。
0126デフォルトの名無しさん
NGNG「UNIXでCな環境」という表現も変だし、浸透していないという俺の認識も誤りだ。
悪かったな、17よ。
0127デフォルトの名無しさん
NGNG「UNIXでCな環境」で、相当昔からプリプロセッサC++が発生している。
0128デフォルトの名無しさん
NGNG0129デフォルトの名無しさん
NGNGおっしゃる通りで御座います。
全て私の認識不足でした。
0130デフォルトの名無しさん
NGNG0131デフォルトの名無しさん
NGNGこういうのは、総研とかに金を払えば調査してくれるのだろうか?
0132デフォルトの名無しさん
NGNG何か、2ちゃんで謝られると、後味悪いね。
0133デフォルトの名無しさん
NGNG17でまくってるじゃん。
わざわざYO!とかつけて分かりやすく
0134デフォルトの名無しさん
NGNGOOP の普及率なのか
OOA/OOD を用いた OO 開発の普及率なのか
これに限らず、前提をはっきりさせずに言いたいこと言い合ってるので不毛になる
0135デフォルトの名無しさん
NGNGつーか、ネタだろ。真に受けやがって(藁
0136デフォルトの名無しさん
NGNGなんてどうでもよくて、ただくだらないから
早く終わらないかなぁ、と思ってる。
という事で、どんな終わり方でも、相手が
勝ち誇っていようと、相手の勝利、などと
当人以外は誰も思わんから安心して終わらせてくれ。
0137デフォルトの名無しさん
NGNGUNIXでOOが普及してるってことの根拠にそれは無いだろと思うが…。
0138デフォルトの名無しさん
NGNGごめん、俺が悪かった(マジ)。
もう消える(マジ)。
0139デフォルトの名無しさん
NGNG禿堂
0140デフォルトの名無しさん
NGNG誰からみてもオレの勝利だYO
0141デフォルトの名無しさん
NGNG勝利って何だよ
厨房臭さを撒き散らして周りが引いただけじゃん
0142デフォルトの名無しさん
NGNGOOPLはclass(それに類する)キーワードを持つ言語
#まんせー
OOPは情報隠蔽・カプセル化・継承・ポリモを使用すること
#まんせー。ただし場合によってはただのグローバル関数が役に立つこともある
#その意味で俺はOOP原理主義否定派
OODはOOPでプログラムする前提で設計すること
#そもそもプログラミングは設計と区別できるようなものではないからOOD自体よく分からん
OOAはドメインをモデリングするときにOOという言葉に関係のある方法論を使うこと
#モデリングが方法論でうまく行くとは思わない。モデリングはソフトウェアだけではなく
#科学的思考を要求するすべての分野で必要とされていることであり、人間の「知性」に
#あたることなのだから、うまく行く方法論があるなら歴史的発見だ。
OOは使う人・文脈によってころころ意味が変わる。ただのイメージ。
014317
NGNG0144デフォルトの名無しさん
NGNG多くの人は順番的には逆だとしてるよ。OOからOOA/D/Pが派生したと。
後、老婆心から言っとくと、「クラス」って出すと、
2ちゃんではオブジェクトベース知らないやつ、って突っ込む学生が出るYO!
0145デフォルトの名無しさん
NGNG高めるなんて、幻想です。
みなさん、オブジェクト指向なんて浮ついたものに踊らされてないで
Cに回帰しましょう。
0146デフォルトの名無しさん
NGNGいまさら用語定義はつまらんYO!
0147デフォルトの名無しさん
NGNGネタふりに反応。
オブジェクトってのは俺としては、
1、なんらかの形で保持出来て、他者と自分を識別出来る
2、ある方法で指定された事に大して自身が反応する事が出来る
3、別々、と識別された物は別々の状態を保持する事が可能
という感じか。
オブジェクト指向ってのはこれを中心に何かをする事、かな。
Cのstatic変数等で隠してファイル毎にモジュール化する方法は、
1でひっかかる。
014817
NGNGもう、これ以降は「YO!」で判断しないでね。
(関係無いレスごめんなさい。火種になると困るので)
0149デフォルトの名無しさん
NGNGとりあえず、用語定義は、これに異論がある奴がやってくれYO!
http://www.zzz.or.jp/~iizuka/EOO/Japanese/oofaq-j/oo-faq-toc.html
0150デフォルトの名無しさん
NGNGベテランのCOBOLerの集まっているとこなんか
Javaのメソッドや変数にすべて
public static
つけてるってーじゃねーか
0152デフォルトの名無しさん
NGNGこのスレには
OOCOBOL を使って
「自分は OO を駆使する優秀なソフトウェア技術者だ」
と思ってる人しかいませんが何か?
0153デフォルトの名無しさん
NGNGオブジェクト指向について語る人間には
近づかない方が利口であることを学びました。
駄スレもたまには役に立つという一例でした。完。
0154デフォルトの名無しさん
NGNG難解さではC++の10倍はあるね。(断言)
0155デフォルトの名無しさん
NGNG逆にGNOMEみたいにC言語でOOPしているプロジェクトもあるよね。
0156デフォルトの名無しさん
NGNG0157デフォルトの名無しさん
NGNG0158デフォルトの名無しさん
NGNG板を間違えたかと思ったぐらいだ。
0159デフォルトの名無しさん
NGNG0160デフォルトの名無しさん
NGNGないで暴れてる人が多いことに危機感を感じる。
もしもオブジェクト指向技術を磨いてプログラマになったら、
貴重だから、いい思いできるのかな?それとも逆で、まわりに
足引っ張られるのかなって不安。
まあ、プログラマになんかならないのが一番良いかもね。
まあ、社会に出るまでは当面一人でオブジェクト指向使ってようかな。
0161デフォルトの名無しさん
NGNG>俺学生なんだけど、オブジェクト指向の良さごときが理解出来
>ないで暴れてる人が多いことに危機感を感じる。
君が何をどう感じようと、誰も気にする人もいないし、何も変わらないんだけど。
当面なんて言わずに一生一人で引きこもってなちゃい。
0162デフォルトの名無しさん
NGNG学生ごときがオブジェクト指向の良さを語れるか、どうか。
0163デフォルトの名無しさん
NGNG> ないで暴れてる人が多いことに危機感を感じる。
悪さごときを理解できないで、盲信してるのもいる。
> もしもオブジェクト指向技術を磨いてプログラマになったら、
> 貴重だから、いい思いできるのかな?それとも逆で、まわりに
希少価値がつくほど少なくもない。
> 足引っ張られるのかなって不安。
郷に入りては郷に従え。
空気が読めないとコミュニケーション出来なくなる。
> まあ、プログラマになんかならないのが一番良いかもね。
その通り。
> まあ、社会に出るまでは当面一人でオブジェクト指向使ってようかな。
好きなことは仕事にせず、趣味でやるのが幸せ。
0164デフォルトの名無しさん
NGNG多くの場面で上回ることに気づくだろう。
ただ、ドキュソにあわせなくちゃいけないってのは残念な
状況だね。
0165やれやれ
NGNG学生の質も落ちたな
0166デフォルトの名無しさん
NGNG現場のレベルの低さにがっかりするかも知れないが、いずれ
常識知らずがちゃんと淘汰される。
0167デフォルトの名無しさん
NGNG> 好きなことは仕事にせず、趣味でやるのが幸せ。
これは違うだろ。
0168デフォルトの名無しさん
NGNG50% を超えると断言できる根拠は?
0169デフォルトの名無しさん
NGNG「構造化プログラミングが良い」と感じる正常な感覚を持った人間なら
当然「オブジェクト指向が良い」と感じる。
これはセンスというか向き不向きの問題。感じない人はプログラマに
向かない。
0170デフォルトの名無しさん
NGNG構造化プログラミングが良さを発揮する場面が50%を超えると
断言できる根拠は?
言えないだろ?
でも感覚から明らか。
0171デフォルトの名無しさん
NGNGそういう検証不能なこと質問して楽しい?
0172デフォルトの名無しさん
NGNGセンスだの感覚だの、さすが抽象的だね。
0173デフォルトの名無しさん
NGNGそれで?抽象的だから間違いだとか?(ワラ
0174デフォルトの名無しさん
NGNG書いても無意味だって事。
0175デフォルトの名無しさん
NGNG0176デフォルトの名無しさん
NGNGたぶん君のような優秀な(ぷぷ)人が現場にはいると
浮きまくるであろう。よくいるよ、現場の人間を
小馬鹿にして浮きまくっている自称天才くんが
0177デフォルトの名無しさん
NGNG元の質問の無意味さを指摘する意味はあるよ。
0178デフォルトの名無しさん
NGNGいろんな意見があります。
スレを読んでください。
0179デフォルトの名無しさん
NGNG多くの場合、理解出来ないだけ。
やろうとして挫折したとか、慣れてないから
面倒だと感じたとか。
>>176
結局176のようなドキュソ人間が大半なので
低レベルな現場にはいかない方が良い。
0180デフォルトの名無しさん
NGNGセンス的に(感覚的に)正しいから、質問は無意味だといえば、相手は納得する?
0181デフォルトの名無しさん
NGNG共通しているのはオブジェクト指向の利点が理解できないということです。
0182デフォルトの名無しさん
NGNGセンスで感じていることに対して、根拠を要求するのは
普通間違ってると思うけど?
0183デフォルトの名無しさん
NGNGプログラムが正しいことも一般に証明は不可能だが
プログラミングができる相手なら分かってくれる。
それと同じ。これが分からないならプログラマやめた
方が良い。マジで。
0184デフォルトの名無しさん
NGNG/ ̄ ̄ ̄ ̄ ̄\
| おまえらも |
∩_∩ | |
(´ー`) < 暇な奴ら |
( ) | |
| | | | だなぁ |
(___)__) \_____/
0185デフォルトの名無しさん
NGNG>低レベルな現場にはいかない方が良い。
大手と呼ばれてるところの大部分がレベル低いから悩むかもね。
部署によってはレベル高いところもあるんだろうけど。
0186デフォルトの名無しさん
NGNGオマエモナー
0187デフォルトの名無しさん
NGNGこのスレでの暇つぶしにも、飽きてきたんだろうな。
0188デフォルトの名無しさん
NGNG大企業はたいがいソフト丸投げだろ。作ってるのは孫請の、マンション
のワンルームにあるようなソフトハウスのドキュソか学生バイト。
学生バイトの方が平均すると質が良かったり(w
0189デフォルトの名無しさん
NGNG楽しいのか?
0190デフォルトの名無しさん
NGNG0191デフォルトの名無しさん
NGNG0192デフォルトの名無しさん
NGNG大手の場合は、入社したときは優秀なんだけど
だんだん社内競争で、要領のいいのが残るという
消去法により、レベルの低いのしか残らなくなる
0193デフォルトの名無しさん
NGNG質問を変えます。
OOPLのどんなところが嫌ですか?
0194デフォルトの名無しさん
NGNG名詞を良くみて見ろ。
総務部とか書いてないか(藁
0195デフォルトの名無しさん
NGNG男尊女卑だとか、韓国人差別だとか、オブジェクト
指向が新しいだとかの化石的な意見を良く聞く。
0196デフォルトの名無しさん
NGNGつーか、知らないの?
大手でも○投げせずに実際に開発してる部署があって、
レベルの低いやつらが多いことを。
学歴は高いんだけどね。
0197デフォルトの名無しさん
NGNGそれを年齢差別って言うんだよ。
イジメで自殺させても、遊んでたって言うんだろ?
0198デフォルトの名無しさん
NGNG前二つは十代が多いと思われる。
0199デフォルトの名無しさん
NGNG学生のうちから働けるほど知識がある人なんているのかい?
0200デフォルトの名無しさん
NGNGていうか結構、古い価値観のひとが
集まってるよ。で、それは年齢には
関係なく、親から洗脳されてるわけだ
0201デフォルトの名無しさん
NGNG0202デフォルトの名無しさん
NGNGそれって昔は「△△総研」「××中研」「◎◎基礎研」とか言ってたのが
ご時世で開発部署になって、元研究者の人達がソフト書いてるような部署
でわ...
0203デフォルトの名無しさん
NGNG0204デフォルトの名無しさん
NGNGちゃうよ。
俺が知ってるのはNとFとH。
0205デフォルトの名無しさん
NGNG漏れは学生の頃バイトしてたよ。まわりにもイハ°ーイいた。
1件受けると月30万くらいだね。3件くらい掛け持つと
月90万くらい行く。夏休みとか。院生の先輩は「就職すると
収入激減」と言ってた。
あんたが使ってる外注にもきっといる(藁
メールには反応するが、会社に電話してもあまりいない。
ソフトはまともだが、打ち合わせにはあまり出てこない。
そういうのはたいてい大学院生。
0206デフォルトの名無しさん
NGNGNxxからの出向とか左遷とかが特に。
0207デフォルトの名無しさん
NGNGxTTからxTTデータへは左遷といわないんでわ
0208デフォルトの名無しさん
NGNG0209デフォルトの名無しさん
NGNG0210デフォルトの名無しさん
NGNG0211デフォルトの名無しさん
NGNG俺には >>1 がいちばんレベルが低く見えるが。
0212デフォルトの名無しさん
NGNG最初の方がレベル低かったぞ。17とか。(w
0213デフォルトの名無しさん
NGNGいや、ずっと最低レベルのまま、微動だにしない。
0214デフォルトの名無しさん
NGNGこれが正解だろ
0215デフォルトの名無しさん
NGNGいいねえ。
俺は院生だけど、知り合いと組んで SOHO 的に小規模 Web サイトの構築やってる。
だいたい単価が10万くらいか。
絵心ないのにロゴとかも描かなくちゃいけないのが辛い。
(たまにデザイナに投げるけど利益でなくなる)
CGI や PHP のコードだけ書きたいもんだ。
0216デフォルトの名無しさん
NGNGしたときだったな。
それ以外は低レベルな煽り合い。
0217デフォルトの名無しさん
NGNGあー、その分野も2〜3年前はかなり吹っ掛けることが可能だった
らしい。学生だけで作った会社もかなり調子良くやってたよな。
○ン・ザ・エッ○とか(藁。
でも参入障壁低いからねえ。個人営業でもできちゃうから。今は
おいしくないでしょ。
0218デフォルトの名無しさん
NGNGOO派が生産性の話題を無視するからじゃん。
0219デフォルトの名無しさん
NGNGどの業種も同じだが、短期的には新しい物に飛びつけば利益が
出る。中長期的には先見性や経営戦略が必要になる。
0220デフォルトの名無しさん
NGNG私の友人に新しい物を追い続けて自転車操業な人がいますが
貧乏学生みたいな生活してます
0221デフォルトの名無しさん
NGNG0222デフォルトの名無しさん
NGNG生産性の話題は無視してないだろ。
煽りやアホ統計は無視してるかもしれないが。
0223デフォルトの名無しさん
NGNG0224デフォルトの名無しさん
NGNGOOというと、生存期間がわかりにくくなりがちなので、
GCなんかと併用される事が多い気がするんだが、
GCってどう?俺は嫌い。不自然だから。
0225デフォルトの名無しさん
NGNG0226デフォルトの名無しさん
NGNGリファレンスカウントは嫌いじゃないんだが、
他の方式はどうも。
Cで実装する時に、スタック内無理矢理覗いて参照され
てるかどうか確認、とかなんか裏技っぽくて好きになれん。
いちいちリストにぶらさげる、とかはもっと不自然、
というか面倒だし。
0227名無し~3.EXE
NGNG☆是非うんこを☆是非うんこを☆是非うんこを☆是非うんこを☆是非うんこを☆
☆是非うんこを☆是非うんこを☆是非うんこを☆是非うんこを☆是非うんこを☆
☆是非うんこを☆是非うんこを☆是非うんこを☆是非うんこを☆是非うんこを☆
☆是非うんこを☆是非うんこを☆是非うんこを☆是非うんこを☆是非うんこを☆
☆是非うんこを☆是非うんこを☆是非うんこを☆是非うんこを☆是非うんこを☆
☆是非うんこを☆是非うんこを☆是非うんこを☆是非うんこを☆是非うんこを☆
☆是非うんこを☆是非うんこを☆是非うんこを☆是非うんこを☆是非うんこを☆
☆是非うんこを☆是非うんこを☆是非うんこを☆是非うんこを☆是非うんこを☆
☆是非うんこを☆是非うんこを☆是非うんこを☆是非うんこを☆是非うんこを☆
☆是非うんこを☆是非うんこを☆是非うんこを☆是非うんこを☆是非うんこを☆
☆是非うんこを☆是非うんこを☆是非うんこを☆是非うんこを☆是非うんこを☆
☆是非うんこを☆是非うんこを☆是非うんこを☆是非うんこを☆是非うんこを☆
☆是非うんこを☆是非うんこを☆是非うんこを☆是非うんこを☆是非うんこを☆
☆是非うんこを☆是非うんこを☆是非うんこを☆是非うんこを☆是非うんこを☆
☆是非うんこを☆是非うんこを☆是非うんこを☆是非うんこを☆是非うんこを☆
☆是非うんこを☆是非うんこを☆是非うんこを☆是非うんこを☆是非うんこを☆
0228デフォルトの名無しさん
NGNG消されるタイミングが重要ならfinally呼ぶ。
0229デフォルトの名無しさん
NGNGでもXtとかMotifとか、「どっちがfreeする」問題で
間違えたりしない? GNOMEは知らないけど。
0230226
NGNGする。
だから、どっちの方法も好きになれんからOOっていま
いち好みに合わないんだが。それを言ったらconsセル
も使えなくなっちゃうけど。
そこらへんはOOシンパの人はどうなのかなぁ、と思ったから。
ってこのスレじゃ無駄か?
0231デフォルトの名無しさん
NGNG0233230
NGNGそうか。
まあそれが時代に合った、正しい考え方だろうな。
でもじゃあ、せめてアーキテクチャが型情報提供しても良くない?
x86で無理してやるのってなんか嫌なんだが。
ってx86使わなきゃいいだけだろうが。
こう、向いて無い物の上で無理してるような感じが
ちょっと嫌なんだよなぁ。
Cは駄目な所たくさんだけど、x86の上に載せるには
自然な気がする。
まあx86が古い、って事で終了なんだろうが、RISC
系も型情報は提供しないよね。
あんまり詳しく無いけど。
0234デフォルトの名無しさん
NGNGいや、むしろRISCの方が「Cマシン」として最適化されてると思う。
キャリーフラグがなかったり、rotate命令がなかったり、Cで使わな
いものは省かれてる。
x86は…PL/MXマシン?(藁
型情報をサポートする高級言語マシンというのは、RISCの「平均的に
は高性能」なアーキテクチャに敗れ、RISCはx86の物量の前に敗れ(か
けて)...
C#やJavaが流行れば、どのアーキテクチャにもGC用命令(ってどんなだ
ろ?)がついてもおかしくないね。
0235233
NGNGそうだな。
RISCは命令が減ってるし(ってあたりまえだが)。
ハードはこれからはOOをサポートする方向で変わって行くのかな。
今の所OOPLというのは、たくさんのキャッシュにヒットさせていく
という現行のハードの方向性とは合わない物が多い気がするんだが。
C等で書いて、それをOOPLから呼び出し、とかはおそらく
シンパの好みでは無いと思うんだが、どう考えてるのかな?そこらへんは。
ハードは過渡期でこれからOO向けになる、とか思うのか、
現在の路線に合わない使い方でも十分早いからいいか、
とか。ちょっと考えがききたい。
VM(及びGC)嫌いなOO使い、とかはいないのかな?
0236デフォルトの名無しさん
NGNG同じく
>>226
C や C++ での GC は不自然な感じがしないでもないが
最初から GC がある言語だと、あんまり思わない。
0237デフォルトの名無しさん
NGNG> ハードはこれからはOOをサポートする方向で変わって行くのかな。
そういえば、むかしは Lisp マシンってありましたね。
0238デフォルトの名無しさん
NGNG0239デフォルトの名無しさん
NGNG>今の所OOPLというのは、たくさんのキャッシュにヒットさせていく
>という現行のハードの方向性とは合わない物が多い気がするんだが。
静的型付けの OOPL はキャッシュ使わない。
0240デフォルトの名無しさん
NGNGはァ?
Lispマシンあったよ、少なくとも3社から売ってた。
>>239
ネタか?
ソフト的なメソッドキャッシュじゃなくてプロセッサの
キャッシュの話だよ?
0241デフォルトの名無しさん
NGNGメソッドキャッシュのことかと思った。
いままで OOPLがプロセッサのキャッシュにどういう影響あたえるか
考えたことなかった。大切な問題だなあ。
0242デフォルトの名無しさん
NGNG0243デフォルトの名無しさん
NGNGOOPLだと間接参照が多くなるだろうね。局所性は悪化しそう。
gcに関しては、cache conscious(キャッシュに優しい?) gc
という言葉を聞いたことがあるよ。どういうのか知らないが。
0244241
NGNGクラスへのアドレスのテーブルをつくれば局所性はよくなると思う。
0245デフォルトの名無しさん
NGNG0246デフォルトの名無しさん
NGNGばーか
0247デフォルトの名無しさん
NGNGトンデモな理由でOOPを拒絶する書き込みが命だよね。
絶妙なトンデモ具合で書き込むとカッコイイ。
でも、思い付かない俺はOOP中毒。
0248デフォルトの名無しさん
NGNGやっぱ、クラスより、構造体に関数ポインタの方が良いよね。
だって、オブジェクトベースのOOPではクラス階層無いんだから。
...みたいな感じか?
0249デフォルトの名無しさん
NGNG処理、分岐、繰り返し、だけを使ってGOTO文を排除すれば すばらしい
プログラミングが出来ると云われていた。
しかしGOTO文を使ってCで書く人ってたくさんいました
構造化プログラミングの恩恵は実はローカル変数です
ソースが大きくなると使用する変数の数も当然多くなってきますので、変数名の
衝突は重要な問題でしたこの問題を解決してくれたのがローカル変数です
Cで経験を積んだ技術者がいまさらローカル変数が使えない言語を使いたいとは
思わないでしょう
数年前Windowsと共にやって来たC++(オブジェクト指向)
隠蔽、継承、多態、を使って再利用性を高めれば、生産性が飛躍的に高まると
云われています
しかし継承も多態も使わずにC++で書く人ってたくさんいます
オブジェクト指向の恩恵は実はクラスです、includeするライブラリが多くなると
使用する関数も当然多くなってきますので関数名衝突は重要な問題です
この問題を解決してくれたのがクラスです
C++で経験を積んだ技術者がいまさらクラスが使えない言語を使いたいとは
思わないでしょう
0250デフォルトの名無しさん
NGNG0251デフォルトの名無しさん
NGNGかなり核心をついてるのでage
0252デフォルトの名無しさん
NGNG激しく同意。
いいこと言うNE。
0253デフォルトの名無しさん
NGNG0254デフォルトの名無しさん
NGNG関数名の衝突だけなら、namespaceでいいのでは。クラス要らんよ。
0255デフォルトの名無しさん
NGNG名前衝突のみでクラスを使うバカは、コーデックを知らん痴呆
0256デフォルトの名無しさん
NGNGでも、カプセル化は(たまに)使いたい。
から、やっぱりクラス。
0257デフォルトの名無しさん
NGNGこれはほめてんのかな? 継承を使ってないクラスライブラリ
はテンプレートライブラリ以外珍しいと思うが、ライブラリ
無しなら相当生産性低そうだな
0258デフォルトの名無しさん
NGNGCのライブラリを使うのです
0259デフォルトの名無しさん
NGNGttp://www.javaopen.org/jfriends/cforjava/を見てもC言語の貧弱さに笑いがこみ上げたりはしないんだろうな。
さいしょギャグかと思ったよ俺は。JavaPressの記事らしいね。
0260デフォルトの名無しさん
NGNGネタだとしたら弱いし、本気だとしたら痛い。
0261デフォルトの名無しさん
NGNG最高ww ってネタじゃないのか?
0262デフォルトの名無しさん
NGNG0263デフォルトの名無しさん
NGNGネタだろ?ネタだといってくれw
0264259
NGNGOO覚える価値あり、と言っておく。
0265デフォルトの名無しさん
NGNGC 言語のコードを持っていくとしたら必須じゃない?
0266デフォルトの名無しさん
NGNGネタだ。
0267デフォルトの名無しさん
NGNGUNIX,C好きって印象なので、いつ宗旨変えしたのか驚きでもあります。
むかしの記事を検索したり読み返したわけじゃないので、誤認だったらご本人さま
含めましてスミマセン。
0268デフォルトの名無しさん
NGNG/ ⊥ \
|____| ふーん♪
(( ( (
(´く_` )
( ) ))
(( く く
ふ〜ん♪ | ̄ ̄ ̄ ̄|
\__,、_/
0269
NGNGC->C++->JAVA
と経過を辿った俺からするとインデックスだけで笑えるのだが
古文、漢文を知らない現代人と同じ感覚なんだろうな。
0270デフォルトの名無しさん
NGNGUNIX使いはC++をオブジェクト指向を使えないと考えている人が
少なからず居るようです。
0271デフォルトの名無しさん
NGNGDelphi/KylixやIBMのWin/Linux開発ツール http://www.zdnet.co.jp/news/0111/06/e_ibm.html
によって、駆逐される人達じゃないかな。
GUIツールは、好き嫌いに関わらず、生産性が高いからね。
0272271
NGNG0273デフォルトの名無しさん
NGNGこのスレでUNIXでOOが普及してると言ってた連中が、いかにデタラメか
よく分かるスレだな。
0274デフォルトの名無しさん
NGNG彼らが書くものはKylixなどで置き換え不能だから、駆逐はされないでしょ。
0275デフォルトの名無しさん
NGNG ̄ ̄ ̄ ̄ ̄∨
/ ̄ ̄ ̄ ̄\
● ● \
/ Y Y |
| ▼ | | | (´⌒(´
|_人_ \ |____ (´⌒(´(´⌒(´(´⌒(´
\___ /____)≡≡≡(´⌒;;;≡≡≡
\________)≡≡≡(´⌒;;;≡≡≡
ズザーーーーーーーーーーーーーッ
0276デフォルトの名無しさん
NGNG0277デフォルトの名無しさん
NGNGGUIツールの生産性が高いと思ったことはないが...
あ、もしかしてGUIアプリを作るときの話?
0278BG
NGNGこのスレッドは、OOPに落ちこぼれた人が憂さ晴らしにくる所のようだな。(笑)
0279デフォルトの名無しさん
NGNGひょっとしてここで事実が語られていると思ったことがあるとか?
困るなぁ
0280デフォルトの名無しさん
NGNGむしろ寂しいOOPの人が憂さ晴らしにくる所かと
0281デフォルトの名無しさん
NGNG0282デフォルトの名無しさん
NGNGアルゴリズムは理系だけど。
オブジェクト指向って主観だよね。
アルゴリズムは客観だけど。
オブジェクト指向って馬鹿だよね。
アルゴリズムは賢いけど。
0283デフォルトの名無しさん
NGNG0284デフォルトの名無しさん
NGNG理系的にはOOって何か子供騙しな感じがするんだよね。
なんつーか、プログラミング方法論バブル?
プログラミング方法論なんて数学でも物理でもないじゃん。
甚だしく非科学的だよな。その有効性を定量的、客観的に
証明することができない。
その意味でのソフトウェア工学も似非工学だよな。
科学的客観的根拠が希薄で、あくまで流行だったり主観だったり。
論文書かなきゃオマンマの食いあげだから、
次から次へと方法論をでっち上げるんだよね。
流行らせたもん勝ちだよね。本が売れるし。
0285デフォルトの名無しさん
NGNGなにいってんだこのDQNは?
強いて言うなら経済学だよ
0286デフォルトの名無しさん
NGNGなるほど。やっぱり似非科学だ。
0287デフォルトの名無しさん
NGNG経済活動に人が絡む以上、常にそのモデルから逸脱して行くんだよ。
0288デフォルトの名無しさん
NGNGいかなる数学的モデルでもありえない。
0289デフォルトの名無しさん
NGNG0290デフォルトの名無しさん
NGNGクラスライブラリは、現在のプログラミングにおいて
有効というか、必要不可欠である。
関数ライブラリでは整理不可能なほど現在の
GUIアプリは巨大かつ複雑だから、クラスライブラリ
なくしては、収拾不可能。
OO設計の有効性は当方未経験のため言及不能。
0291デフォルトの名無しさん
NGNG(人間にとって)管理できないのと同じこと。
よもやディレクトリの有効性を否定はすまい?UNIXの人?
OOも同じこと。クラスツリーはもろディレクトリ。
情報量が巨大になれば、何らかの手法で整理整頓
しない限り人間には管理できなくなる。
これも定量的に証明できないからって否定する?
0292デフォルトの名無しさん
NGNGそれは人間の情報管理能力に限界があるから。
ソースコードを何らかの手法で分割管理しなければ、
全体を把握することができない。
巨大アプリの全体像を把握するためには、
手続きのみをツリー上に整理する構造化プログラミングでは
追いつかない。OOが必要である。
0293デフォルトの名無しさん
NGNGOO以外にも有効な、あるいはOO以上に有効な
何らかの手法はあるかもしれない。
0294デフォルトの名無しさん
NGNGコンソールアプリがメインで
GUIアプリほど巨大複雑じゃないから、
差し迫った必要性が無いからじゃないの?
0295デフォルトの名無しさん
NGNGあるのは確かだけど、そんなのが流布してたのははるか昔の話で
今現在はずいぶん地に足が付いた技術になってる。というか常識。
合理的な理系人間こそその有効性を察知できそうなもんだが?
0296デフォルトの名無しさん
NGNGある程度の規模のプログラミングをしないと
実感しにくいというのがあるだろな。
MSが曲りなりにもOOしてるのは、
別に、伊達や酔狂や趣味嗜好、あるいはカッコいいから、
ではあり得ない。MSに限ってそんなこと・・・
あくまで実際的な理由。
それが無いとやっていけないんだと思う。
0297デフォルトの名無しさん
NGNGなるほどね。
OOって昔からあるのに、
Windowsの登場に合わせて復活してきたのは、
そういうわけか。
何か何となく皮肉な話だよね。
0298デフォルトの名無しさん
NGNG0299デフォルトの名無しさん
NGNGこの類の議論は、10年も前に終わってます。
有名どころでは、吉田某が同じようなことを言って、
コテンパンに言い負かされてました。
「OOは大規模開発でこそ有用だ」
↑この言葉はOOをわかってるかどうかのリトマス試験紙に使えます。
0300名無しさん@Emacs
NGNGそういう風に書いて煽ってる奴が一人かせいぜい2〜3人
いるというだけでさー。
0301デフォルトの名無しさん
NGNG威力を発揮すると言うか、OOじゃないと無理なんだと思う。
MSが開発環境としてC++を使う理由はそれしか考えられない。
たとえへぼいOOだとしても。
0302デフォルトの名無しさん
NGNG「OOは少人数でその人数から見た場合の大規模開発を行う場合に有効だ」
0304デフォルトの名無しさん
NGNG0305デフォルトの名無しさん
NGNG「OOは大規模開発でこそ有用だ」
小規模開発では無用だなんて誰も言ってないよ。
0306デフォルトの名無しさん
NGNGところがOOの本質を見事に表しているような。
0307デフォルトの名無しさん
NGNG別に何も分かれてなかったと思うが?
なにか、特定の発言に罠だのなんだのと因縁つけた馬鹿はいたが。
0308デフォルトの名無しさん
NGNG0309デフォルトの名無しさん
NGNGだれかが書くと思ったよ。
ジャッ(・_・ )ノ ジャッ(・_・)ノ ジャッ( ・_・)ノね♪♪
0310デフォルトの名無しさん
NGNG今、情シス板で「オブジェクト指向の本質は、イベントドリブンだ」と主張している
人がいるんですが、これが正しいのかどうか素人なので分かりません。
この人を信じていいのでしょうか?
0311デフォルトの名無しさん
NGNG駄目。
0312デフォルトの名無しさん
NGNG一言で本質を言えたら楽だよね。
0313デフォルトの名無しさん
NGNG私は一言で本質を言い現したがるような奴は胡散臭くて信用しません。
ほうれんそうとか
さ、し、す、せ、そとか標語を作りたがる奴も同類です。
0314デフォルトの名無しさん
NGNGオブジェクト指向を理解してないからネタとの区別がついてない。
ネタで嘘を教える人がいるのは 2chの常識。
OOP派ならどれが本当でどれがネタか分かる。
>>310 だめ。
オブジェクト指向は数学的じゃないとかいってるやつ
情報数学やったことある?
0315デフォルトの名無しさん
NGNG>オブジェクト指向は数学的じゃないとかいってるやつ
>情報数学やったことある?
オブジェクト指向に数学?
継承に関して、集合論とかグラフ理論とか?詳細希望。
どっちにしろオブジェクト指向に数学を使っても、
あんまり役に立たないと思うけどなぁ。
0316デフォルトの名無しさん
NGNG>ひとことで本質を言えたら楽だよね。
>オブジェクト指向は数学的じゃないとかいってるやつ
>情報数学やったことある?
感想:やっぱりオブジェクト指向って胡散臭いなあって思いました。
0317デフォルトの名無しさん
NGNGあんたのが一番ネタっぽく見えるんだけど、どうよ?
0318デフォルトの名無しさん
NGNGでもオブジェクト指向使ってるでしょ?
0319デフォルトの名無しさん
NGNG>どっちにしろオブジェクト指向に数学を使っても、
>あんまり役に立たないと思うけどなぁ。
情報数学知らなくても OOPはできる。でも参考にはなる。
詳しいことは情報数学の本を読んで。
>>317
ジャンケンプログラムに答えている一人は典型的なネタスレ。
0320デフォルトの名無しさん
NGNG>詳しいことは情報数学の本を読んで
ボロが出るんで退散ですか?
0321デフォルトの名無しさん
NGNGイベント駆動型フレームワークに必要な
多態を記述するのに合理的な考え方ではあると思う。
本質というのとは違うんじゃない。
0322デフォルトの名無しさん
NGNG情報数学って聞いたことないと思ったら、
数理論理学・計算機科学など情報分野で使われる数学一般のことか。
で、どの辺りが OO と関連するの?
>>315
カラーペトリネットを使ったオブジェクト指向プログラムの動的検証
という論文を読んだことがあるのでグラフ理論は末端的に関係してるといえる。
それをいえばなんでも関係させることができるが。
0323デフォルトの名無しさん
NGNG大きな書店にいけば情報数学のコーナーがあると思います。
>>315さん >>322さんには詳細を教えられなくて申し訳ないです。
>>320
オブジェクト指向も理解できないやつに言われたくない。
0324322
NGNG0325デフォルトの名無しさん
NGNGそうだと思います。
書店で情報数学の本をみていたらオブジェクト指向のことが
書いてあったのを覚えていただけというお粗末な話です。
0326デフォルトの名無しさん
NGNG0327デフォルトの名無しさん
NGNG0328デフォルトの名無しさん
NGNG0329デフォルトの名無しさん
NGNG英語べったりというか、なんか昔の化石言語の匂いがする。
大体、OOなんていう得体の知れない略語使う時点で
オブジェクトなんて幻想で、本当は幽体指向なのでは?
0330デフォルトの名無しさん
NGNG0331デフォルトの名無しさん
NGNG必死で弁護するからダYO!
0332デフォルトの名無しさん
NGNG英語べったりも仕方がないと思われ。
0333デフォルトの名無しさん
NGNGじゃあ、人生先生よんでこい。(w
0334デフォルトの名無しさん
NGNG0335333
NGNG0336デフォルトの名無しさん
NGNG誰それ?強いの?
0337デフォルトの名無しさん
NGNG素人にはおすすめできない。
えーと、現役が説明したほうがいいと思う。(w
おれはもう学会とは縁がない。
0338デフォルトの名無しさん
NGNGこれは目に余る!
http://ton.2ch.net/test/read.cgi/rights/1004805400/
参照。
0339デフォルトの名無しさん
NGNGプログラミング診断室などの偉大な著書を書いた
藤原先生の御言葉です。
時代を先取る偉大な人は言う言葉が違いますな。
先生の言うオブジェクト指向が腋毛程度なものと
認識されるのは何年後のことなのでしょうか?
0340デフォルトの名無しさん
NGNG0341デフォルトの名無しさん
NGNG構造体の中に毛(関数)が混じってるように
見えたから、そう言ったんでしょうな。
調べもせずに直感的に・・
ま、奴はDQNだからね・・・
0342デフォルトの名無しさん
NGNGOOP否定派はだいたいクラスを構造体+関数と思っているよね(笑
0343デフォルトの名無しさん
NGNG>char (*(**hoge[0])[1])
コンパイラ通るの?
0344デフォルトの名無しさん
NGNG事実じゃねーか。
それとも属性+振る舞いか?(ぷ
呼び名を小難しくして、
偉いんだと勘違いしてるだけの馬鹿>OOP信者
自分の頭で考えることの出来ない馬鹿>OOP信者
教科書を鵜呑みにする生真面目な馬鹿>OOP信者
0345343
NGNG0346デフォルトの名無しさん
NGNG0347デフォルトの名無しさん
NGNG属性+振る舞い = 構造体 + 関数
0348デフォルトの名無しさん
NGNGあーゆー考えって、やっぱC++の生噛りから来てんのかねぇ。
C++でさえvirtual classの継承とか考えれば
あんな結論にはならんと思うのだが。
0349デフォルトの名無しさん
NGNG仮想関数がそんなに便利か?
多態性(ご大層な用語。ぷぷ)が便利な場面なんて限られてるじゃん。
0350デフォルトの名無しさん
NGNGC++の実装は実際そうなっている事を知らないとハマルよね?
virtualではないクラスを作成できてしまって、しかもそれが便利だったりするから、
OOPは上手くいかない事が多い。
C++で仕事していてOOマンセーな人って、言語外に厳しいルールを設けているんだよね?
0351デフォルトの名無しさん
NGNGジョークか?
0352デフォルトの名無しさん
NGNG0353デフォルトの名無しさん
NGNGキッシュって何?
0354デフォルトの名無しさん
NGNGOO否定派ってかなりそういう用語が嫌いなだけでは?
構造体がメモリの塊に見えるような人にとっては、クラスは構造体+関数に
しか見えないし、継承も単なるメンバの追加にしか見えないけど、
そういう人にとってもそれなりにOOは便利だろう。
Cがアセンブラのプリプロセッサの性質を濃厚に持っていて、
C++に至ってははじめ実際にCのプリプロセッサだったのは、
単に実装が楽だったからではなくて、本来そういうものだから。
その意味で、>249って結構鋭い気がする。
まあ極端に過ぎるけど。
0355デフォルトの名無しさん
NGNG0356デフォルトの名無しさん
NGNG0357348
NGNGvirtual functionの話なんてしてないのだが。
>354
つまり、C++のクラスを構造体としてしか見えない人にとっては
Cの構造体すらまともに理解できてないって事ね。禿銅。
0358349
NGNG用語の言い換えはもういいよ。
0359デフォルトの名無しさん
NGNGのがまずあるんだろ。
多態にしろカプセル化・継承にしろ、その「考え方」を補助する
テクニックに過ぎないだろ。
オブジェクト指向は考え方だから、Cでも実装できる。
(しんどいし、わざわざそんなこともしないけど)
0360デフォルトの名無しさん
NGNGだからさぁ〜、
言い換えてんじゃなくて、
全然別の用語だって言ってんの。
ひょっとして君、
「そこはif文じゃなくてwhile文だろ」
と指摘されて
「用語の言い換えはもういいよ」
って答える人? ププププププププ
0361デフォルトの名無しさん
NGNG実装に近い立場で見れば関数=手続きになったりする。
そして、そういう見方をする人でもまともなプログラムは書けるだろ?
いいかげん小難しい用語に酔うのはやめようね。
0362360
NGNGだからvirtual classは関数じゃないって言ってんのに (藁
せっかくだから訊くけどさ、
実装に近い立場で見れば関数=手続きになったりする人にとって、
実装に近い立場で見ればvirtual classは何に見えるんだ?
0363デフォルトの名無しさん
NGNG0364デフォルトの名無しさん
NGNG多重継承では1つの基底クラスが複数回継承される可能性があるでしょ?
その時、そのbase classを1つだけ継承するか
それとも、それぞれ別物として複数継承するか
を選択できるわけ。
で、1つだけ継承するようにした場合にその基底クラスを
virtual classとかvirtual base classとか呼ぶの。
ね、全然関数の話はしてないでしょ?
0365デフォルトの名無しさん
NGNGそんなもんプログラムに必要ない。
シンプルが一番。
0366デフォルトの名無しさん
NGNGvirtual classなんてC++の仕様上の方便じゃないの?
他の言語でも出てくる?
0367363
NGNGそれってものすごく実装に近い立場で見た話では?
0368デフォルトの名無しさん
NGNGjavaでは単一継承を理由に黙殺された(藁
0369363
NGNG継承までは実現できないってことが言いたいんだろうけどね。
0370デフォルトの名無しさん
NGNGunionが近いか? でも違うなぁ。
結局はクラスは型情報付のstructのようなものだとは思うが、
そういう見方だけならCでゴリゴリ書いててください、って感じ。
>>365
そんなもんが多重継承という意味なら同意。
でも知っていて損はないし、仕事だったりすると使わざるを得ない場面もあるんじゃない?
0371364
NGNG多重継承のやり方には
継承関係をグラフとして扱うやり方と木として扱うやり方があるわけで、
(っつーか、もうちっと小細工してるやり方もあるんだけど)
多重継承を使う言語を設計する上で考慮しなきゃいけない概念ではある。
C++ではデフォルトでは木として扱って
virtual指定されるとその部分はグラフとして扱うわけで、
virtualってキーワードはその切替スイッチ。
extended Smalltalkみたく木としてしか扱わない言語とかも
あるわけで、そういう言語には必要のない方便ではある。
>>367
うん。まあ、ある意味実装に近い概念だけど、
上に書いたように言語設計する上での概念も含んでいる。
0372デフォルトの名無しさん
NGNG0373364
NGNGっつーか、
Javaはvirtual classだのnon-virtualだの、
そんなヤヤコシイことしたくなかったんで
単一継承にした。
でも型的には多重継承みたいな事もしたかったんで
classの継承関係とは別にinterfaceを導入した、
って感じかな。
0374デフォルトの名無しさん
NGNG0375デフォルトの名無しさん
NGNG一筋縄でいかないのは当然。継承?死ね。
組んでる奴だけがわかっているようなオナニープログラム(マ)は、
ハッキリ言って効率悪いので会社ヤメレと言いたい。
所詮オブジェクト指向の名を語った自分の自慢なんだろ?
GUIツールに頼らなければ、クラスなんて効率悪いだろ。
0376デフォルトの名無しさん
NGNG>一筋縄でいかないのは当然。継承?死ね。
>組んでる奴だけがわかっているようなオナニープログラム(マ)は、
>ハッキリ言って効率悪いので会社ヤメレと言いたい。
そういうのばっかりだったからオブジェクト指向やデザインパターンができた。
0377デフォルトの名無しさん
NGNG禿同
0378デフォルトの名無しさん
NGNG0379デフォルトの名無しさん
NGNG一文字もタイプミスできないという諸刃の剣
素人にはお薦めできない
0380デフォルトの名無しさん
NGNG0381デフォルトの名無しさん
NGNGもしかしてjava使いってCaseツールなしではプログラム書かないってこと?
笑える
0382デフォルトの名無しさん
NGNG困ったことないんだが。
0383デフォルトの名無しさん
NGNGこの摩訶不思議な発想に乾杯
0384デフォルトの名無しさん
NGNG>virtual classなんてC++の仕様上の方便じゃないの?
>他の言語でも出てくる?
C++以外の多重継承できる言語はふつう
デフォルトで virtual classになる。
二重include禁止と同じような考え。
同じクラスが何度も継承されるのを禁止している
0385デフォルトの名無しさん
NGNG0386デフォルトの名無しさん
NGNGVC++房は
1)VisualStudioがあまりにも便利なので慣れ過ぎてしまう。
2)なんで動いてるのか判らなくても組める
という2点で他の言語に転換させようとすると使えない、というのが
採用担当者の間では定説です。
0387デフォルトの名無しさん
NGNG0388デフォルトの名無しさん
NGNGC++もある。
0389デフォルトの名無しさん
NGNGinterfaceの事が言いたかったんじゃない?
0390デフォルトの名無しさん
NGNG0391デフォルトの名無しさん
NGNGそんなわけないっしょ
UML知らないとか?
0392デフォルトの名無しさん
NGNG0393デフォルトの名無しさん
NGNG多重継承==集約
ってとこじゃない?
C++でさえ多重継承なんて
設計ミスった時以外は使わないよ
俺はね
0394デフォルトの名無しさん
NGNG0395デフォルトの名無しさん
NGNGmixinやアダプタをやるのには多重継承が便利だと思うけど?
ま、自分はC++使いじゃないからアレだけど。
0396デフォルトの名無しさん
NGNGclass A{ ... class B{ ... } }
JAVAは B から A のメンバにアクセスできるけど
C++はできないので、似てるけど違う。
class A extends Frame implements WindowListener{ ... }
class A extends Frame{
class B extends WindowAdaptor{ ... }
}
多重継承できれば
class A extends Frame, WindowAdaptor{ ... }
みたいにできるので、多重継承の代わりになってると思うけど . . .
0397デフォルトの名無しさん
NGNG0398デフォルトの名無しさん
NGNG> 多重継承できれば〜多重継承の代わりになってると思うけど...
なんか言ってる意味が分からんけど…
0399デフォルトの名無しさん
NGNG多重継承があればインナークラスいらなかったんじゃないかな〜って意味。
0400デフォルトの名無しさん
NGNG0401396 399 訂正
NGNGclass A extends Frame, WindowAdaptor{ ... }
みたいにできるので、多重継承の代わりになってると思うけど .
0402デフォルトの名無しさん
NGNG多重継承できれば〜ので、多重継承できないjavaではインナークラスが多重継承の代わりに
なってるってことね。BからAのメンバにアクセスできるって話もつながった。
でもインナークラスと多重継承ややっぱ違うと思うけど。インナークラスは複数のインスタンスを
もてるから、多々重継承(?)。ってゆーより使い方としては委譲に近いのか…(!?)
0403デフォルトの名無しさん
NGNG0404デフォルトの名無しさん
NGNG妄想!
0406デフォルトの名無しさん
NGNG違う。
0407デフォルトの名無しさん
NGNG「使えると思ってる人数中で本当に使えてる人の数」
っぽいが
0408デフォルトの名無しさん
NGNGSmallTalk指向という名前にすれば、もっと理解できたはずだと思う。
メッセージの概念が希薄な C++ や Java でオブジェクト指向の成功を語る方がおかしい。
C++やJavaは、メッセージじゃなくて、まんま関数ではないか。
構造化と、データ-関数の結び付きを表現しやすくしただけではないだろうか?
SmallTalk を使えば、デザインパターンなどオブジェクト指向の概念がもっと良く分かるし、
C++やJava のプログラムをオブジェクト指向と呼ぶことに違和感を持てるはず。
SmallTalk とオブジェクト指向を切り離したことが、
オブジェクト指向軽視傾向の原因だと思う。
0409
NGNG指向なのに言語の評価と同一に考えてる時点でダメだろ。(w
0410デフォルトの名無しさん
NGNGオブジェクト指向 == SmallTalk みたいなプログラミングの仕方
だと思う。
よって、C++/Java でオブジェクト指向を実践するのは無理があると言いたい。
これは、C++/Java 自体の言語の評価とは別。
C++/Java はすばらしい言語かもしれないが、
これらの言語でオブジェクト指向を完全に理解し、実践するのは無理だと思う。
言語のオブジェクト指向実践可能性と言語自体の評価を同一視してはいない。
0412デフォルトの名無しさん
NGNGSmallTalk やって、オブジェクト指向が理解できたのって僕だけ?
C++/Java ってオブジェクト指向じゃないじゃんって思ったのって僕だけ?
恥ずかしいなぁ。
0413デフォルトの名無しさん
NGNG0415スタトレヲタ
NGNG漏れはObjective-Cマンセーのイタイ厨房だけど、
漏れ以上にイタイひとハケーン。
> オブジェクト指向 == SmallTalk みたいなプログラミングの仕方
違います。(w
0417デフォルトの名無しさん
NGNGSmallTalk 以外で OOP できるかどうかって話だと思う。
C++/Java でやる OOP は OO--P と呼ぶべき物では?
0418強いて挙げれば
NGNGどの機能があれば、おっしゃっている「オブジェクト指向言語」の
要件を満たすとお考えでしょうか?
0419名無しさん
NGNG字面だけ見たってしょうがない。
0420デフォルトの名無しさん
NGNG意識してうまく使ってるやつは残念ながら少ない。
Cと同じ感覚でしか使ってない連中が多いのは事実。
オブジェクト指向の醍醐味は言語では無く思考と設計である
っと言うことを理解してください。。。
0422デフォルトの名無しさん
NGNG0423名無しさん
NGNG0424デフォルトの名無しさん
NGNGその思想と設計を実現するために作られた言語か、そうでないか
ということを理解したほうがいい。
0425デフォルトの名無しさん
NGNGJava/C++ は、
プリミティブ型(int, doubleとか)がクラスでない。
データが実数か複素数かで操作を変えるとき、
意識して double型を Doubleクラスにしなければならないのが面倒くさい。
Double にした後、Math クラスをつかうときにまた double をとりだすのが面倒くさい。
メタクラスを取り出すのが面倒くさい。
インターセッションが不可能。
インスペクトが面倒くさい。
手続き(Block)をメッセージとともに飛ばせない。(objc は別)
MVC環境を構築することはできるが、MVC環境での開発はむずかしい。
面倒くさいと書いたものは、本来、
オブジェクト指向開発ならば、簡単にできるはずのもの。
0426デフォルトの名無しさん
NGNG>字面だけ見たってしょうがない。
同感。カレー粉をふりかけてインドカレーっていったら
インド人にどつかれてしまう
0427デフォルトの名無しさん
NGNG美味ければ別に気にしないけどな。
何か問題ある?
0429デフォルトの名無しさん
NGNGそれを出し、「これが寿司だ」と言って説明した場合、
外国人が寿司を理解できるのだろうか?
0430デフォルトの名無しさん
NGNG構造体に毛が生えればクラスと逝っているC++厨と
たいして変わらないな。
0431デフォルトの名無しさん
NGNG踏み込んだ話はできないんだよ。
0432デフォルトの名無しさん
NGNG0433デフォルトの名無しさん
NGNGちんちんに毛が生えれば大人と逝っているRuby厨と
たいして変わらないな。
0434結樹
NGNGちんちんに毛がまだ生えていません。感謝しています。
0435デフォルトの名無しさん
NGNG全く同感である
ただし、付け加えて言うなら、寿司飯にネタをのっけた方が寿司としてはおいしい
また、寿司としておいしいなら、飯の方もおにぎりというより寿司飯になっている
>>425
これまた、付け加えて言うなら、
Smalltalkは、
インターフェースがない
カプセル化を破壊しやすい
最近はMVCより、Selfから産まれたMorphicが流行りである
環境とイメージが一体なので、ちょっとしたコードもサイズが大きくなる
とかがあるね
それでも、オブジェクトを扱うには最適な言語であるのは間違いない
C++/Javaは、どうしても、クラスベースにならざるを得ない
(たとえ、どんなにオブジェクトを意識しても)
好きなのは、プロトタイプにSmalltalk、本番にC++
アホだな〜。
オブジェクト指向に言語は関係ないんだよ。
構造化プログラムするときに構造化言語は必須じゃないだろ、オブジェクト指向に
よってデザインされたものを実装するのに純粋なオブジェクト指向言語は必須じゃ
ないんだよ。。ここまでいわね〜とわからんのか2ch厨房は。。
0437デフォルトの名無しさん
NGNG構造化プログラムするときにしたって、
構造化言語を使ったほうが
より適した抽象が得られるし
構造化された思考が促されるだろ。
オブジェクト指向にしたって、
ある言語でオブジェクトを素直に表現できるかどうかで
思考にも影響するだろ。実装言語にせよ、設計言語にせよ。
0438デフォルトの名無しさん
NGNG0439デフォルトの名無しさん
NGNG>インターセッションが不可能。
>インスペクトが面倒くさい。
>
>手続き(Block)をメッセージとともに飛ばせない。(objc は別)
>
>MVC環境を構築することはできるが、MVC環境での開発はむずかしい。
>面倒くさいと書いたものは、本来、
>オブジェクト指向開発ならば、簡単にできるはずのもの。
直接的にオブジェクト指向とは関係ない機能ばっかりだね。
こういうこと言うと「オブジェクト指向とはなんぞや」って、めんどくさい話になりそうだけど。
0440アルバイター
NGNG確かに、、、。
ですが私は寿司が苦手です。
0441デフォルトの名無しさん
NGNGそういう問題じゃないだろ(笑
0442sage
NGNGap_get_server_name関数が怪しいとは思うのですが・・・
詳しい方がおられましたらご教授くださいませ
0443デフォルトの名無しさん
NGNG>ちんちんに毛が生えれば大人と逝っているRuby厨と
>たいして変わらないな。
そうだな。皮がむけてないキミでも大人と名のれるほどだからな。
0444デフォルトの名無しさん
NGNGC++ や Java は、コーディングしているときに、オブジェクト指向を意識できない。
C++ や Java は、昔作った部品を探したり、調べる時に手間がかかる。
Smalltalk なら、簡単に把握できる。
C++ や Java は、オブジェクト指向設計を実装するのを支援する言語ではないと思う。
オブジェクト指向の1パラダイムであるクラスと継承とインターフェイスを利用して、
コード量とコード管理の手間削減を支援する言語だと思う。
0445デフォルトの名無しさん
NGNG設計している時は設計言語により思考が束縛される。
そしてその設計言語の選択における実装言語の影響は否定できない。
C++でもJavaでもSmalltalkでも、
過去につくったコンポーネントを探したり調べたりする手間は
開発環境に依存する。言語自体の特性ではない。
また、C++やJavaのような静的型付け言語は
オブジェクト指向の機構であるクラス型や継承やインターフェイス型を用いて
オブジェクト指向による実装を支援している。
個人的にはSmalltalkマンセーだが、444の主張は荒すぎだと思う。
0446デフォルトの名無しさん
NGNGSmalltalkは言語ではなく、言語と環境とが一緒になった物だと思う。
0447
NGNGその理由は?
俺は言語選択は開発プラットホームと実装の手間を考慮して
一番最後に決めるけど。
0448デフォルトの名無しさん
NGNG環境を持たないで、普通のテキストエディタでソースを入力する
ような処理系もあるでしょ。
0449デフォルトの名無しさん
NGNGだとしたら、なおさらのこと
コンポーネントの検索などでC++やJavaと比較するのはおかしい。
0450デフォルトの名無しさん
NGNG環境一体でないSmalltalkについては、Smalltalk--と呼びたい。
>>449
Smalltalkと、VC++やJDK+Sunドキュメントを比較すれば良いと思う。
0451デフォルトの名無しさん
NGNGあ、誰も知らない・・・失礼しました・・・
0452デフォルトの名無しさん
NGNG>構造化と、データ-関数の結び付きを表現しやすくしただけではないだろうか?
smalltalkやった事無いから、どこが問題なのかわからない
具体的に説明してくれ
というか、「xx言語やればわかると思うけど・・・」的な表現やめない?
いくらでも代替表現があるのに、そういういい方すると一部の人にしか
伝わらない
俺的には
オブジェクト指向の最低ラインは実行時ポリモーフィズムだと思う
0453デフォルトの名無しさん
NGNGまぁ。。。GoFに書いてあることぐらいは最低ラインだろ。
0454結樹
NGNG間違いなく最低ラインと思います。同じ意見であること感謝します。
0455デフォルトの名無しさん
NGNG0456デフォルトの名無しさん
NGNG高度すぎて、そのボケにはツッコめん。
何繋がりなんだ?(笑
0457デフォルトの名無しさん
NGNG0458デフォルトの名無しさん
NGNGとりあえず、>>455は撮りが終わったら楽屋まで来るように。
0459デフォルトの名無しさん
NGNG同等のことができる。しかもtype safeに。
0460デフォルトの名無しさん
NGNGそれではC++やJavaとの比較ではなく、
VC++やJDK+Sunドキュメントとの比較になってしまう。
例えばVisualAge/JavaはSmalltalkでJava開発環境を構築している。
その結果、非常にSmalltalkに良く似た環境が実現されている。
ならば444が問題としているのは個々のJava開発環境にあるのであって、
Java言語自体の問題ではない事になる。
0461デフォルトの名無しさん
NGNGVisualAge/Java と JDK+Emacs+Sunドキュメント と JBuilder は別物だと思う。
VC++ と gcc+Emacs も別物だと思う。
開発サイクルやコード管理が大きく違ってくる。
クラスやオブジェクトに重点をおいて管理、検索するという観点からも大きく異なる。
環境を別にして言語のみを比較しても机上の空論で終わると思う。
0462仕様書無しさん
NGNG非オブジェクト指向的な設計のノウハウとかも扱えるような。
もちろんオブジェクト指向的な設計もOK。
DBなんかもその範疇。
とにかく言語スレとかにちょっとづついい内容の書き込みがあるのに
設計用のスレがないためにノウハウが分散してしまってるからさ。
どうでしょうか?
0463デフォルトの名無しさん
NGNG0464デフォルトの名無しさん
NGNG「私は私と私の環境である」って言うしね
0465デフォルトの名無しさん
NGNG環境も込みで言語を比較するのは賛成だが、その時には
「この言語で提供可能な環境」だったり
「この言語ではこの環境は提供できない」だったりするべきで、
「VC++では..」は言語比較になってないと思う。
これは環境だけじゃなくてライブラリにも言える。
「MFCでは...」では商品比較。
「C++ではこのようなクラスライブラリは(素直に)表現できない」なら言語比較。
0466言語比較(c++)
NGNGヘッダファイルの考え方自体は良いんだけど(時代遅れだけど)
クラスの実装部分もヘッダファイルに書かなきゃならない構造になってるのが痛い。
開発のときに、これは大きな障害となるのでは
だからそれを回避するテクニックがいろいろ出てくるんだろ〜ね
そういう本を読んでたら、なんだか自分で
新たに言語作ったほうが良い気がしてくるヨ。。。。
どうしてもC++で開発を進めるなら、
「大規模C++ソフトウェアデザイン」くらいは読んどかないと
0467デフォルトの名無しさん
NGNG0468
NGNGそのほんのさわりをおしえてくだされ。
0469デフォルトの名無しさん
NGNG0470デフォルトの名無しさん
NGNG>ヘッダファイルの考え方自体は良いんだけど(時代遅れだけど)
これは同意だけど、
>クラスの実装部分もヘッダファイルに書かなきゃならない構造になってるのが痛い。
実装部分はcppファイルに書いてるが?
0471デフォルトの名無しさん
NGNG0472デフォルトの名無しさん
NGNG>>クラスの実装部分もヘッダファイルに書かなきゃならない構造になってるのが痛い。
>
>実装部分はcppファイルに書いてるが?
メンバ変数やプライベートメソッドのことを言ってるのでは?
0473デフォルトの名無しさん
NGNG「クラスの実装部分もヘッダファイルに書かなきゃならない構造」だから、
メンバ変数はあたらないし、privateでもcppに書きゃ良いじゃん。
0474デフォルトの名無しさん
NGNGC++は、オブジェクト指向プログラミングも可能な言語、であって、
オブジェクト指向をやらない選択肢もある。
0475デフォルトの名無しさん
NGNGC++批判派がよく言ってるのは、C++のprivateに書いてある
ことは、まともな言語なら、外部に出す必要のない情報だって
ことです。
変数やプライベート関数の情報も「実装」の一部です。
0476デフォルトの名無しさん
NGNGpimplイディオムを使えばprivateの中を覗かれる心配なくなるよ。
ポインタアクセスが一個はいるから、インライン展開とかつかっても
うまく性能が上がらないことがあるけどね。
他人に見せるクラスにはpimplイディオムを使うことを検討してみよう。
0477466
NGNGそういう一連の小賢しいテクニックを
やらなくても良いように、
言語側でそういう機能を提供してくれるなら良かったんだけど。
所詮構造体の拡張がクラスだからね…
もうちょっと考えてよ。Stroustrup。
ま、C++も古くなってきたから仕方ないか。
0478466
NGNGチェシャ猫パターンというのもあるne.
EffectiveC++か何かに載ってたような。
公開クラスのメンバ関数を全てvirtual =0にするやつ。
どちらにせよ、単純なクラスでは使いたくない。
>>468-476
ちょっと言葉足らずでした。スマソ。
要するにprivateメンバはcpp側に書けるように
して欲しかったな…ということ。
ヘッダファイルの変更は他モジュール(クラス)にも影響するから・・・
pimplとかチェシャ猫とかで何とかできるんだけど、
どうしてもメンバ関数呼ぶのにポインタ1こ(vptrとか)
経由しなきゃならない。
だいたい>>475の言ってることと同じ。
ただ、いろいろC++勉強してからの結論だから
実感がこもってるけどね…
漏れ大学生だけど、プログラマーになっても
絶対にC++で中・大規模開発はやりたくないね。
0479466
NGNGD言語は実装の多重継承が無いのが気に入らない。
Eiffel辺りを参考にしてさ…
0480デフォルトの名無しさん
NGNGEiffelで不満な点てなに?
0481デフォルトの名無しさん
NGNGいろんな大学でいろんな OO言語が作られた。
しかし、C++ よりも広められることはなかった。
Java ですら、その浸透度で C++ に負ける。
現在の流行りは、関数型言語とエージェント指向言語。
こっちの方向で言語を作れば、広められるかもしれない。
0482デフォルトの名無しさん
NGNG↑なにそれ
0483466
NGNGパフォーマンス
いや触ったこと無いんだけど(あれ?
今勉強中。
全部ANYから派生してるが、
小さなクラスでは邪魔だろ、とか。
表明は面白いね。
>>1とかも
http://www.ascii.co.jp/books/detail/4-7561/4-7561-0317-0.html
これ読むと良いのに。Eiffel本だけど、その部分を読み飛ばしても
読む価値はあるよ。
>>481
エージェント指向言語なんて存在するか?
いや漏れが知らんだけだけど
そろそろ逝きます。
0484デフォルトの名無しさん
NGNG昔からジミに使われてるだけのような気がするけど。
0485466
NGNGhttp://www.ascii.co.jp/books/detail/4-7561/4-7561-0050-3.html
これだった(鬱)逝ってきます
0486デフォルトの名無しさん
NGNG実際見たのは、正確には、エージェント記述言語。
検索すれば出てくると思う。
C++も正確には、オブジェクト記述言語かも知れない。
>>484
Webサービスのオブジェクトへの動的結合などで、
手続きのメタな情報が必要になったり、
手続きそのものをメッセージで飛ばすという需要が増えてくる
と勝手に想像しました。
0487デフォルトの名無しさん
NGNGオブジェクト「も」書ける言語の方がいいと思う今日この頃。
0488デフォルトの名無しさん
NGNG生物の進化とか、ウィルス同志で、メソッドを転写しあうことが出来る、みたいな。
このスレにも出てたと思うが、オブジェクトベース。
0489デフォルトの名無しさん
NGNGそういうのは作ってみた。
だけど速度が遅いので萎えた。
無茶苦茶強力なJITを実装すればどうにかなるんだけど
JITの実装が相当面倒くさそうなので更に萎え。
今は速度重視で違う文法を検討中。
0490デフォルトの名無しさん
NGNG分かってると思うが、念のため確認。
インタープリタだから実行時の継承って意味じゃないYO!
0491デフォルトの名無しさん
NGNG継承機構そのものがユーザーコード上での
実装対象になるという言語を組んだんだわ。
他にも色々と妙な特徴を持たせたせいで
インタプリタチックな構造になってしまった。
で、遅い、と。
0492デフォルトの名無しさん
NGNGa. 自己記述できる。(コンパイラもその言語で記述)
b. CやJavaなど任意の言語にトランスレートできる。
c. メソッドを型として扱える。
d. 環境を型として扱える。
こういう言語を、コードの自動生成を目的に作ろうと検討している。
変換用のルールベースをつくっておいて、その言語をあとで、
JavaやCやVBに変換する。
自己記述できて他言語にトランスレートできるから、
どんどんシステムが高性能になっていく。
言語の流行にも対応できる。
b, c, d の条件を満たすような、
SM制御用のOO--指向シェルを(仕事で)作ったことがある。
これを改造して作ろうと考えている。
継承に関しては、システムクラスからの1段階までとしている。
>>489
他言語へのトランスレート機能があれば、
インタプリタでもかなり高速にできると思う。
(世の中には、すばらしいコンパイラがたくさんあるので)
0493デフォルトの名無しさん
NGNG> b. CやJavaなど任意の言語にトランスレートできる。
イイネ、コレ。
> c. メソッドを型として扱える。
Java に変換できるのん?
VB は、かなり手間かと・・・。
> d. 環境を型として扱える。
これよくわからん。
> 継承に関しては、システムクラスからの1段階までとしている。
is-a やめて has-a オンリーにするって案は?
0494デフォルトの名無しさん
NGNGトランスレータは言語設計時の基本要求の関係で却下なんだわ。
本来の目的がエージェント記述用なんで。
元々JITを使って高速化することを前提に設計したので
概ね目的通りにできあがってはいるんだけど
JITなし時の速度が想像以上に遅かった(Python×1〜5程度の遅さ)ことと
JITの実装がこれまた想像以上にややこしげになったのが敗因。
現時点で機能的には十分なんだけどねぇ。
0495466
NGNGもっと勉強してくるワ.
0496デフォルトの名無しさん
NGNG0497デフォルトの名無しさん
NGNGそれって単にschemeでわ?
0498デフォルトの名無しさん
NGNGhttp://www.geocities.co.jp/SiliconValley/8632/
http://www6.plala.or.jp/sEiffel/
http://user.ecc.u-tokyo.ac.jp/%7Ess87039/eiffel.html
http://www.alles.or.jp/~corey/
http://kasiwa.sci.hokudai.ac.jp/cgi-bin/tiki/tiki.cgi?c=v&p=Eiffel
0499デフォルトの名無しさん
NGNG効率下がってしょうがない。
0500デフォルトの名無しさん
NGNG0501デフォルトの名無しさん
NGNG0502デフォルトの名無しさん
NGNG効率の悪い言語なら使わなきゃいいだけだが・・・
0503デフォルトの名無しさん
NGNG>環境を型として扱う
コンパイラとかエミュレータとか何種類も組み合わせて
開発していたので、そういうのがあると楽でした。
>>497
Scheme って数値計算もトランスレートできるのでしょうか?
(詳しく知らなくてすみません。)
492 で昔作った奴は、複雑な数値計算のトランスレート後のコードは
ソースコード内にいきなりバイトコードとか登場してきます。
>>499
ソースコードを C と Cもどき で書く必要があった。
(エミュレータが複数あったので)
トランスレート機能により、結構な開発速度だったと思う。
0504デフォルトの名無しさん
NGNG>今回はUPの勉強用として、
> 1.ユースケース入門
> (ユーザマニュアルからプログラムを作る)
この本には、ロバストネス図が、でてきますよ。
UPを著者がアレンジしています。
こういった本が売れるのですね。
コンポーネント系は、今年は人気がないようです。
Scottの本は、続々と訳本を出しますので
期待してください。
--
(株)テ●ノロジッ●アート
長● ●秀
--------------------------------------------
勘弁してくれーーーーーーー. また下手糞訳の本がでるらしい.
出版社は何してんだろう.
0505デフォルトの名無しさん
NGNG糞設計でもいいからとりあえず動くものを汚くコーディングして、
そのあと動かしながら、コードを改善していくとともに、
そのノウハウを自分自身のスキルとして蓄積していく。
チームでやるなら、これほど迷惑なものはないが、
ひとりでやるなら、これが一番。
0506デフォルトの名無しさん
NGNGとりあえずオブジェクトの生成だけで動くものが出来る。
そのあと、オブジェクト(クラスベースの場合クラス)の振る舞いを変えていくという、
差分コーディングするなら、やっぱOOPだNE!
0507sage
NGNG0508デフォルトの名無しさん
NGNGプログラムの表現能力の向上ばかりに頭がいってると、言語作成自身が目的になってしまうよ。
オナニー言語は絶対に世の役に立たない。
現実のシステム上で満足に動くものを考えるために、まずGCとスレッドをどうするかを考えてみ。
OOとの相性はどんなかな?
0509login:Penguin
NGNGそういう風にどんどん造語して満足するのは止めてくれ。
プロトタイプと利ファクタリング足せば同じことだろ。
これだからOO信者は詐欺集団と呼ばれるんだよ。
0510デフォルトの名無しさん
NGNGそれは違う。505はOO反対派だよ、内容読んでよ。
506は、「505の内容はOOP以下」とかいてあるだけさ。
0511デフォルトの名無しさん
NGNG日本語にした時点で、造語。
日本語に混ぜた時点で造語。
0512デフォルトの名無しさん
NGNGオブジェクト指向を悪く言う奴も
オブジェクト指向を理解していない。
0513デフォルトの名無しさん
NGNG他の方法論と組み合わせられないわけでもないし。
0514デフォルトの名無しさん
NGNG初期設計が腐ったプログラムは、後から手を入れても無駄。全部捨てて
作り直した方が早い。
っつーのは常識だと思うが。
0515アルバイター
NGNG・・・げっ、元気だして逝きましょう!
今やってること、どうやって、
ドキュメントに表現すればいいかわからん!
余談だけど:
オブジェクト指向はいいと思うよ。
ドキュメントにまとめやすいので。
もっと、いい方法がふじょうすればそれでもいいし、
うっ、お腹が痛い。
0516ゴンベエ
NGNG僕みたいなアマチュアにとってはいいかもと思う次第。
ただ、効率よく作れた試しがないような気もしなくもない。あれ?
0517あぼーん
NGNG0518デフォルトの名無しさん
NGNG0519ゴンベエ
NGNG・・・見たけど、出品者の過去のデータ笑えますね・・・。
0520デフォルトの名無しさん
NGNGsage で頼む。
0521デフォルトの名無しさん
NGNG自分の物を個人的にバックアップするだけなら問題ないからな。
それが違法ならネオ麦に包丁売った奴もダメだろ。
買い手が違法コピーすることを知りつつあえて売ったのなら
幇助扱いされるかもしれないが。
0522デフォルトの名無しさん
NGNGその効率とは何?
作ろうと思ってからできあがるまで?
コードを書き始めてから動くまで?
0523516
NGNG>作ろうと思ってからできあがるまで?
>コードを書き始めてから動くまで?
どっちだろうな・・・。
ただ1から作ったほうがシンプルにできたかなと。
・・・変な日本語でしたね。すいません。
0524デフォルトの名無しさん
NGNGマジレスだが、効率を語る場合には、何の効率なのかを明示しないと
意味がない。
プログラム実行時のメモリ消費量
プログラム実行時の動作速度
プログラム初期設計から動くものができるまでの時間
プログラム仕様変更への耐性
...
いろいろある。このうちにはトレードオフが発生するものも多いから、
目標を明確にしないと「あれもこれも」と言った挙句に、ダメなプロ
グラムができて終わる。
0525523
NGNG確かに。
アマチュア意識でプログラムを作る者が効率を語ったのは間違っていましたね。
>目標を明確にしないと「あれもこれも」と言った挙句に、ダメなプロ
グラムができて終わる。
意識してみます。
0526デフォルトの名無しさん
NGNG詳しく聞きたい。リフレクションや実行時にいろいろきめるのってすごく
柔軟性高くなるから、「やりたいと思ったことが何でも出来る」状況に
近くなる。これが利点だと思うけど、システムユーザーにとっては、何が
欠点となるのかな?
0527デフォルトの名無しさん
NGNG0528デフォルトの名無しさん
NGNG(特定の)システム(の)ユーザーにとって欠点となるのではなく、直接的な利点にならない。
言語によりリフレクションや実行時にいろいろきめることができるようになったところで、
それを活かしたシステムつくらんと無意味。手段を高機能にすることばかり考えていては
本末転倒だ。視点の違いがわかるかな?
だから、「リフレクションを使えばシステムにこういう機能を追加できる」という提案を聞きたいね。
そんなわけで、505は基本的なプログラミング能力が足りないに一票。
0529デフォルトの名無しさん
NGNG理論の勉強をすると、試行錯誤ではここまで来れないなって思うことしきり。
0530デフォルトの名無しさん
NGNGシステムという単語が何を指しているのか不明なんで、さっぱりわからん。
> 「リフレクションを使えばシステムにこういう機能を追加できる」
オブジェクトのシリアライズとか、カスタマイズしたサンドボックス環境を作るときには便利だね。
0531デフォルトの名無しさん
NGNGシステムなんて抽象的な言葉を使っているのだから、特定の何かを指してはないよ。
わかりやすい言葉が欲しければ、例えば「プログラム」と言い換えれば君にも想像付くかな?
>> 「リフレクションを使えばシステムにこういう機能を追加できる」
>オブジェクトのシリアライズとか、カスタマイズしたサンドボックス環境を作るときには便利だね
リフレクションでオブジェクトのメモリ構造が完全にわかるという前提?
オブジェクトが持つフィールドに名前を持っているような言語なら、もし
かしたらできるかも。そうでない言語ならリフレクションから得られる情
報がシリアライズに役立つとはあまり思えない。530がどこまで考えてる
のかはわからんが、リフレクションが必要条件とは思えないな。
後者は、制限された機能群へアクセスするための統一された入り口を
作るようなことをするのかな? それとも全てのメソッドアクセスに
フックしてセキュリティーチェックするようなこと考えてるのかな?
どっちにしても、リフレクションがどう関わってくるかが全然見えない。
そんなわけで、530の言ってることはよくわからん。
0532デフォルトの名無しさん
NGNGデザインパターンを使ったプログラムの実装に便利だし、
積極的に反対するものでもないと思う。
0533デフォルトの名無しさん
NGNGでもそれって、欠点かな?
もっと、何か弊害があるとか、そういう話を聞きたかったなあ。
0534デフォルトの名無しさん
NGNG530みたいに具体例出してみれば?
>>533
弊害なんてないでしょ。
ただ、技術で遊んでいるだけの奴にはいい言語なんて作れないと言いたいだけ。
リフレクションがどうのを論じる以前の話ができないんだったら、このスレ
ではこれ以上言うつもりはないよ。技術の背後にある思想や世界観なくてし
有益な議論にはなり得ないのだから。
ちなみに、俺はオブジェクト指向は大好きだ。(本題)
0535デフォルトの名無しさん
NGNG> リフレクションがどうのを論じる以前の話
なんの話のことだ?
0536デフォルトの名無しさん
NGNGどこからそういう話が…
>530みたいに具体例出してみれば?
Smalltalk の環境は リフレクションがなければ構築できない。
UnitTest ツールもリフレクションの恩恵を受けている。
Java で FactoryMethod パターンを簡易に実装するときも使える。
0537デフォルトの名無しさん
NGNG0538508=534
NGNG400後半にそういうやつらがいたろ?
> Smalltalk の環境は リフレクションがなければ構築できない。
> UnitTest ツールもリフレクションの恩恵を受けている。
> Java で FactoryMethod パターンを簡易に実装するときも使える。
なるほどね、技術的には使えそうだね。
そういう例を出してくれる方が説得力あって好印象だ。
念の為わかりやすくいっておくが、508からリフレクションを否定したことはないよ。
0539デフォルトの名無しさん
NGNG例を出されないと説得力がない、などと感じてしまうような人は、
クヌース先生によってプログラマ失格の烙印を押されるがいい。
「思考の抽象度を上下自在にいききできる人」ってのが
先生がいうところのプログラマの適性だ。
たしかにこれは昔も今もそうそう変わるまい。
ま、たまたま実例が(今の話者に)みつけられなかった場合に
それを理由にうまく言いのがれる道具としては、役立つよね。「例を出せ」って要求は。
0540デフォルトの名無しさん
NGNG> クヌース先生によってプログラマ失格の烙印を押されるがいい。
はいはい、机上で車輪の発明に専念しててね。
0541デフォルトの名無しさん
NGNG車輪の発明なら、現場のドキュのほうが余程得意ですね。
とっくに教科書に載ってることも知らなくても堂々としてる。
0542デフォルトの名無しさん
NGNGアルゴリズムの丸写しは嫌いだ。
0543530
NGNG0544仕様書なしさん
NGNG生物は環境に適応するために進化を繰り返してきた。
生物の消化器官などは複雑化し、脳の思考回路も複雑化し
単純な生命体から人間などの複雑な生命体が誕生した。
宇宙の法則としてすべては常に複雑な形態へ変化していく
という学説がある。
プログラム言語の文法も複雑化していくのは自然の摂理で
ある。
私はJava,c,c++,VB,cgi,perl,ぐらいしか組んだことはな
いが、これだけ見てもコンピュータに人々が多くを求め始
めた結果、言語も複雑化してきたと思う。
オブジェクト指向は現時点でその有効性を疑問視する声も出
てきているがJavaやオブジェクト指向が廃れていったとして
も必ずまた新しい言語や思想は出てくるであろう。
ただし、プログラム言語を「言語」と考えた場合、言葉に文
化があるかどうかが根付く鍵となるが、Javaやオブジェクト
指向が出てきた背景を考えると既に文化といえるほど成熟し
た思想にのっとているため、成功例が増えれば自然と定着し
ていきそうな気はする。
0545デフォルトの名無しさん
NGNGかぎり、オブジェクト指向プロジェクトは成功しない。
0546デフォルトの名無しさん
NGNG向がJAVAのような糞だと思われたくない。
0547デフォルトの名無しさん
NGNGオブジェクト指向は言語によらず使えるんだよ!
0548デフォルトの名無しさん
NGNGそうだね。君には無理っぽいけど。
0549未定義の名無しさん
NGNGコードは美しくないけど、心意気は買うぞ!
0550デフォルトの名無しさん
NGNG0551
NGNGえ〜??Cで書いたOOPは美しいよ〜?
0552デフォルトの名無しさん
NGNG0553デフォルトの名無しさん
NGNG0554デフォルトの名無しさん
NGNG>え〜??Cで書いたOOPは美しいよ〜?
Java/C++理解できない奴の常套句
0555デフォルトの名無しさん
NGNGCでOOPを書いた時点でCじゃないっぽいけどな
0556未定義の名無しさん
NGNG思想的には、ちょっとイリーガルだけど美しさがあるな。芸術性ってところかな?
可読性が下がるという点では、激しく不同意。
多重ポインタって時点で、メンテナンシビリティに欠けるぞ。
0557デフォルトの名無しさん
NGNGOOPであっても、CはC。
Cっぽくなくなるんだろうけどね。
0558デフォルトの名無しさん
NGNG>Perlのオブジェクト思考系の機能はめんどくさすぎ。
どこが? blessするだけじゃん。
あとはたんなるサブルーチンじゃん。
0559デフォルトの名無しさん
NGNGPerl のもともとの機能を使って実現しているので分かりにくい。
気分的には C で OO してるのと大して変わらない。
C++ と同じ後付け OO 共通の問題だ。
0560デフォルトの名無しさん
NGNG0561デフォルトの名無しさん
NGNGどんなものですか?
0562デフォルトの名無しさん
NGNG0563デフォルトの名無しさん
NGNGオブジェクトというものを頭に描きながらコードを書かないといけないか、
の違いです>>561
0564デフォルトの名無しさん
NGNG趣味とか研究でやってるならいーけどさ、社会に出るとそうもできないのよ。
だから、OOが幻想と思うならそれはそれでいいだろうし、そういうやりかたすれば。
0566デフォルトの名無しさん
NGNG>ビジネスベースに載せられる代替案が無いのも事実。
1の言うように、Cを使えばいいじゃん。
0567デフォルトの名無しさん
NGNGWinでC開発は少ないヨ。
メッセージループのコードが膨大に膨れ上がるし、
Win32APIの数が1マソ近くになっててそれに対する構造体とかあって調べてると効率悪過ぎ。
0568デフォルトの名無しさん
NGNGだったら、VBでも、フレームワークだけC++のVCとかでもいいけど(^-^)
0569デフォルトの名無しさん
NGNGはあ?VBは死滅しましたが。
0570デフォルトの名無しさん
NGNGOOを使う必要があり(目的: 情報隠蔽/相互依存性軽減)、
オープン・ソースではプロジェクト完了の義務がないので、
その成功率になる、と思った。
0571デフォルトの名無しさん
NGNGお前、自分で言ってること理解してるか?
これだからブビ厨は・・・プ
0572番組の途中ですが名無しです
NGNG>1の言うように、Cを使えばいいじゃん。
客の希望する納期に、品質を確保した上でバチーリ収まるならCでもいい。
お前、できるか?
0573デフォルトの名無しさん
NGNGOOが生産性高いって前提でしか議論できないんだもん。
やっぱり、こういう盲信に支えられてるのがOOなんだよな。
0574デフォルトの名無しさん
NGNGはぁ?そういう流れになってないですが。
ブビチュウですか?
0575デフォルトの名無しさん
NGNG>はぁ?そういう流れになってないですが。
あなたに合わせて話をしてませんよ。
0576デフォルトの名無しさん
NGNGって言ってる時点で土俵に乗ってるぞ、オマエモナー
お前さんの発言とは意図が違うかもしれんが、
OOPと生産性云々と納期が守れるかどうかってのは、また違う話しなんだよね。
0577デフォルトの名無しさん
NGNG>OO信者ってダメだなあ。
>OOが生産性高いって前提でしか議論できないんだもん。
>やっぱり、こういう盲信に支えられてるのがOOなんだよな。
盲信でない意見を述べよ。
それができなきゃ、あんたもOO信者と同じ穴の狢。五十歩百歩。目くそ鼻くそを笑う。
0578デフォルトの名無しさん
NGNG0579デフォルトの名無しさん
NGNG非OOPLでOOPでやることの無謀さが良く分かる汚いソースだ
職人技てんこ盛りだからそれ相応の技術力がないと汚く見えるのかもしれない
0580デフォルトの名無しさん
NGNGOOPLだとオブジェクトの中身が汚いコードでもその中に隠蔽されてるから、
あんまり問題にならない。差し替えたきゃ、そのオブジェクトのソースファイルだけ読み書きすれば良いし。
0581デフォルトの名無しさん
NGNG0582デフォルトの名無しさん
NGNGスレが停止。
0583デフォルトの名無しさん
NGNGOOの恩恵をカプセル化でしか理解できないない奴。
コードの隠蔽だったら、逆にOOを持ち出すまでもないでしょ。
0584デフォルトの名無しさん
NGNGOOでなくては綺麗に隠蔽出来ないだろう。
OOを知らないやつがフッカケテ来たんだね。
0585デフォルトの名無しさん
NGNG> OOでなくては綺麗に隠蔽出来ないだろう。
いや、情報隠蔽「だけ」なら OOPL でなくても可能。
外に見せるヘッダ。struct foo は宣言だけ。
------------
struct foo;
struct foo* foo_create();
int foo_do_something(struct foo*, param, param);
int foo_destroy(struct foo*);
------------
で struct foo は実装側で定義する。これは C で実際に使われてる手法だし、まったく無理の
ないコードだよね。
(もちろん継承とか多態とか絡んでくると、C だと綺麗に書けなくなるけど)
0586デフォルトの名無しさん
NGNG禿同。学校で習った言葉をただ使いたいだけの奴が多すぎ・・・
0587デフォルトの名無しさん
NGNGブビ厨、発見。
おーっと、誤解するなよ。してもいいけど。
「ブビ厨の様に、実践投入するとデスマーチプロジェクトの要因を誘発するヤツ」
って意味だからな。決してお前らが、ブビラーだとは言ってないぞ。
実際は違うのかもしれないが、その発言からはそう受け取れる。
ちなみに、実践しない素養など無用。
より正しい発言に近い内容としては、
「OOって、素養でしょ?必要に応じて実践するものだと思うんだけど。」
つまり、必要でなければ無理にOOすることもないってわけだ。
0588デフォルトの名無しさん
NGNG0589デフォルトの名無しさん
NGNGブイ房ってのは、どうよ?
0590デフォルトの名無しさん
NGNGVB -> Delphi -> Ruby -> VB
0591デフォルトの名無しさん
NGNGコボラー@メインフレーマー@ウォーターフォール会社、でした。出世せんわ。。。
0592デフォルトの名無しさん
NGNG>> OOでなくては綺麗に隠蔽出来ないだろう。
>いや、情報隠蔽「だけ」なら OOPL でなくても可能。
はっきり言ってちょー汚い。
0593ブビ厨
NGNG>「OOって、素養でしょ?必要に応じて実践するものだと思うんだけど。」
>つまり、必要でなければ無理にOOすることもないってわけだ。
押忍!
開発者のレベルやプロジェクトの進行状況を無視して
OO的手法を無理矢理適用しようとする自己中キティガイに
浴びせる罵声として採用させていただきます!
0594デフォルトの名無しさん
NGNGんじゃブイビョー
0595デフォルトの名無しさん
NGNGどこが? C++ で
オブジェクト->メソッド();
とするのが
関数(ポインタ);
に変わってるだけじゃないのか?
俺はむしろプライベート変数が外に見える C++ のクラス定義よりもマシな気がするなぁ。いや、
理由は良く分かるんだが。
0596デフォルトの名無しさん
NGNG> 俺はむしろプライベート変数が外に見える C++ のクラス定義よりもマシな気がするなぁ。
CでOOPしてプライベート変数を外に見えないようにするなら、
同じ手法でC++でもできる。
そういう部分では基本的にCとC++はそんなに差はない。
0597デフォルトの名無しさん
NGNG> int foo_do_something(struct foo*, param, param);
> int foo_destroy(struct foo*);
関数にすべてプリフィックスfooが付き、なおかつ引数の先頭でstruct foo*
を渡さねばならないことを冗長だと感じませんかい?
0598デフォルトの名無しさん
NGNGC++ で内部構造を隠蔽したければブリッジパターン使うのが普通だと思うが。C のコードと同じ
手法を使ってしまうと、メソッド呼び出しなんかが C++ 流に書けなくなってしまうからダサいコー
ドになるぞ。
>>597
C++ でそれやったら単なる馬鹿だが C だと別に違和感ないなぁ。個人的には。
0600デフォルトの名無しさん
NGNG何が?
0601デフォルトの名無しさん
NGNGCでOOPしてプライベート変数を外に見えないようにするには
ブリッジパターンを使うのが自然だろうということ。
0602デフォルトの名無しさん
NGNGデータ中心アプローチとかだと、RDBMSがかなりのことをやってくれ
るんで便利なんですよね。アルバイトでプログラマやってたときもSQLで
ほとんど用がすんで、あとGUIをかぶせるだけって感じだったし。
でも、オブジェクト指向だとオブジェクト指向データベースなんて
あんまり使われていないので、結局RDBMSつかってオブジェクトと
リレーショナルデータベースのマッピングしなければならないのが結構
めんどうなんですよね。
まあGUIとかお絵かきソフトなどの分野でオブジェクト指向が便利なのは
よくわかるんですけど、会計とかの分野ではあまりありがたみがないのでは?
0603デフォルトの名無しさん
NGNGWebObjects(のEOF(Enterprise Objects Framework))使えば、
RDBとオブジェクトのマッピングが非常に楽ですよ。
アポー製品なので、マクでしか動かないのではと思われがちですが、
Java2環境なら、一応All OK。漏れはWin2Kで使ってます。
SQLは、EOFが裏で書いてくれるので、PGが書く必要もないし。
0604ミニマル
NGNGオブジェクト指向は可能だけど、
オブジェクト指向的にコードを書くなら、
オブジェクト指向なプログラム言語のほうが簡単。
0605デフォルトの名無しさん
NGNG学生じゃわからないのは当然だけど、
業務アプリこそ、OOでメリットを享受できる(場合が多い)。
今のうち勉強しておくと、社会に出てからいいことあるかも。ないかも。
GUIなどの目に見える部分だけではなく、ビジネスロジックを記述することに
OOを使うのは、真実はどうあれ、もはや事実上の常識なのだよ。
重要なことを1つ。
プログラミングや関連技術の実装テクばかり磨いていても、
よほど天才的な才能がない限り、社会に出てからは長いことやっていけない。
30歳PG定年説とか、35歳PG引退説とか、聞いたことないかな。
要求に対してどういう形で答えるかとか、トラブルなどを解決するためには
何が必要なのかってことを考える勉強をしよう。
OOやその他プログラミング技術とは関係ないように見えるが、非常に重要だよ。
余計なお世話をしてしまった・・・鬱だ氏脳
0606デフォルトの名無しさん
NGNGEnterprise Object Frameworkってやつ。
このフレームワークだけバラ売りしてほしい。
前に、興味本位でアポーのWebObjects製品紹介の展示会に行って、NTT系のベムチャー
(NTTの社内ベムチャ第1号らしい)の社長のプレゼンとデモを見たんだよね。
光ファイバの構造を発明した工学博士。
いやー、すごかった。アプリが部品となってアプリを作り、それがまた部品となって
再利用されてアプリになる。オブジェクトのフラクタル図形って感じで、神、降臨って感じだった。
この工学博士社長の言った言葉で印象に残っているのは、
「私はアポーが好きなわけじゃないんです。WebObjectsのテクノロジーを評価してるんです。
これ以上のツールがあれば、すぐにでも乗り換えますが、今のところ無いですねー」
というお言葉。
で、価格もお手ごろなので、今、オレも評価中。
評価中なのだが。
今までオレがやってたことは、いったいなんだったのだあ〜(鬱)
0607606
NGNGスミソニアン博物館に展示されてるんだと。
スミソニアンに入っている日本製のソフトウェアは2つあるらしいんだけど、
もう1つは、バーチャファイターだそうな(ワラ
0608デフォルトの名無しさん
NGNG0609デフォルトの名無しさん
NGNG去年の5月に、確かお値段を1/100までsageたんだよね。正気の沙汰じゃないね(笑)
それまでは、同時アクセス数無制限の運用環境含めると、\700万以上だったのが、
いきなり\72,800だよ。ケタが1つ違うんじゃねぇのか?
NeXT時代は、ハードも含めると\1000万オーバーだったねぇ。良い時代になったものだ。
EOFという、RDBとアプリを連携させるフレームワークだけでも、数百万の価値があると思われ。
Javaのオブジェクトに、RDBのテーブル構造をマッピングできる。PGは、ほぼSQLゴリゴリから解放されるし。
UIとロジックを接続させるツールも良くできてるよ。
UIとロジックが完全分離できるから、Webデザイナにデザイン任せられるし。
JSPじゃ、完全分離は無理ですね。
しかも、異なる複数のRDBのテーブルを、1つのオブジェクトにマッピングできると。
日経ITProに出てた、
「イーズ・コミュニケーションズが複数DBのデータを一元操作するツールを販売」
http://itpro.nikkeibp.co.jp/free/NIT/NEWS/20011217/3/
「Webアプリケーションから複数のデータベースに接続する処理の開発コストを4割程度削減できる」
売り切りの場合で1CPUあたり価格は250万円かららしいけど、
これは、EOFでモデル間連携させれば、すむ話。
1CPUどころか、マルチCPU積んだ1サーバあたり、¥7万強で済んでしまいます。
でも、モノがいいからといって売れるとは限らないんだな、これが。
所詮、WebObjectsは知る人ぞ知るツールっていうか、マニアのツールからは抜けられない宿命か。
アップルがあまり力入れてないんだろうね。つーか、力の入れ方を知らないんだと思う。
コンシューマ相手に、誰でも使えるとゆーふれこみのパソコンの箱売り専門会社だし。
合掌。
0610デフォルトの名無しさん
NGNGそうだね。本質はおなじかもしれないね。x86アセンブラでオブジェクト指向
するのも、Cでオブジェクト指向するのも、C でやるのもRubyでやるのも。
ひょっとしたら、チューリングマシンでもできるかもね。本質的には同じだから。
ここでかんがえなきゃいけないのは、本質的に同じコードを、いかに簡単に、
わかりやすく書けるか、って事なんじゃないかな?(速さ、ってのは、�dでもなく
遅かったりしない限りは、優先度が下がるよね)
0611599
NGNGOOってのは考え方の一つだから、どういう道具を使っても表すことはできる。
しかし、それをサポートする、あるいは促す道具を使ったほうがはるかに楽だ
し効率がいい。
まぁ、ごく当り前の話だが。
0612デフォルトの名無しさん
NGNG学生だと、あとからあとから仕様変更のリクエストが出てくる
プロジェクトってのをイメージしにくいんじゃないかなー。
プロジェクト開始時の要求仕様とまるで違うプログラムに進化
していくなんてことは、現場では珍しくない。で、仕様変更に
耐えやすいプログラムを開発する技術が大事なんだよ。
仕様が分析・設計フェーズで確定できて変化しないなら、業務
アプリケーションはRPGやCOBOLで書けば、ソースがそのまま
仕様書になるんで、それでいいんだ。問題は、仕様は変化するっ
てこと。仕様の変化にRPGやCOBOLは耐えられない(というか、
すごく高くつく)。
そういうことじゃない?
0613デフォルトの名無しさん
NGNG0614デフォルトの名無しさん
NGNG「オブジェクト指向とそうでないもの」
に分かれるのかな
0615デフォルトの名無しさん
NGNG>社会に出てからは長いことやっていけない
一つの会社に定年まで居るつもりならそうだね。
0616デフォルトの名無しさん
NGNG部分最適化すると微妙だと思う。
デバッグ時OOで組んで最適化していくというケースはありなのでは?
例えば上位クラスを作って仮想メソッドを定義してから
汎用クラスを作って具体的実装をやるとか
暗号化とか画像ファイルや圧縮の読み書きの関数に
そういうのは多い気がする。
0617デフォルトの名無しさん
NGNG0618デフォルトの名無しさん
NGNG0619デフォルトの名無しさん
NGNG0620デフォルトの名無しさん
NGNG0621デフォルトの名無しさん
NGNG(仕掛け人サイドの情報は除く)
IBMの受けた仕事の破綻とか人口知能ベンチャーの破綻とかマイナス情報ばかり。
0622デフォルトの名無しさん
NGNG4つの価値のうち一番大切な「コミュニケーション」が不足しているものと思われ。
0623デフォルトの名無しさん
NGNGその頃おれはこの業界にいるんだろうか?
と、ふと鬱になってみたり。
0624デフォルトの名無しさん
NGNG利益ベースだっつうの。PMあたりの「効率が上がった」なんて
与太話なぞ無意味。
本当なら、OOマンセー会社が大幅利益増で人材募集拡大。
非OO会社が利益減でリストラ。
で自然と労働力移動が行われていなければならないでしょ?
0625デフォルトの名無しさん
NGNGクラス方式の言語は失敗作であった。
クラスはオブジェクト指向の敵である。
0626デフォルトの名無しさん
NGNG間違いじゃなかったんじゃ?
0627デフォルトの名無しさん
NGNG0628デフォルトの名無しさん
NGNG或いは、業界全体の階級社会化。
0629デフォルトの名無しさん
NGNGてゆうか非OOのVBでの請負仕事は大幅減益。
パッケージメーカーは以外にOOのDel使ってるでしょ。
で、非OOPのアクセス、VBでのパッケージは売れて無さそう。
0631デフォルトの名無しさん
NGNG0632デフォルトの名無しさん
NGNG客も営業もぎりぎりのところでやってるんだし。もうちょっと競争社会で修行してきたほうが良い
のでは?
0633デフォルトの名無しさん
NGNGその募集でC++/Javaの案件のうち、OO的なプログラム開発
をしているプロジェクトはどれ位あるんだろう?
0634デフォルトの名無しさん
NGNGOO的が多くても少なくても、クラスライブラリ派生したらもうCには戻れん。
Javaなんて絶対に。
0635デフォルトの名無しさん
NGNG派遣や契約社員使って人海戦術で進めるプロジェクトは、手数が多く、でかく、遅く、拡張性が無く、
ダサくなってもいい代わりに、コーダーが悩まなきゃいけないような設計はしない。つまりインスタンスの
スコープ設計なんてもってのほか、コピペ歓迎、UMLなんて納品対象外なので不要、ツールを順番に
並べるためのフローチャートは必要、と来るから、OOPではなく従来の手続き型設計にしかならない。
だいたいこれが最近のでかくて金のあるプロジェクト。
# 手続き型設計が遅いとかいう意味ではないので、念のため。
いや、これはただの建前的な言い訳であって、本当はプロジェクトの上層部 (PMからメインの設計やる
SEあたりまで) にOOを「ふつーに」使える人が一人もいないってだけなんだけどね。以前そこそこの
人間が集まったのでシステムをOOで設計、開発、実運用してみたけど、別段問題はなかった (某生保)。
むしろあれが一番楽しかった。それ以外に、まともにOOでやってる仕事なんて見たことない。
0636デフォルトの名無しさん
NGNG0637デフォルトの名無しさん
NGNGRUP ってなんじゃらほい。
育毛剤?
0638デフォルトの名無しさん
NGNGプロジェクトの評価は、微妙な点があるからなぁ。結局のところ「まったく同じプロジェクトを OO と非 OO
でやってみました」ってのは実際には存在しないし。
ところで「聞かないな」っつーのは、どのあたりの情報源をチェックした結果として言ってるの? ソフトウェ
ア工学だと Communication of the ACM, IEEE Computer, IEEE Software あたりを読んどけっつー話を
耳にするんだけど、他にもチェックしてたものがあれば教えてもらえると嬉しいかな。
0639デフォルトの名無しさん
NGNGRational Unified Process(TM)だろ。XPあればいらないんじゃない?
0640デフォルトの名無しさん
NGNGどっちがどれだけタイムリーにテスト版を出荷できるか考えてみな。
# VBがOO的に最適だと言っているわけではないよ、念のため。
0641
NGNG一太郎がある。結果は知らないが。
0642デフォルトの名無しさん
NGNGコンポーネントをマウスでぺたぺたはることらしいです。
0643
NGNG0644デフォルトの名無しさん
NGNGある程度の向上心や理解力、好奇心といった健全な精神活動を
期待することが幻想なんだと思う。
0645デフォルトの名無しさん
NGNG標準化のレベルを底辺にあわせて開発要員の単価を下げるのが日本のやり方。
生保、損保、銀行システムと渡り歩いてきてそう思う今日この頃。
0646デフォルトの名無しさん
NGNG異常に手間がかかることない?
Javaなり、MFCなら情報も豊富にあるだろうが、その企業独自の
クラスが数百もある開発環境だと、キーボード叩く時間よりも
ドキュメント眺めてる時間が数倍も長いんだよ。そういう環境だと
いかにオブジェクト指向がまどろっこしいか分かるよ。
関数型のほうが速攻性があるし実用的だと思うけどな。
0647デフォルトの名無しさん
NGNG関数型ってことは Haskell?
0648
NGNGアクセス制限だのインターフェースの儀式だの要らないから早い。
0649デフォルトの名無しさん
NGNG0650デフォルトの名無しさん
NGNG>アクセス制限だのインターフェースの儀式だの要らないから早い。
それでなぜ早くなるのかわからん。
川○氏?
0651デフォルトの名無しさん
NGNG0652デフォルトの名無しさん
NGNGひたすら精度とパフォーマンスを求められる組み込み系だと、
Embed系Javaであってもクソ食らえだし、
逆に業務系でオブジェクチブに開発することを求められるケースもあるだろ。
ケータイのバックエンドなんて、未だにCだよ。
ケースバイケースなんだよ。
目的に応じた手段を選べばいいだけだ。
OOや構造化、その他を目的のようにカンチガイするからオカシクなるんだ。
0653デフォルトの名無しさん
NGNG得られるわけだから整理されていればそっちのほうが楽だと思う
0654デフォルトの名無しさん
NGNG>設計6割 コーディング2割 テスト2割
禿同。
ちまたにゴロゴロしてるDQNなSE/PGは、
設計1割 コーディング5割 テスト1割 虫取り3割
って感じだが。
漏れの親外車は、設計0.5割 コーディング9割 クレーム処理0.5割で鬱。
そろそろ潮時だな。
Web開発なら、アポーのWebObjects使うと綺麗に収まるな。
相変わらずアポーとマク自体はクソだが。
0655デフォルトの名無しさん
NGNG関数がすべて、状態/副作用を持たない単純なものならね。
0656デフォルトの名無しさん
NGNGOO = fool-proofなんだよ。
管理側の苦労も考えてくれたまえ。
0657デフォルトの名無しさん
NGNGクラス群だろうと関数群だろうとそれだけ多ければ分類されているだろう。
使っているうちに必要なクラス/関数は覚えるので長期的に見れば大差ない。
>>653
なんだそりゃ。実例を挙げてくれ。
0658
NGNG互いに上下関係のない複数のオブジェクトが 相互作用するような
場合、アクセス経路で行き詰まるのです。
0659デフォルトの名無しさん
NGNGFPじゃないのかなあ
0660デフォルトの名無しさん
NGNG複雑怪奇なラビリンス。
0661デフォルトの名無しさん
NGNG言っているイメージが湧かないのだが。
friend 関数でも面倒だ、全部 public にしちゃえ、つーか全部静的関数だという感じか?
どんどんコーディングする前にコーヒーでも飲んでコードを眺めよう…
0662
NGNG会社オブジェクトと部オブジェクトと課オブジェクトと社員オブジェクト
とプロジェクトチームオブジェクトと銀行オブジェクトと取引先オブジェクト
を作って、人の移動、仕事の進捗状況、お金の流れ、バランスシートの
作成、人事を一括して扱うようなのを考えてもらえば良いだろうか・・・。
0663名無しさん@おひさまのよう。
NGNGkernericに使えればそれで十分じゃないの?
0664
NGNG0665デフォルトの名無しさん
NGNG上下関係がなくても、関係がある場合はインターフェイスでまとめれ。
例の中の社員オブジェクトとそれ以外は Composite の Leaf と Composite にしておけ。
これでスキーリ快便よん。
0666665
NGNGそれじゃいつまでたっても OO を有効活用はできないと思われ。
0668デフォルトの名無しさん
NGNG0669デフォルトの名無しさん
NGNG0670デフォルトの名無しさん
NGNG正直、構造化で作ってそれを何度も使うんならラッピングしてライブラリに
していったほうがいいんじゃないの?
0671デフォルトの名無しさん
NGNG漏れは、もっとコードが読みやすい言語がいいぞ
生産性うんぬんより
0672デフォルトの名無しさん
NGNGついでに関数によるラッピングとクラスによるラッピングの差を教えてやれ。
0673デフォルトの名無しさん
NGNG0674デフォルトの名無しさん
NGNGそれが使いやすい場合もあれば、使いにくい場合もある。
それは、関数型の時よりギャップが大きい。
0675お願い・・・、ガク。
NGNG0676デフォルトの名無しさん
NGNGクラスとインスタンスの違い。わかってる?
>>674
OOP の意味。わかってる?
0677デフォルトの名無しさん
NGNG>OOの問題点は、オブジェクトの内部状態が影響することだと思う。正直。
内部状況を持たなければならないのは、開発するシステム自体が高度化し状態を持っているから。
そうでなければ、内部状態を初期化するinitメソッドを作っといて、内からか外からかコールすれば良い。
それだけ。
0679デフォルトの名無しさん
NGNG0680678
NGNGまず、>>668 が何について言ってるか、についてですが、
直前の >>667
>Cでいえばmain関数に全て書くようなやりかたですな。
だとすればクラスも何も登場しないので、
>>665-666の
>上下関係がなくても、関係がある場合はインターフェイスでまとめれ。
>例の中の社員オブジェクトとそれ以外は Composite の Leaf と
>Composite にしておけ。
だと思われ、それを受けて
>部一つ、課一つ、社員一人のすばらしい会社クラスが出来上がりますね。
だとすると、会社クラスは部一つ、課一つ、社員一人しかもてない
と、いう趣旨の発言だと受け取りました。
正直言って意味不明ですので、仮説として
クラスとインスタンスの区別がついていないとします。
そうすると…、会社クラスのコードに部クラスを使用するコードが書いてあって、
部クラスのコードに課クラスを利用するコードが書いてあって.........。
という、「インスタンス生成しる!」という突っ込みを入れたいコードを
想像してるんじゃないかなぁ…と。
0681デフォルトの名無しさん
NGNGこのinit作業こそが悪の根源ナリ〜
0682デフォルトの名無しさん
NGNG0683デフォルトの名無しさん
NGNGWinのC言語サンプルからしてInitInstcenceとかいうのあり。OOのせいじゃない。
>>682
良いけど、コボラーがJavaでヤッテル手で反OO軍団だよ。
0684デフォルトの名無しさん
NGNGまあ、OO特有の問題ではないけど、OOだと表面化しやすい問題。
>>665のように責任関係をそのままComposite構造にしてしまった場合、
「部1-n課1-n社員」で社員→部への直接アクセスができなくなる問題がある。
さらに、社員→社員のアクセスも社員→課(→部→課)→社員という形でしかアクセスできない。
しかし、じゃあ直リンした方が楽かといわれれば、
最初の内は楽だが複雑になるに従い破綻は目に見えているといわざるを得ない。
今回のような問題だと複雑度がに従って
直リンしまくり→Composite構造にする→Accountabilityパターンを用いる
のように臨機応変にすればいい。
0685デフォルトの名無しさん
NGNGありがとうございました。
なるほど、データ構造を継承するのではなく、組織の形そのままに
クラスを構築するんですか・・・。
うう、個人意見ですけど、そうなるともはやOOの為に設計してるのか
クラスの不便さを回避する為に設計してるんだか、支離滅裂で訳わかんなく
なります。
0686
NGNG0687デフォルトの名無しさん
NGNGBU bu[5];
KA ka[12];
SYAIN syain[123];
とかいうのをどうやって実装するのかわかんなかったので
Composite comp[100];
だと会社100、部100、課100、社員100になりませんか?
0688680
NGNG固定長配列に入れている時点で終わってます。
というか、それは C++ のソース? Java のソース?
C++ だとしたら、それじゃスタックにインスタンス確保しちゃうんだけど...
(あと、配列は Type[] name って書こうよ。)
オブジェクトの生成手段は場合によって何が有効か違うから
自力で調べてよ(我等が経典 GoF 本 にもたくさん載ってるから)。
でもソースにハードコーディングしちゃう奴は糞だから気をつけてね。
あと、調べておいた方がいい言葉は
Collection 線形リスト 参照 ポインタ
かな?
んじゃ、勉強頑張ってくださいね。
0689デフォルトの名無しさん
NGNG少し間違って伝わったかもしれないので少し補足します。
クラス構造(例)
<スーパークラス/組織>-<サブクラス/部・課・社員>
1.「組織」を用いて、インターフェース統一
例えば、「営業成績」とかいうメソッドを「組織」クラスに定めておけば、
部・課・社員のどのクラスかを意識せずにメッセージが送れる。
(恐らく、課の営業成績には社員の営業成績を合計する手続が書いてあるだろう)
2.課と社員の間に「チーム」という新しい組織を作る場合も
ただ単に「チーム」サブクラスを増やすだけでいい。
オブジェクト構造(例)
<部>1-n<課>1-n<社員> のような木構造。
構造がそのまま組織構造を表しているので理解がしやすい。
プログラム上でクラス構造は静的側面、オブジェクト構造は動的側面を表す。
その構造決定要因は、クラス構造の場合継承関係、オブジェクト構造の場合リンク関係である。
>>684で述べているのはオブジェクト構造についてです。
で、オブジェクトの上下関係を無視して直リンした方がその場では楽だなぁと述べているのです。
なんつ〜か、ほら、Windowsでファイルを開く時いちいち階層を辿るより
ショートカット利用した方が楽でしょ?
でも、ショートカットってよくリンクが切れた状態になるでしょ?ってことです。
0690デフォルトの名無しさん
NGNGclass 営業成績{
public 営業成績(){???}
public void 加算(営業成績 成績){???}
}
interface 組織{
組織 親組織取得();
void 子組織登録(組織 子組織)throws 登録不可例外;
Iterator 子組織リスト取得();
営業成績 営業成績取得();
}
class 部 implements 組織{/*省略*/}
class 課 implements 組織{
private 部 所属部;
private List 子組織リスト = new ArrayList();
public 課(部 所属部){this.所属部=所属部;}
public 組織 親組織取得(){return 所属部;}
public void 子組織登録(組織 子組織)throws 登録不可例外{
if(!(子組織 instanceof 社員))throw new 登録不可例外();
子組織リスト.add(子組織);
}
public Iterator 子組織リスト取得(){return 子組織リスト.iterator();}
public 営業成績 営業成績取得(){
営業成績 課_成績 =new 営業成績();
(Iterator イテレータ=子組織リスト取得();イテレータ.hasNext();)
課_成績.加算((組織)イテレータ.next()).営業成績取得());
return 課_成績;
}
}
class 社員 implements 組織{
private 課 所属課;
private 営業成績 個人営業成績;
public 社員(課 所属課,営業成績 個人営業成績){
this.所属課=所属課;
this.個人営業成績=個人営業成績;
}
public 組織 親組織取得(){return 所属課;}
public void 子組織登録(組織 子組織)throws 登録不可例外{
throw new 登録不可例外();
}
public Iterator 子組織リスト取得(){return null;}
public 営業成績 営業成績取得(){
return 個人営業成績;
}
}
配列でも、LinkでもVectorでもHashTableでもいいんですけど、
そのクラスでどうやって 1:1:1以外の構成にできるのか教えてもらえませんか?
>>689
なるほど。アクセス問題を解決する為の多重継承には私はまだ踏み切れません。
だって美しくないんだもん。
0692デフォルトの名無しさん
NGNGシステムのモデルを作成するのに必要な現実だけを切り取ってクラス構造を作れ。
0693デフォルトの名無しさん
NGNG0694デフォルトの名無しさん
NGNGイタイ
0695デフォルトの名無しさん
NGNG出し惜しみしてないで実装例を書きなよ。
大威張りで書いているんだから、よもやまさか汚いコードじゃないよね?
0696デフォルトの名無しさん
NGNG何の実装例?
のインターフェースで一つにまとめたクラスでどうやって
各層のインスタンスの数を変えるのかという問いに対する答えの実装例。
0698デフォルトの名無しさん
NGNG「オブジェクト指向の極意は多重継承と多態」とか言ってる人って
こんな使い方の事を言ってたの?
はあ、そんなコード書いといてなにをえらそーに・・・。
0701690
NGNG単なるコンポジットパターンの今の話題での実装例。
実装がシケてるのは、行数制限があるから。
…こんなクラス作っても、おいらだって使わない。
0702DQN
NGNGつーのを見て、チョトニンマリしただけでした。
0703デフォルトの名無しさん
NGNG騙されてますね。
0704DQN
NGNG組織階層interfaceと、
成績提出可能interfaceを分けては
いかがでしょーか。
0705698
NGNGずっと上の方の会社クラスと部クラスと課クラスと社員クラスを
一つのクラスにまとめるやり方のこと。
漏れの知識で想像すると酷いコードくさいけど、実はものすごく
レベルの高いコードかも知れないし、見てみないと判らん。
0706デフォルトの名無しさん
NGNGところで、Accountability Pattern て便利そうですね。
というか、パターン名と実装と潜在的な可能性が、
今日まで結びついていませんでした。デザパタで久々のカンドー!!!
ttp://www.ogis-ri.co.jp/otc/hiroba/specials/MartinFowler/analysis.html#analysis2_2
0707デフォルトの名無しさん
NGNG○ 真価
0708688
NGNG俺は668じゃないよ?
>>700
C++ 方面の方ですか? implements は実装(インターフェイス継承)だから、
実装継承と違って害は少ないと思うんだけど。
あと、やっぱりポリモーフィズム━━━(・∀・)━━━マンセー!!だと
思うのですがどうでしょう?
0709689
NGNGしかし、漢字だらけだと得体の知れない迫力があるな。
あと、クラス構造やオブジェクト構造の構築をどうするかという例を
ボトムアップ開発&リファクタリング&デザパタで
書いてみたかったのだが、途中まで書いて挫折。
長すぎ。
(ttp://objectclub.esm.co.jp/evolutionalDesignWithPatterns/index.html
こんな感じに書きたかったなぁ。
しかも、話の流れに関係ないし)
0710よかいち
NGNG書いてみます。
オブジェクト指向本で気になるのは、発展の仕方が妙に自然科学的な
積み重ねじゃなくて、先人の否定で新規性を出そうという本が多いこ
とじゃないかと思います。
良書「憂鬱な…」もこの欠点があると思うんだけど、妙に「世の中の
の常識はこんなにまちがってた!」みたいなセンセーショナリズムに
走っている気がする。逆説をいうことが目的みたいなね。
正統派(あるなら)のアカデミックな場ではそうじゃないのかもしれ
ませんが。
ある種文芸批評とかみたいに、正しさの積み重ねじゃなくて、人とい
かに違ったことを言うか、という争いになっている気がします。
オブジェクト指向そのものの功罪じゃなくて、それを広めようとする
人に対するいかがわしさ、というのがあるんじゃないかなあと・・・。
どう思います?
0711デフォルトの名無しさん
NGNGそういう雰囲気はあるかも知れないですね。
「ふっ、いまだに時代遅れの構造化手法などに固執している馬鹿めがっ!」
的な雰囲気を醸し出しているエヴァンジェリストさんは多いですし。
私も古いやり方に固執している人を見ると、正直↑の様な気持ちが
湧いてくることもあります。
でも、オブジェクト指向って、それ以前のやり方とまったく違う方法でしょうか?
オブジェクト指向派の人だって、元々は C や Pascal をやっていた
人がほとんどだと思うんですよ、でもオブジェクト指向に出会って
「あー素晴らしいかも!!」
って思って鞍替えしているんだと思うので、本当はオブジェクト指向は
ちゃんと構造化手法を踏まえていると思います。
で、あまりにも感動しすぎて、まだ知らない人に
「いいものがあるんだよー」って教えてあげようとしてしまう。
でも、さしあたって必要性を感じてなかった人は
「あーOO信者ウザいナリよ」
となる、でもオブジェクト指向に染まる人が増えてくると、
あっちこっちから同じような人がでてきて
「またか!拙者には必要なりナリ!」→「またナリか!OO信者死ねナリ!!」
となっていくんじゃないかなーと。
つまり、本当にOO普及させたければ、押し売りじゃなくて、
「教えてあげないよ、ジャン♪(C)ポリンキー」
な態度に出れば、
「拙者だけオブジェクト指向しらないナリ!
なんかみんなで楽しそうにしてるナリ!!
拙者にもオブジェクト指向教えるナリよ〜〜!」
となって、末端まで普及していくかも知れないなぁ。なんて思ってしまいました。
ん〜、乱筆乱文デムパな文章で失礼しました。
0712デフォルトの名無しさん
NGNG構造化を進めて行けば、OOは必然じゃないか?
0713デフォルトの名無しさん
NGNG教えてくれたならともかく、今は最初からJavaやC++やるのが
全然珍しくない以上、「構造化手法 VS オブジェクト指向」
とかいまだにやってるのはある(最初にプログラミングを覚えた
時期が同じ)世代に限定されるんじゃないの。
勿論、オブジェクト指向の構造を設計するのと、
オブジェクト指向のフレームワークを使うのは全く別
(後者は、コンポーネント指向か)だけどね。で、後者のような
ことしか必要のない場所では、別にオブジェクト指向なんか
理解している必要もない。
0714デフォルトの名無しさん
NGNGオブジェクト指向教は他の宗教を認めないというドグマの上に成り立ってるので
無理です。
0715デフォルトの名無しさん
NGNGじゃないのか?構造化でやってきて、オブジェクト指向分からないって
言ってる奴は、単に構造化設計もちゃんと分かってないクズだと思うよ。
オブジェクト指向でいっているクラスみたいな概念って、Cでもやってた
でしょ?構造体の内部隠蔽とか、構造体へアクセス可能な関数を限定したり、
ファイル分割利用してスコープ限定したり。継承&多態みたいなことは
関数ポインタを利用した関数実装のディスパッチでやってたし。
それが言語仕様でなくて、Cを使っているユーザの「そういう構造を作ろう」
と言う意思がやっていたことを言語の仕様としてしまうことで、もうちょっと
楽をしようというのが、OOP言語のルーツのような気がするんだが。
0716どっかの19
NGNGOOAしてOOPするのはいいけど、現実としてゼロからモノを作る場面って
多くないとおもうんですよ。
あたらしい手法はとりあえず、既存の手法のなかにいかに馴染ませて効果を
発揮させるかってのも大事だと思うですよ。
その点ではOOはやりにくい気がする。
0717デフォルトの名無しさん
NGNG>オブジェクト指向分からないって
OO信者が勝手にレッテル張りしてるだけです。
むしろOO信者に「クラスで書けたから、漏れはOO理解してるよーん」
みたいのが居て叩きに来るのです。
0718デフォルトの名無しさん
NGNGたしかに信者は他の手法を認めないが、信者以外は構造化でも汎用プログラミング
でも仲良くやってると思われ。
(だから C++ 好きさ)
0719デフォルトの名無しさん
NGNG「実用的なの?」みたいなツッコミしか受けないね。
OOPは、バカでも「感覚的にはわかる」から、本質を理解しない
実践をされて、「だからOOPはダメ」な実例を作られる。
# かくして本物のプログラマはFORTRANとアセンブラを使う、と;-)
0720デフォルトの名無しさん
NGNG例えば 青木淳さんのおっしゃる「主観的オブジェクト設計」と
他の客観的な指標に従って設計を進めようとする「客観的オブジェクト設計」
の違いなど、その例かもしれませんね。
http://www.sra.co.jp/people/aoki/Buddhism/Misc/BuddhistApproachToOO.html
私は、オブジェクト指向に深入りせずに、
関数型プログラミングと同じ視点で関わりたい。
0721デフォルトの名無しさん
NGNGその論理なら最後の1行は違うな。
>かくして本物のプログラマはFORTRANとアセンブラを使う
↓
よって、バカにはFORTRANとアセンブラで十分。
0722デフォルトの名無しさん
NGNG本物のプログラマはFORTRANを使うってのはこの文書のこと。
0723721
NGNG0724http://nara.cool.ne.jp/mituto
NGNGhttp://210.172.69.179/jps_search_02au
http://nara.cool.ne.jp/mituto
0725デフォルトの名無しさん
NGNGプログラムの検索で空振りすると、
"フォーマットファイル「hyouji.html」が見つかりません"
てのちょーカコワルイ。「田中洸人」で検索したんだが。
0726デフォルトの名無しさん
NGNGオージスの「オブジェクトの広場」へ行ったら、
James Coplien「マルチパラダイム・デザイン」の翻訳者 金沢典子さんによる
読解ガイドを発見。
AOPやSeparation of Concerns(関心の分離)と比較して、
より一般的なソリューションを与えるドメイン分析手法との事ですが、
お前らはどのように感じているでしょうか?
http://www.ogis-ri.co.jp/otc/hiroba/technical/MPD/index.html
http://www.rcnchicago.com/%7Ejcoplien/Nippon/MPD/
原著は1998年に出ていて、翻訳を2002年に読んでいる、という時点で終わっている(藁
まじで洋書情報仕入れていかないと、何年たっても追いつけなさそう...
0727
NGNGクラスの手法はやっぱ破綻してますね。
0728デフォルトの名無しさん
NGNG0729デフォルトの名無しさん
NGNG日本で、最近の猫も杓子もデザイン、テストという形で設計手法が
一般人の関心に上るようになったのが遅すぎた感もあるな。
「オブジェクト指向が〜」とかいう前置きすら無しに、OOがプログラ
ミングのイロハとして皆の共通認識となるべきなんだけど。
そうなってくると、いまだにOOについて有用性を論じているこのスレ
のような場所って何? ってことになる。
OOが基礎にあることは確かだが、マルチパラダイムデザインの場合
「各種オブジェクト指向方法論」と括るのすら無理があるね。
つーか本に書いてあることはあくまでモデルである、ということを
理解しないで真面目にやる馬鹿が多すぎるのではないか。
0730デフォルトの名無しさん
NGNGオブジェクト指向という囲い込みが疎ましく思えます。
普通にプログラムして、
・オブジェクト指向になったり、
・オブジェクト指向を使わなかったり、
・オブジェクト指向を拡張したり、
つう感じで、自由に行き来したいよぅー。
0731デフォルトの名無しさん
NGNGいるんだ!物理板から進出したのか!
ここはブラックホールじゃないのにな!
つーかなんでみつとって読める俺ってどうしてですか
0732デフォルトの名無しさん
NGNG0733726
NGNG>つーか本に書いてあることはあくまでモデルである、ということを
>理解しないで真面目にやる馬鹿が多すぎるのではないか。
僕?(藁
0734
NGNG>フレームワーク作成の重要点であることを指摘し,
>さらにホットスポットの実装のためのメタパターンを提唱しました
やっぱメタ。で関数ポインタ。
0735デフォルトの名無しさん
NGNGだって、そーゆーときは本買わなくても自然に使わざる得なくなったり、
使ったりするからな。
0736726
NGNG型理論とか型推論とかSeparation of Concerns とかドメイン分析
でした。
#モナドとか思い付く素養は無かったりする(藁
0737デフォルトの名無しさん
NGNGプロトタイピング・ベースのOO言語か、
あるいはアナリシス・パターンでも出せば、
同意できるのだろーか?
#アナパタすらリアルタイムで読んでいない>>俺
0738デフォルトの名無しさん
NGNG多重分類と動的分類
http://www.ogis-ri.co.jp/otc/hiroba/technical/Classification/index.html
0739スパルタ斉木
NGNG俺にも一つだけ言えることがありますな。
少なくとも OO には気休め効果というか、なんだっけ?
そう、スパシーバ効果だ。スパシーバ効果があります。
みんなで OO でスパシーバ!みたいな。
0740デフォルトの名無しさん
NGNGスパスィ〜ヴァ!!
なんだっけ、ありがとうって意味?ロシア語?
0741デフォルトの名無しさん
NGNG0742スパルタ斉木
NGNGところで今日も言いたい事があります。みたいな。
CHain Of RespOnsibility の愛称は Choro ... チョロです。
チョロに決まりました。みたいな。
フィリピン人に会社の金使い込んで首吊り。みたいな。
そんな殺伐とした都会の具体的ジャングルを感じるパターン名ですな。
これからもチョロでスパシーバ!みたいな。
0743デフォルトの名無しさん
NGNG「オブジェクト指向は間違っていた」(タイトル大藁
http://www.ogis-ri.co.jp/otc/hiroba/technical/MixJuice/index.html
0744デフォルトの名無しさん
NGNGこれってどうなんでしょう。interface の多用と、Strategy パターンを使えば解決する問題な気がする。
あと final なモジュールっていう機能を作らないと、
何でもアリ(例えば Singleton のインスタンスが複数作れたりする状況)
になっちゃうような...。
まだまだ修行が足りないからかなぁ?
0745デフォルトの名無しさん
NGNG0746デフォルトの名無しさん
NGNGだめっていうことはないよ。
そこいらの手続き型設計しかできないおっさん/おばさん連中よりはるかにマシ。
0747デフォルトの名無しさん
NGNGCompositeするみたいなやり方を、
不便さを感じながら使っている人も多いだろうね。
0748デフォルトの名無しさん
NGNG機能拡張やカスタマイズには、
複数クラスを系統的に修正/拡張する必要があって鬱。
0749デフォルトの名無しさん
NGNG機能拡張やカスタマイズの必要がある「部分」を特定して、
置き換え可能なように、TemplateMethodやStrategyにする。
置き換えが広範囲ならInterfaceにして、実装クラスの置き換えをする。
0750デフォルトの名無しさん
NGNG拡張/カスタマイズする度に、クラス設計を変えるのは面倒過ぎる。
0751デフォルトの名無しさん
NGNG>これってどうなんでしょう。interface の多用と、Strategy パターンを使えば解決する問題な気がする。
「Cでもオブジェクト指向プログラミングをできる」ように、
「オブジェクト指向でも」可能でしょうね。
クラス構成が複雑で分かりにくくなるかとは思うけれど...
0752デフォルトの名無しさん
NGNG韮山編集長イチオシです。
0753デフォルトの名無しさん
NGNG0754デフォルトの名無しさん
NGNG0755デフォルトの名無しさん
NGNG設計を後で変更するのが大変なのはオブジェクト指向に関係なく真。
0756デフォルトの名無しさん
NGNG関数だと引数追加の度に呼び出し元と共に一斉に直さないといけない。
クラスだとプロパティみたいにしとくと該当個所のみ直せば良い。
0757デフォルトの名無しさん
NGNG関数でも構造体を引数にすれば変更は一箇所だけ。
そんなものは別にクラスの利点ではない。
0758デフォルトの名無しさん
NGNG0759デフォルトの名無しさん
NGNGそうすれば反乱がおきにくい。
0760デフォルトの名無しさん
NGNG=========== 終 了 ============
0761デフォルトの名無しさん
NGNG0762デフォルトの名無しさん
NGNGそうだな、基本的に分割統治の発想で説明できる。
クラス、名前空間、UnitTest、
RUP のイテレーション、XP のストーリー/タスク
0763ddd
NGNG適材適所でつかえばいいんだろーが
0764
NGNG早合点し過ぎ。
0765デフォルトの名無しさん
NGNGOOがなんなのか理解する機会に巡り合わせる
こともないんだろうな。
0766
NGNG効率良いなら単価下がっても量でこなせるはずだろ!
結論:OO推進派はの対実績所得を2割減らす。
0767
NGNG0768デフォルトの名無しさん
NGNG> だからー。OO推進派は安く仕事受ければいいの!
「だから」が何を受けてるのか謎だ。
0769デフォルトの名無しさん
NGNGデータ抽象(カプセル化)と OO を区別できてない人は、よく見かける。
たしかに既存の OOPL の利点の一つは
カプセル化を、細かいアクセス指定つきで実現できる
ことだけど、それは本質じゃない。
0770デフォルトの名無しさん
NGNG何も分かっていない。
0771デフォルトの名無しさん
NGNG確かに、アクセス指定については全く本質じゃないね。
アクセス指定については、それこそ言語によって仕様が違うし、
アクセス指定なんかない言語だってあるしね。
UMLの標準を決める際にも可視性の問題は結構もめてるみたい。
しかし、データ抽象(カプセル化)は本質的(基本的と言ったほうが良いか)だ。
0772デフォルトの名無しさん
NGNG>データ抽象(カプセル化)
既にこの時点でもめると思われ
0773デフォルトの名無しさん
NGNG> しかし、データ抽象(カプセル化)は本質的(基本的と言ったほうが良いか)だ。
だから、それはオブジェクト指向ではなくて抽象データ型でしょう。
0774デフォルトの名無しさん
NGNG0775デフォルトの名無しさん
NGNG0776デフォルトの名無しさん
NGNGオブジェクト指向は、それまでの技術の積み重ねから出てきてる。ただ、そこに新たな
何かが加わったから
オブジェクト指向
と銘打ってるのであって、単なるデータ抽象だけで OO とは言わん。
オブジェクト指向のテーゼは「インターフェースに対してプログラミングせよ」であって、
データの詳細を隠せじゃないでしょ。カプセル化よりは、むしろ仮想関数だと思うけど
な。
0777771
NGNGOOとデータ抽象を混同しているつもりは全くないのだが…
しかし、OOの基本の1つとしてカプセル化が含まれる事は間違いない。
いくつもある本質の1つとしてカプセル化を取り上げたのがまずかったのかな?
本質は1つであるべきだと?まあ、そうかもしれないね。
>>772
僕もデータ抽象=カプセル化の時点で気になったのだが、
少し調べたら、まあ、同じ意味で使われることも多いようなので
そのままにしておいた。
言葉の定義で言えば、カプセル化と情報隠蔽も問題になってるね。
情報隠蔽がカプセル化に含まれるか否かってところで。
>>776
インターフェース…というより、メソッドネームを同じくする事は
確かにOOの中ではかなり重要な要素だ。
しかし、「型」という意味で言っているなら、
「インターフェース型」は単なる一技法である。
0778771
NGNGこれは他の人にとっても一般的な定義なのかな?
カプセル化に情報隠蔽の意味を付け加えるかどうかは文脈で変える感じかな。
あと、OOで一番大切なのはメッセージパッシングだと僕は思う
0779Object Oriented Poem
NGNGあなたの心の奥深く 隠された秘密を
僕は暴けない あなたの腕でしか その秘密を暴く事はできない。
どこにいるの?大切な君は
君が誰か知りたいと願っても その答えを僕は求めてはいけない
ぼくは君を君としか呼べないんだ。
僕と君の距離が壊れてしまわないように in the Human system.
thank you.
0780デフォルトの名無しさん
NGNG>設計を後で変更するのが大変なのはオブジェクト指向に関係なく真。
真面目にクラス設計すると、デザパタみたいに、
1つの機能を複数のクラスで実現する形になる。
デザパタとか意識せず、いい加減にクラス設計をすると、
クラス数が少なくて済む事が多い。(個々のクラスは汚いけど)
後者の方が、カスタマイズやメンテナンスが
(見かけ上)楽だと思う人が居て、鬱。
前者のカスタマイズやメンテナンスを簡単にするには、
最低限どういう改良を加えればよいだろうか?
0781デフォルトの名無しさん
NGNGクラス数が多過ぎるのも有害。
0782デフォルトの名無しさん
NGNGオブジェクト指向=モデリング+モジュール化機能
と考えてますが、ポエムですか?
0783kittyちゃん
NGNG例:二世タレント、二世議員
>クラス数が多過ぎるのも有害。
例:インドのカースト制。
士農工商で充分じゃゴラァ
0784デフォルトの名無しさん
NGNG> 継承のし過ぎが有害なのと同様に、
> クラス数が多過ぎるのも有害。
何が「同様」なのかはっきりさせないと、分の前半から後半は導き出せんぞ。
0785デフォルトの名無しさん
NGNG前者(深いクラス階層)について、
・クラス拡張上の柔軟性が低くなる
・理解しにくい
というの反省があって、
・インターフェース継承とか
・オブジェクト・コンポジション
が重視されるようになったんとちゃいますか?
で、オブジェクト・コンポジションの考え方で
差分プログラミングすると、クラス数が増えるんで、
それはそれで理解しにくい/カスタマイズしにくいな、
って言いたかったんですが。
理解してもらえませんか?
0786デフォルトの名無しさん
NGNGいかに名前空間やデザパタで整理するかだな。
0787デフォルトの名無しさん
NGNG0788デフォルトの名無しさん
NGNG0789デフォルトの名無しさん
NGNG何と比較して理解しにくいのかが良く分からん。
0790デフォルトの名無しさん
NGNG「理解し難い」つーてるのは確かにデザパタを分からん奴。
「カスタマイズ/拡張しにくい」つーのはどうよ?
0791デフォルトの名無しさん
NGNG「同様」という言葉の使い方については同意しかねるが、w
785で言っていることの大半は同意する。
その質がどうであれ量が増えれば理解しがたくなるのは当然だね。
(デザパタは理解の助けになるとはいえ、あくまで作る側の指標。
例えば、AdapterとBridgeは同型になるが、作る側には違うものだが、
使う側からはどちらかを判断する事は難しいしする必要もない。
理解の手助けにはメタパタの方が有用だといわれている。
特にフレームワークでは作者がどこをホットスポットに想定してるかは大事な要素。)
話がそれたが、同意しかねる部分がある。
理解のしやすさとカスタマイズのしやすさを同列に扱ってる部分だ。
「理解すればカスタマイズしやすい」のと
「理解してもカスタマイズできない」のでは大違い。
0792デフォルトの名無しさん
NGNG> 「カスタマイズ/拡張しにくい」つーのはどうよ?
インターフェースは細かく分けてあった方が拡張しやすいと思うけど。
0793デフォルトの名無しさん
NGNG・SchemeやRDBMSの動的データ構造に、
アクセサ付けてOOっぽくする、とか、
・SmalltalkのReflection tower
みたいなのは昔からあって、
それに名前を付けてコモン・センスにするのはいーけど。
LispのCONSセルや、RDBMSのColumnsみたいに、
異様に小粒なクラス使って型システムを再構成しているんで、
最早オブジェクト指向っぽくない感じがする...
0794ドメイン愛好家
NGNGhttp://www.amazon.co.jp/exec/obidos/ASIN/4894712989/ref=sr_aps_d_1_1/250-1708863-4365039
てどうよ?
0795
NGNG0796
NGNGオウム真理教の空中浮遊術みたいなもの。
入信させる為にあたかも実在するかのように見せるが、
入信した後はどうでも良くなる。
0797デフォルトの名無しさん
NGNGOOを使いこなせていない症状が多いということでなかろうか。
物事の関係が掴めないからOOに結び付けられないか、
デザパタに頼りすぎて、過度の構造主義に嵌るか。
その中庸の道が上手く示されていけば、OOの良さが説得力を持つ気がする。
(残念ながら、個人的に、そのレベルには達していないと思うが。)
物事の関係が掴めないからOOに結び付けられないタイプは救い様がないかもしれない。
どんなプログラムをやっても、上手いポイントがつけない気がする。
OO終わりというのは、何ゆえかはわからない。ネタか・・・
0798デフォルトの名無しさん
NGNG>OOを使いこなせていない症状が多いということでなかろうか。
であるから OO は技術として不適当であるといえるかもね。
OO は相対性理論なのか常温核融合なのか。
宇宙エネルギーではないと信じたい(w
0799
NGNG「クラスでプログラム書けた」という程度の人が多いんだよね。
本気でイコールだと思ってる人も少なくなかったし。
0800
NGNG「どれだけ再利用性の高いオリジナルのクラスを作れるか」
だと思うんだけど、それを言うと「車輪の再発明」と言って叩いてくるしねー。
0801
NGNGライブラリを並べるだけのコーダーがふんぞり返ってるという
亡国の状況に陥ってるワケ。
0802デフォルトの名無しさん
NGNGOO がやってくる前からずっとそうだね。
ソフトウェア危機だとかいって。
0803デフォルトの名無しさん
NGNG多少気の利いたクラス作るより、(例え標準化されたクラスの
「実装」が多少糞でも)コンセンサスがある程度得られている、
広く知れ渡った、多くの人に試験されていて枯れているクラス
使うほうが、長期的に見てコストかからないと思うよ。
最低でもそういうクラスとインターフェイスくらいあわせと
いたほうがいいかと。
そのライブラリを自前で保守するコストを負担してまで作るほど
のものなのかを判断しないで、すぐ作りたがるアホが多いよね。
自己顕示欲過剰の技術バカ。個人の趣味なら求道精神も構わんが、
会社で他人の金で食って作ってるのに、コスト意識ない奴はいい
加減にして欲しい。
0804デフォルトの名無しさん
NGNGですが、何か?
0805791
NGNGメタパタっていうのはPreeの「デザインパターンプログラミング」で
述べられているメタパターンのことです。
コモンワードだと思って使ったけど他にも使われ方があるのかな?
まあ、ありそうだな。ありきたりな言葉だし。
あと、LispはSmalltalkに影響を与えた3つの言語(Lisp,Logo,Simula)の1つだし
Schemeに至っては、改良前のPlasmaがSmalltalkとSimulaに影響を受けてるし…
Lisp/SchemeとSmalltalkは類似点が結構ある感じだね。
(特に、PlasmaでのCarl Hewittのアクタ理論なんて、かなりOOっぽい)
Lispの「複雑な処理も簡単な原子的処理で構成される」って考え方はOOでも有用だが、
おっしゃる通り最早OOのクラスと言えないほど粒度が小さいね。
0806
NGNG0807デフォルトの名無しさん
NGNGDOA & Reflectionのかほりがしたので
「逝ってよし」とばかりに会社の書棚に放置してました(藁
アナパタ以前の問題ですね。目を通しておきますです...
0808
NGNG0809デフォルトの名無しさん
NGNG0810
NGNG0811デフォルトの名無しさん
NGNG埋まらない気がしてならなら。これって俺だけ?
0812
NGNG恨みは忘れない。
0813デフォルトの名無しさん
NGNGそれがどうしてOOPLと結びつかなきゃならないわけ?
別にHaskellやMLだっていいじゃんよ。
0814デフォルトの名無しさん
NGNGえ
ば
、
ど ?
んなへだたり
0815デフォルトの名無しさん
NGNG0816デフォルトの名無しさん
NGNGメソッドは何だっけ?クラスとメソッドを管理するDB作れ〜。
とかなっちゃったりしますか?厨質ゴメソ。
0817デフォルトの名無しさん
NGNGWin32API の DB はほしいね
0818デフォルトの名無しさん
NGNGで、それはOOのせいじゃあないよね。
結局は設計がクソかどうか。
0819791
NGNG察するによく本を読んでおられるみたいなので、
アドバイスするのは恐縮なんですけど、
だいたい、パターン系で言えば
ttp://www.ogis-ri.co.jp/otc/hiroba/OoBook/BookRanking/patternBook/index.html
辺りの本を読んでいれば、基本的なテクニカルタームは押さえることができると思います。
(とは言っても、僕も全部読んでるわけではないんだけど…w。
今はDesign Patterns Smalltalk Companionを読みたい。)
0820デフォルトの名無しさん
NGNG汎用的なフレームワークとしてのクラスライブラリと、問題領域固有のクラスは別物
でしょう。
C 言語でエディタを書く場合に、
多少気の利いた関数を自分で書くぐらいなら、標準ライブラリ関数を使ったほうが
良いと思うよ
というのと同じぐらい、話がずれてると思う。(標準ライブラリ関数では間に合わない
から自分で書いてるわけで)
0821デフォルトの名無しさん
NGNGカプセル化だけ使ったクラスだったら、それこそ ADT と何ら変わらんわな。
0822デフォルトの名無しさん
NGNG0823デフォルトの名無しさん
NGNGオブジェクト指向の必須要素を挙げるとしたら、何だろう。
0825デフォルトの名無しさん
NGNGAbstract と Concrete を分けて考えて、分けて実装する事。かな。
抽象データ型も多態もこれで説明できるし。
0826デフォルトの名無しさん
NGNGJava の基本的な事から細かく説明してあってすいすい読める。
しかも結城氏は説明の合間合間に「分割して統治せよ!」等、道しるべまで書き記してくれた。
そんな結城氏の言葉も構造化親父は頑固一徹で聞く耳を持たなかった。
本を読み終わり何気なく後ろを見て驚いた。
大量のゴミプログラマーとゴミSEがいたのだ。
結城氏が彼/彼女らの存在に気が付いて必死に「とっとと OO くらい理解してくれ!」と頼んでいいたのだった。
これ以降、結城先生が大好きになったよ、おれ。
0829827
NGNG0830デフォルトの名無しさん
NGNGGoF の言うところの
インターフェースに対してプログラミングせよ
ってやつね。あとは、オブジェクト同士の関係を深く考えることだと思うよ。ADT だと
ADT を抽出して終わりになるところが、
実は、A は B なんじゃないの (A is-a B)
X は A, B, C を要素に持ってるのね
とか言い出すと OO っぽい気がする。
0831デフォルトの名無しさん
NGNGちょとだけウケたよ。
この線でいくと、
「オブジェクト指向の××とかけて、〜ととく、その心は?」
というのはいろいろありそうだね。
0832デフォルトの名無しさん
NGNG0833t&t ◆CudPDzYA
NGNGオブジェクト指向についていろいろ話しましょう
どーせ、アンチOOは一瞬で消えますから
0834デフォルトの名無しさん
NGNGCase by caseって言葉もわかってねぇ。
0835デフォルトの名無しさん
NGNG0836デフォルトの名無しさん
NGNG0837デフォルトの名無しさん
NGNGCOMマンセーってことでよろしいか?
0838デフォルトの名無しさん
NGNG>>825のいっていることと、インターフェースに対してプログラミングせよ、とは
同じなのか?まあいいや。インタフェースが重要であり、中身は気にしなくても
良いようにするというのはカプセル化(隠蔽じゃないよ)でも説明できると
思う。
すぐ実装継承したがる継承猿は逝ってよし、と。
0839デフォルトの名無しさん
NGNGワケの判らん単語並べて勝ったと思うなよ!
0840
NGNGそう言う事はすでにある「オブジェクト指向スレ」でやれ。
誰もレスつけないで放置されているがな。
■ このスレッドは過去ログ倉庫に格納されています