1 名前:デフォルトの名無しさん [04/01/10 14:56] VisualBasicやCといった手続き型言語をずっとやってきた人が、 C#やJavaといったオブジェクト指向言語をマスターする場合 オブジェクト指向の概念・概論を学ぶのが先がいいのか、 それとも、C#やJavaの言語を学ぶのが先がいいのか、 どっちがいいと思われますか。
331 名前:306 mailto:sage [2005/05/21(土) 15:12:37 ] >>328 了解……出来るように頑張ります Pascal の 『レコード型』 とか、C の 『構造体型』 とかと同じように考えると、class では 『クラス型』 を定義している筈。 しかし生成物の方は 『レコード型のレコード』 『構造体型の構造体』 とは異なり 『クラス型のインスタンス』 だから、 前2者に揃える場合、これを 『オブジェクト型のオブジェクト』 にしたほうが簡潔ではないかと思いまして。
332 名前:デフォルトの名無しさん mailto:sage [2005/05/21(土) 15:13:00 ] >>330 正解
333 名前:デフォルトの名無しさん mailto:sage [2005/05/21(土) 15:31:29 ] ドーナツの穴について話す時、 「ドーナツ」という単語が付いていると、あたかも「ドーナツ」が存在しているかのように感じる。 だから、「穴の穴」というのが正しいぃぃぃぃーーーーーーーーーーーーーー
334 名前:デフォルトの名無しさん mailto:sage [2005/05/21(土) 15:33:18 ] 「ドーナツの穴」って、まるで穴の部分にドーナツがみっちり詰まってるみたいで、誇大広告だよな(ピーヒャラ
335 名前:デフォルトの名無しさん mailto:sage [2005/05/21(土) 15:35:15 ] 人間という単語と、その実体を考えるとき、 実体は単なる人なのに、 単語に「間」という漢字がついているのが、直感に反する。 これからは、「人間」という単語を使うのはやめよう
336 名前:デフォルトの名無しさん mailto:sage [2005/05/21(土) 15:49:42 ] >>333-334 スレ違い。こっち行け ドーナッツの穴は空洞か存在か? academy3.2ch.net/test/read.cgi/philo/1049436081/l50
337 名前:デフォルトの名無しさん mailto:sage [2005/05/22(日) 08:11:20 ] >>306 そのobjectってVBでいうところのモジュールだよな? classと違うだろ。
338 名前:デフォルトの名無しさん [2005/05/24(火) 06:19:22 ] おれはstructで構造体の構造が定義されてるって自然に感じるけどな んでその構造を持つ変数を同時に生成することもできると
339 名前:デフォルトの名無しさん [2005/05/24(火) 09:52:10 ] >>331 PascalやCのほうを『レコード型のオブジェクト』、『構造体型のオブジェク ト』って思ってみては? オブジェクトとインスタンスは、まぁ、同義ということで。
340 名前:306 mailto:sage [2005/05/24(火) 17:24:00 ] 色々とすまなかった。整理したら間違いに気付いたよ。 こんな馬鹿をやったのは久しぶりだ。今は後悔している OTL 【正しいこと】 ・C# の 《クラス》 には 『クラス』 『インタフェイス』 『構造体』 の3種類が存在する ・『インタフェイス』 と 『構造体』 は、Object クラスを継承している 【俺が間違っていたこと】 ・《クラス》 と 『クラス』 を混同し、宣言時のキーワード 「class」 が主に 《クラス》 を指す物と考えてしまった ・『クラス←構造体』 に代表される 「言語系外での継承」 が、一般の継承と完全に同じであると信じて疑わなかった その結果、俺は 「class」 と 「struct」 が同一レベルの概念ではないと錯覚した そして、「class」 と 「struct」 のレベルを同じにしようと思い、「class」 を 《クラス》 から 『クラス』 にするために 「《クラス》 には 『オブジェクト』 『インタフェイス』 『構造体』 の3種類が存在する、と言い換えたらどうか」 と提案した (>>306 ) (実際は 「class」 は 『クラス』 であり、単なる言葉遊びだった orz)
341 名前:最凶VB厨房 mailto:sage [2005/05/25(水) 00:25:55 ] 全く意味わからんなw 【正しいこと】に書いてある内容が正しくない。
342 名前:デフォルトの名無しさん mailto:sage [2005/05/25(水) 00:36:00 ] だからまず国語を勉強するべきだって。 つまり言語学習を先にするべき。
343 名前:306 mailto:sage [2005/05/25(水) 13:28:06 ] >>342 悪い。相変わらず間違えてたみたい。 ===== 「C# の 《クラス》 には 『クラス』 『インタフェイス』 『構造体』 の3種類が存在する」 ってのは、 「Java の 《クラス》 には 『クラス』 『インタフェイス』 の2種類が存在する」 っていうどっかの本の台詞のパクリだった この 《クラス》 は、Smalltalk のメタクラスに該当するんかな。よく分からんけど それはともかく、構造体はクラス階層の中に含まれているから、よく考えたらこの中に入れちゃいけないのかもしれない ===== インタフェイスは対応するクラスが無いから、Object から派生しているとは言えないでした (ただし、インタフェイスを実装したクラスのインスタンスは Object であることは確定なので、Object として扱える) ここのところは訂正しておきます
344 名前:306 mailto:sage [2005/05/25(水) 13:38:42 ] 結局、まだ理解できていないことは 実質 「class StructA: System.Struct { 〜 }」 なクラスを 「struct StructA { 〜 }」 と記述させる C# において、 キーワード 「class」 と 「struct」 を同列に置くことが果たして妥当なのかどうか つまり System.Struct からの実際の継承は、神の領域において行われる (ソースとして記述できない) が、 神の領域において、結局はクラスである構造体が、クラスと同じレベルまで昇進しているのかどうか ……自分でも未だ混乱していることがありありと分かりますな あとで Smalltalk でも勉強しよう……
345 名前:最凶VB厨房 mailto:sage [2005/05/25(水) 19:09:30 ] 間違った前提知識からは(正しい推論をしたとしても)間違った結論しか得られんぞw 実質〜の部分が既に間違ってますがなw MSDN読め
346 名前:デフォルトの名無しさん mailto:sage [2005/05/25(水) 19:15:01 ] 太陽が西から昇るなら、このレスは346である
347 名前:デフォルトの名無しさん mailto:sage だsageだsage持ってこーぃ [2005/05/25(水) 19:24:49 ] www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/csref/html/vcrefStructTypes.asp 解説 struct 型は、Point、Rectangle、Color などの軽量のオブジェクトを表すのに 適しています。点はクラスで表現できますが、一部の事例では構造体の方が より効果的です。たとえば、1,000 個の Point オブジェクトから成る配列を 宣言する場合は、各オブジェクトの参照用に新たにメモリが割り当てられます。 この場合は、構造体を使用した方がリソースを使用しません。 構造体に対して既定の (パラメータなしの) コンストラクタを宣言するとエラー になります。構造体メンバを既定値に初期化する既定のコンストラクタが常備 されています。 構造体のインスタンス フィールドを初期化するとエラーになります。 new 演算子を使用して struct オブジェクトを作成すると、オブジェクトが作成 されて適切なコンストラクタが呼び出されます。クラスとは異なり、構造体は new 演算子を使用せずにインスタンスを作成できます。new を使用しなかった 場合、各フィールドは未割り当てのままになり、すべてのフィールドが初期化 されるまでオブジェクトを使用できません。 クラスには継承がありますが、構造体には継承がありません。構造体は、 他の構造体やクラスから継承できず、基本クラスになれません。 ただし、構造体は、基本クラス Object から継承します。 構造体は、クラスの場合とまったく同じ方法でインターフェイスを実装できます。 C++ とは異なり、キーワード struct を使用してクラスを宣言できません。 C# では、クラスと構造体は、意味が異なります。構造体は値型ですが、 クラスは参照型です。 値型の機能の詳細については、「値型」を参照してください。
348 名前:306 mailto:sage [2005/05/25(水) 21:23:41 ] >>347 あ、もしかして struct って System.Struct の継承じゃない……のか? でもインスタンスを作成しているわけじゃないし……なんなんだろう。 ===== それはともかく、え〜っと……アロエリーナに聞いたらヒントを教えてくれました。 >キーワード 「class」 と 「struct」 を同列に置くことが果たして妥当なのかどうか 「妥当じゃないです」 >クラスである構造体が、クラスと同じレベルまで昇進しているのかどうか 「そんなわけないです。クラスと構造体は別物」 >じゃあ、クラスと構造体はどうして同じような構文になっているの? 「それが利便性ってもんです」 ……俺、この時点で納得しちゃって良い? 「クラス定義と構造体定義は別物だけど、分かりやすいように同じ構文になっている」 で OTL
349 名前:デフォルトの名無しさん mailto:sage [2005/05/25(水) 21:38:25 ]
350 名前:306 mailto:sage [2005/05/25(水) 21:43:54 ] …… System.Struct なんて無いじゃん orz 昼間俺が見てたのは幻か〜 orz え〜っと……ってことは、struct は実質 System.ValueType の継承……じゃなくて…… 「struct で定義した構造体は、オブジェクト指向の世界からは System.ValueType を継承したオブジェクトのように見える」 ……で良いんか?
351 名前:デフォルトの名無しさん mailto:sage [2005/05/25(水) 21:53:05 ] 構造体はオブジェクト指向の外に属するのん?
352 名前:デフォルトの名無しさん [2005/05/26(木) 00:49:27 ] なにこの素人?
353 名前:デフォルトの名無しさん mailto:sage [2005/05/26(木) 08:53:23 ] ちょっとありえないバカだな。 知識がないだけなら調べることで補えるが、 知識がないことに自覚がない上に無根拠な自信に満ち溢れて混乱した言葉を垂れ流すレベルになると 矯正はかなり困難。
354 名前:デフォルトの名無しさん mailto:sage [2005/05/26(木) 08:57:33 ] 構ってクンのつまらんネタだな
355 名前:デフォルトの名無しさん mailto:sage [2005/05/26(木) 08:59:58 ] 考えるな、推測するな、勝手に言葉を定義するな。仕様書を読め。
356 名前:構ってクンうざい mailto:sage [2005/05/26(木) 09:21:27 ] >>355 >>347
357 名前:デフォルトの名無しさん mailto:sage [2005/05/26(木) 16:05:10 ] >>1 まあ、その問題は、エロ本によるオナニーがさきか、それとも 実戦のセックスが先か、みてーなもんだ。どっちにも固有の良さはある。 でも、いつまでもオナニーに留まってるわけにはいかない。 そーゆーもんだ。
358 名前:デフォルトの名無しさん mailto:sage [2005/05/26(木) 19:11:11 ] >>1 > VisualBasicやCといった手続き型言語をずっとやってきた人が、 > C#やJavaといったオブジェクト指向言語をマスターする場合 > オブジェクト指向の概念・概論を学ぶのが先がいいのか、 > それとも、C#やJavaの言語を学ぶのが先がいいのか、 > どっちがいいと思われますか。 1. オブジェクト指向の概念・概論を学ぶ 2. その概念を、ずっとやってきたVisualBasicやCで実現してみる 3. 次にC#やJavaの言語を学び、2でやっていたことが言語のprimitiveとして 存在することの良し悪しを考察する 4. VB5ってある意味オブジェクト指向の塊だよなあと感慨にふける
359 名前:306 mailto:sage [2005/05/26(木) 20:13:05 ] >>352-355 おお、なんか世界の裏まで知り尽くしているっぽい発言ですな 恐れ入ります で、結局 「C# の構造体」 って何者なんでしょね
360 名前:306 mailto:sage [2005/05/26(木) 20:22:49 ] >>353 >>355 『使うだけ』 ならば仕様書を読めば事足りる 細部まで理解したいのならば、それだけじゃ全然足りない ……って素直に思った 最低だな俺 OTL っていうかそれ以前に仕様書をマトモに読めよって OTL どうする?NG登録したければコテ付けるけど、それとも 306 のままで良い?
361 名前:デフォルトの名無しさん mailto:sage [2005/05/26(木) 20:24:40 ] 306でおっけーです。NG登録しときました。
362 名前:306 mailto:sage氏にたいですorz [2005/05/26(木) 20:27:33 ] 去るってのも選択肢の1つか……って、そういやもうネタ無いじゃないか メモ帳にしちまって正直すまんかった OTL もうちょっと精進できるよう頑張ってみるよ
363 名前:デフォルトの名無しさん mailto:sage [2005/05/26(木) 20:31:57 ] NG登録完了 でも、>>360 にはとりあえず同意しておく 「全然足りない」ときに「自己流の解釈をする」ってのは方法として間違っていると思うが
364 名前:306 [2005/05/26(木) 21:37:10 ] 306じゃないけど これ入れとけば 誰にも見つからないってわけか 3060でもいいのかな?
365 名前:デフォルトの名無しさん mailto:sage [2005/05/26(木) 21:42:56 ] 0306=198 0x306=774
366 名前:デフォルトの名無しさん mailto:sage [2005/05/27(金) 00:31:07 ] 童貞ですがなにか?
367 名前:デフォルトの名無しさん mailto:sage [2005/05/27(金) 00:33:08 ] おねぇさんのマンコ貸してあげようか?
368 名前:偽306 [2005/05/27(金) 05:32:30 ] 言語学習する前に概念をさらっと学ぶ必要はあるよな そしてその実例を言語学習で学ぶと概念が身に付く 車の両輪を右から作るか左から作るか悩むようなもので あまり意味のある質問とは言えませんよ>>1
369 名前:デフォルトの名無しさん mailto:sage [2005/05/27(金) 06:15:25 ] 0b306: Syntax Error
370 名前:デフォルトの名無しさん mailto:sage [2005/05/27(金) 12:34:10 ] ▂ ▂ ▄ ▄ ▄ ▄ ◢░ ▄▀ ▀▄ ░◣ ▌▐▄▀ ▌▐▄▀ ▐░:: ░▍ ▐▓░:: ▄ ░▍ ▐▓░░::░:: ▀▀▀▀▀▀▀▀ ░▓▍▅ ▅ ▄▄▄▄ ▐▓▓░░░::░::: :::░::░▓▍ ▊ ▋ ▐▓▓▓░░░::░::░::::: :: :: ::::░::░░░░░░▓▓▍ ▐▄▌ ▀█▓▓▓░▓░░::░:::░:::::::░::░░░░░▓░▓▓▓▌ ▄▅▀
371 名前:デフォルトの名無しさん [2005/05/27(金) 14:43:02 ] >>370 おおー ヴィジュアル系!
372 名前:デフォルトの名無しさん [2005/06/05(日) 21:47:37 ] カプセル化と継承ってオブジェクト指向の機能だけど ポリモーフィズムは機能じゃないよね? 継承を利用したデザインパターンだと思うんだけど 識者の意見をお聞きしたい。
373 名前:デフォルトの名無しさん mailto:sage [2005/06/05(日) 21:51:23 ] >>372 ・カプセル化はオブジェクト指向の機能ではない ・継承はオブジェクト指向の機能だが、必須ではない ・ポリモーフィズムには多数の種類がある。 貴方が遅延バインディングについて言いたいのだと推測すると、それはオブジェクト指向の機能 ・遅延バインディングは継承を利用しているが、それをわざわざもったいぶって「デザインパターン」と呼ぶのもどうかと思う
374 名前:デフォルトの名無しさん mailto:sage [2005/06/05(日) 21:52:28 ] ん? 2行目と3行目は矛盾している気がするが、とりあえず継承有りのオブジェクト指向を考えてくれ
375 名前:デフォルトの名無しさん [2005/06/05(日) 22:05:53 ] >遅延バインディングは継承を利用しているが、それをわざわざもったいぶって「デザインパターン」と呼ぶのもどうかと思う まぁ、じっくり騙ってくれ、その概念を
376 名前:デフォルトの名無しさん mailto:sage [2005/06/05(日) 22:06:59 ] >>373 それなんてエロゲ?
377 名前:デフォルトの名無しさん mailto:sage [2005/06/05(日) 22:47:09 ] ▂ ▂ ▄ ▄ ▄ ▄ ◢░ ▄▀ ▀▄ ░◣ ▌▐▄▀ ▌▐▄▀ ▐░:: ░▍ ▐▓░:: ▄ ░▍ ▐▓░░::░:: ▀▀▀▀▀▀▀▀ ░▓▍▅ ▅ ▄▄▄▄ ▐▓▓░░░::░::: :::░::░▓▍ ▊ ▋ ▐▓▓▓░░░::░::░::::: :: :: ::::░::░░░░░░▓▓▍ ▐▄▌ ▀█▓▓▓░▓░░::░:::░:::::::░::░░░░░▓░▓▓▓▌ ▄▅▀
378 名前:372 mailto:sage [2005/06/05(日) 22:51:30 ] >>373 遅延バインディングという概念は分かりませんが、 Javaで例えるとカプセル化の為にprivateという修飾子があり、 継承にはextendsという機能がありますよね? でもポリモーフィズムには言語の機能としては何もなく 継承を利用したデザインパターン(ストラテジー?)じゃないかと 思うのです。 >ポリモーフィズムには多数の種類がある。 これは詳しい解説キボンヌです。
379 名前:デフォルトの名無しさん mailto:sage [2005/06/05(日) 23:18:50 ] >>378 > でもポリモーフィズムには言語の機能としては何もなく >>373 はそれがlazy bindingだという話だろ?
380 名前:373じゃないが mailto:sage [2005/06/05(日) 23:20:13 ] >>378 > >ポリモーフィズムには多数の種類がある。 > これは詳しい解説キボンヌです。 adhoc polymorphism, inclusion polymorphism, parametric polymorphismの3つは 理解しておいたほうがいい。
381 名前:デフォルトの名無しさん [2005/06/05(日) 23:53:07 ] >遅延バインディングは継承を利用しているが、それをわざわざもったいぶって「デザインパターン」と呼ぶのもどうかと思う まぁ、じっくり騙ってくれよ
382 名前:デフォルトの名無しさん [2005/06/06(月) 02:41:09 ] プログラムがオブジェクト指向たる条件ってなに?
383 名前:デフォルトの名無しさん [2005/06/06(月) 02:48:32 ] >>382 本質的には、クラスという設計図をもとに、インスタンス(オブジェクト)を生成して使う仕組み。 カプセル化とかポリモーフィズムとかは、どちらかと言うとオマケ的な機能だ罠。
384 名前:デフォルトの名無しさん mailto:sage [2005/06/06(月) 02:51:27 ] ・クラスを重視するのは、むしろクラス指向なのでは? ・それだと、モジュール指向や抽象データ型とあまり区別がなくなるのでは?
385 名前:382 [2005/06/06(月) 02:59:55 ] 思うに、 ・対象をデータ構造に抽象化・カプセル化し、カプセル化されたデータの関数であるメソッドを持つ。 →データそのものであり、またデータを操作する主体である。 ・抽象されたものの集合の内包⇔外延関係が、派生という方法によって積極的に表現されている。 ということではないかと思うんだけど。どうでしょう?
386 名前:382 [2005/06/06(月) 03:10:17 ] カプセル化と書いてしまったけど、>>383 が書いている通り、 確かにカプセル化はオブジェクト指向の本質ではないと思うんです。 しかし、ポリモーフィズムに関しては、例えば自然言語というのは、 「抽象されたものの集合の内包⇔外延関係(例:犬⇔コギー)」によって構成・表現されている。 その自然言語の構造を踏襲するならば、この関係を積極的に表現する 派生という方法をOOPが持つのは、極自然に感じます。
387 名前:デフォルトの名無しさん mailto:sage [2005/06/06(月) 13:05:02 ] >>378-379 adhoc: interfaceのimplements inclusion: class, interfaceのextends parametric: C++のtemplateか
388 名前:デフォルトの名無しさん mailto:sage [2005/06/06(月) 14:12:43 ] >>387 adhocはC++のfunction overloadingが典型例。 C++のtemplateはparametricとは言い切れない。型的に。
389 名前:デフォルトの名無しさん mailto:sage [2005/06/06(月) 19:42:40 ] …えーと、よく解らないんだけど 「カプセル化されてないオブジェクト」って 有り得るの?想像付かない…
390 名前:デフォルトの名無しさん mailto:sage [2005/06/06(月) 19:50:25 ] struct point { int x, y}; とかじゃないか
391 名前:デフォルトの名無しさん mailto:sage [2005/06/06(月) 20:02:25 ] いつの間にか、話がムチャクチャな素人にかき回されてるな。 ブログラムもロクに書けない素人が平日昼間からシャシャリ出るな、と。
392 名前:デフォルトの名無しさん mailto:sage [2005/06/06(月) 22:15:57 ] >>387 adhoc polymorphismは、overloadingとcoersion (i.e. int < float) inclusion polymorphismは、例えばinheritanceの事。 parametric polymorphismは・・・C++ templateがお気に召さないなら、OcamlかJava Genericsでどうよ。 上記二つをまとめて universal polymorphismと呼ぶ。 >>373 下記の発言は一体どういう文脈の話なのか、ちゃんと説明しろよ > ・ポリモーフィズムには多数の種類がある。 > 貴方が遅延バインディングについて言いたいのだと推測すると、それはオブジェクト指向の機能 > ・遅延バインディングは継承を利用しているが、それをわざわざもったいぶって「デザインパターン」と呼ぶのもどうかと思う
393 名前:デフォルトの名無しさん mailto:sage [2005/06/06(月) 22:17:09 ] int < float つうと型パラメータみたいだな。 int number < float numberという比較演算子は、coersionとして実装される事が多い、と。
394 名前:デフォルトの名無しさん mailto:sage [2005/06/08(水) 12:59:46 ] >>392 >下記の発言は一体どういう文脈の話なのか、ちゃんと説明しろよ >> ・ポリモーフィズムには多数の種類がある。 ん? 「ポリモーフィズムは……」って聞かれたんでランタイムポリモーフィズムを想像したけど、 ランタイムじゃないポリモーフィズムももちろんあるって忠告したかっただけ テンプレートだとかメソッドのオーバーロードだとか、#if 〜 #endif でさえ 『ポリモーフィズム=多様』 で括れるし
395 名前:デフォルトの名無しさん mailto:sage [2005/06/08(水) 13:01:25 ] って言うか数レス前で既に出た話ですねスマヌ orz
396 名前:デフォルトの名無しさん mailto:sage [2005/06/09(木) 00:44:21 ] なんだ、やっぱ変な人が妄想騙ってただけか
397 名前:デフォルトの名無しさん mailto:sage [2005/06/09(木) 20:23:07 ] >>396 自分が理解できないからって変人扱いすることは筋違いだとか、 そもそも勉強中の人を変人扱いすることは筋違いだとか思った いや、俺もオーバーロードがポリモーフィズムの一種だと聞いたときには「ハァ?」だったわけだが
398 名前:392 [2005/06/09(木) 21:14:58 ] はぁ? >遅延バインディングは継承を利用しているが、それをわざわざもったいぶって「デザインパターン」と呼ぶのもどうかと思う これをまともに解釈するのは無理ってもんじゃないか?(hahaha
399 名前:デフォルトの名無しさん [2005/06/09(木) 21:17:42 ] だいたい >>387 、>>392 の後で、 >>394 みたいなタワケタ言い訳してる時点で終わってるよ
400 名前:デフォルトの名無しさん [2005/06/09(木) 21:18:34 ] だいたい >>387-388 、>>392-393 の後で、 >>394 みたいなタワケタ言い訳してる時点で終わってるよ
401 名前:373 mailto:sage [2005/06/09(木) 21:20:38 ] 悪い。普通に 「遅延」 って言ったが 「動的」 の間違いだった罠 (´・ω・`) あたま超混乱してます現時点で。 ……けど、「それを〜」 以降を訂正する気は全く無い。
402 名前:デフォルトの名無しさん [2005/06/09(木) 21:26:07 ] はぁ? >動的バインディングは継承を利用しているが、それをわざわざもったいぶって「デザインパターン」と呼ぶのもどうかと思う これもまともに解釈するのは無理じゃないか?(pupupu
403 名前:373 mailto:sage [2005/06/09(木) 21:27:36 ] 間違っているのがどこだか分からん 俺の頭か (^_^;
404 名前:デフォルトの名無しさん mailto:sage [2005/06/09(木) 21:30:27 ] えぇ〜と、 勉強中の人が「〜と理解しましたが、どうでしょう」と書くのは普通だが、 元々ろくすっぽ勉強する気もない荒らしが、掲示板で聞きかじった断片知識を >>373 のように書いてしまうのは、なかなか痛い行為だと思った。
405 名前:373 mailto:sage [2005/06/09(木) 21:35:54 ] いや、断片知識のほとんどが書籍からやわ
406 名前:373 mailto:sage [2005/06/09(木) 21:56:43 ] ……謙虚に成りたい
407 名前:デフォルトの名無しさん mailto:sage [2005/06/09(木) 22:02:27 ] 英語だけどこれがわかりやすい。 On Understanding Types, Data Abstraction, and Polymorphism citeseer.ist.psu.edu/cardelli85understanding.html
408 名前:デフォルトの名無しさん mailto:sage [2005/06/09(木) 22:07:45 ] ここに内容が一部紹介されている。 www.mamezou.com/tec/equip001.htm
409 名前:デフォルトの名無しさん mailto:sage [2005/06/09(木) 23:29:59 ] 言語はCさえ理解してれば十分 他の言語の文法は必要になったら覚えろ オブジェクト指向でも構造化でも、3日後に自分で理解できるコード書いてくれればなんでもいいよ……
410 名前:デフォルトの名無しさん mailto:sage [2005/06/09(木) 23:34:08 ] >>409 程度の低いところにお勤めですな(w 経験上、今時Cだけ知っててC++を知らない人は、実はCを良く理解していない ことが多い Cのあの糞ったれな宣言シンタクスを難なく読みこなせる程度でないと、 C++は無理だな
411 名前:デフォルトの名無しさん mailto:sage [2005/06/09(木) 23:41:55 ] >>407-408 基本的に>>392 と同じ。リファレンス [Cardelli & Wegner '85]って、もう20年も前の話か。 10年前のOOには、Genericsに代表されるような柔軟な型システムや 関数型言語(HOPE〜SML, Haskell)の型推論とか ほとんど取り入れられていなくて、知恵遅れの村に来た感じがして嫌だった。 普及型のOO言語は、ようやく20年前の水準に追いついたわけね。
412 名前:411 [2005/06/09(木) 23:48:07 ] えぇ〜とぉ、 >>373 相変わらず概念と単語が混乱しているようだが、あんたが言いたかった前半は、 (>>372 が「ポリモーフィズムはオブジェクト指向の機能ではないと言ったが) Subtype polymorphiscm (継承による多態)は継承によるものである。 といったところか。で、後半部分 > それをわざわざもったいぶって「デザインパターン」と呼ぶのもどうかと思う は相変わらず前半とつながんねぇな。
413 名前:デフォルトの名無しさん mailto:sage [2005/06/10(金) 00:00:40 ] >>412 単なるポリモーフィズムを「これはデザインパターンだ!」と言いたくは無い って言いたかったんや……
414 名前:デフォルトの名無しさん [2005/06/10(金) 00:02:02 ] だから何それ?意味わかんねぇよ、あんたの文章は
415 名前:デフォルトの名無しさん mailto:sage [2005/06/10(金) 00:03:23 ] 一丁前にプログラム言語なんか勉強する前に、先ずは日本語を勉強しとけってことか。
416 名前:デフォルトの名無しさん [2005/06/10(金) 00:07:20 ] 「単なるポリモーフィズムを、デザインパターンだ!」と主張するような奴は、普通の所には居ない。 上でさんざんあんたがやってきたように、相変わらず単語や概念が無茶苦茶なまま理解して、 それを匿名掲示板に書き殴ってるだけじゃねぇの?
417 名前:373 mailto:sage [2005/06/10(金) 00:12:59 ] >>416 >「単なるポリモーフィズムを、デザインパターンだ!」と主張するような奴は、普通の所には居ない 俺は 372 がこのことを主張したいように感じ取った。そして↑と同じ考えを書きなぐった。 ただそれだけなんだ…… orz
418 名前:デフォルトの名無しさん mailto:sage [2005/06/10(金) 00:30:40 ] >相変わらず単語や概念が無茶苦茶なまま理解して そうか……端から見ればそう見えるのか。っていうか8年も Java の本めくってて何も身についてないですか orz 市にてぇ……
419 名前:デフォルトの名無しさん mailto:sage [2005/06/10(金) 00:44:21 ] 文法はCさえ知っていれば3日で覚えらえっる 概念にかんしてはオブジェクト指向の概念というより もっと一般的なことを認識してほしい
420 名前:デフォルトの名無しさん mailto:sage [2005/06/10(金) 09:27:48 ] >>417 確かに元の質問>>372 は得体が知れないな。 Garbage In , Garbage Out の典型だな
421 名前:デフォルトの名無しさん [2005/06/11(土) 16:03:50 ] CとJavaとC#を勉強しているのですが、C++だけやってません。 やはりC++はやったほうがよいでしょうかね? C#できればいらない?
422 名前:デフォルトの名無しさん mailto:sage [2005/06/11(土) 16:07:24 ] >>421 CとC#とjavaができるならC++の習得も(たぶん)容易だからやっとけば? templateの強力さに感動せよ。
423 名前:デフォルトの名無しさん mailto:sage [2005/06/11(土) 16:22:02 ] >>421 必要になったときで間に合うと思う 簡単なサンプルコードがC++で書いてあっても ならJavaとC#ができれば概略はつかめるし >>422 templateの真髄に突っ込むと火傷するよ…… 感動するのは同意
424 名前:デフォルトの名無しさん mailto:sage [2005/06/11(土) 20:34:54 ] >>421 つうか、templeteのエラーメッセージの難解さに挫折すんなよ いまや、C++は標準ライブラリでtempleteつかってからな
425 名前:デフォルトの名無しさん mailto:sage [2005/06/12(日) 03:09:33 ] 単発質問厨房:無意味な質問をして、レスが伸びるように誘導するだけの厨房。 相手にするだけ時間の無駄。つうか大抵自作自演でスレの話題を断ち切るだけの荒らし。
426 名前:デフォルトの名無しさん mailto:sage [2005/12/23(金) 17:47:39 ] 400超えのスレで何言ってんだよ
427 名前:デフォルトの名無しさん [2006/01/13(金) 18:55:39 ] 初心者なの レベル高すぎなの 頭パンパンなの
428 名前:デフォルトの名無しさん mailto:sage [2006/01/15(日) 20:46:33 ] 概念学習が先です C++使ってるくせにC以下のプログラム多すぎ
429 名前:デフォルトの名無しさん [2006/01/17(火) 03:19:50 ] >>428 すまん。ホントスマン。 実は、あんまりCも分かってないんで、勘弁してくれ、 できればお勧めのCとC++の参考書を教えてくれ。
430 名前:デフォルトの名無しさん mailto:sage [2006/01/17(火) 04:37:46 ] 両方同時でしょ。 野球選手に体力と技術どっちが先に必要かって言ってるようなもんだ。
431 名前:デフォルトの名無しさん [2006/01/17(火) 06:00:40 ] 英語力も大事だね ちゃんとしたプログラマのコードは英文として読めるけど 英語がダメなやつのコードは分けわかんねえ
432 名前:デフォルトの名無しさん mailto:sage [2006/01/17(火) 11:00:09 ] メリケンの書いた糞コードは無視ですか
433 名前:デフォルトの名無しさん [2006/01/17(火) 14:03:31 ] >>427 自分の理解能力を超えてやっても頭に入らない これは学習スピードなども含んでいる 少しずつでも良いので理解を進めていけ 仕事で即時性を求められているなら理解しないでも作業を遂行できる能力を身に付けろ
434 名前:デフォルトの名無しさん mailto:sage [2006/01/17(火) 14:23:47 ] まぁ、そういう事を考える前に、勉強なり手を動かすのが先だな。
435 名前:デフォルトの名無しさん [2006/01/17(火) 18:58:49 ] オブジェクト指向の概念は「もの」指向だろ・・・。 その「もの」指向をどのように実現するかを言語を通して学ぶ。 概念が解っていなければ本当の意味で良い物は作れないし、 作るためには言語を理解していなければならない。 どっちが先ってもんでもないと思うが・・・。 これにて終了でどうでしょう。
436 名前:マイク ◆yrBrqfF1Ew mailto:sage [2006/01/17(火) 19:16:34 ] オブジェクト指向なんてプログラミングをする上での考え方に過ぎない 馬鹿万能崇拝者がいるけど、あんなの本末転倒ですよ;)
437 名前:デフォルトの名無しさん mailto:sage [2006/01/17(火) 21:23:09 ] >>436 今そんなこと話してないし
438 名前:デフォルトの名無しさん mailto:sage [2006/01/17(火) 21:40:45 ] オブジェクトにこだわるとC++なんて糞言語使ってられなくなるのが普通
439 名前:デフォルトの名無しさん mailto:sage [2006/01/18(水) 03:23:23 ] >>438 そこまでは言わないにしても、言語を使いながら学習していく場合には 適さないと思います<C++ もっと素直で筋のよさそうな言語から始めるのがよいかと。 本命はやはりSmalltalkなんですかねぇ、でも今だとOOをサポートした スクリプト言語を使うのがよさそうな気がします。 スクリプトなら余計なお約束はほとんど考えずにちょっと書いて ちょっと試すことができるし、静的型が無い場合が多いと思うので 必然的にC++のvirtualみたいな歪んだものを扱わなくてよいし。
440 名前:デフォルトの名無しさん [2006/01/18(水) 13:00:31 ] >>439 オブジェクト指向系のスクリプト言語はちょっとした試行を行う際には良いが システムの構築と言った要件には使うべきではない
441 名前:デフォルトの名無しさん mailto:sage [2006/01/18(水) 15:10:03 ] >>440 不適とする理由は?
442 名前:439 mailto:sage [2006/01/18(水) 16:05:31 ] >>440 あくまで学習目的のつもりで書きました。 そういう用途であれば素直に書ける言語が良いかなぁと。 規模が大きくなった場合にどうなるかはやったことがないので何とも。 「硬さ」が足りない部分を、十分なUnitTestで補えれば化けそうな気もするのですが……
443 名前:デフォルトの名無しさん [2006/01/18(水) 19:12:46 ] スクリプト言語の弱点はスケーラビリティにあるんじゃない?
444 名前:デフォルトの名無しさん mailto:sage [2006/01/18(水) 19:40:18 ] >>443 それこそ設計次第では?
445 名前:デフォルトの名無しさん mailto:sage [2006/01/18(水) 20:07:22 ] 言語の仕様による話だが、スクリプト言語によってはスケーラビリティを考慮した アーキテクチャを取れないものがあると思う。 東証のプログラムとか銀行の基幹系システムをGroovy、Ruby、PHPで作れると思うかい?
446 名前:デフォルトの名無しさん mailto:sage [2006/01/18(水) 20:17:20 ] >>445 メインフレームのバッチ処理という話であれば無理。 しかしながらそれは言語仕様によるものではない。 そもそもと金融システムでここ数年で出しゃばってきた手法を採用することはまずない。 なのでどうも実感がわかない。 もうちょい答えやすい例を挙げてくれるとうれしいです。 もしくはあなたが用意している答えを聞きたいです。
447 名前:デフォルトの名無しさん mailto:sage [2006/01/18(水) 20:26:48 ] googleではpythonが広範囲で使われてるらしいやね どの程度の規模なんだろうな
448 名前:デフォルトの名無しさん mailto:sage [2006/01/18(水) 21:45:50 ] > そもそもと金融システムでここ数年で出しゃばってきた手法を採用することはまずない。 なぜ金融システムは保守的なのか? その答えの一つにスケーラビリティ重視があるからではないだろうか? スクリプト言語もチューリングマシンを標榜する以上、JavaやC++と同じ事は実現できる。 しかし、システム構築は言語だけで行われるものではなく、動作環境、フレームワーク、 ライブラリといったものに強く依存する。 言語仕様、環境、ツールといったものが渾然一体となり、文化が形成され、その文化の中で 設計思想というものが生まれるのだ。 つまり、同じシステムを構築しようとしてもスクリプト言語を使う場合とJavaやC++を使う場合で 設計は自ずと異なってくるのだ。 そして設計が異なると、その長所、短所も異なってくる。 結局のところ適用分野の住み分けが 起こってくるのは当たり前のことだと考えている。
449 名前:デフォルトの名無しさん mailto:sage [2006/01/18(水) 22:00:48 ] >>448 保守的・・・私が思いつくのはCOBOLやCでごりごり書いたものを実績があるからと言う理由で後生大事に流用してると言う状況です。 全銀手順で2400bpsみたいな。 能書きはいいからちゃっちゃとまともに動かせや。と言う分野だと認識しています。 >言語の仕様による話だが、スクリプト言語によってはスケーラビリティを考慮した >>448 さんは言語仕様ではなくソフトウェア資産の差が問題であるという認識なのですね。 PerlにはCPANがありますし、CLIな言語では垣根がなくなって来ていますから、状況は変わってくるかもしれませんね。
450 名前:デフォルトの名無しさん [2006/01/19(木) 06:39:26 ] Perlは論外では?
451 名前:デフォルトの名無しさん mailto:sage [2006/01/19(木) 12:03:11 ] やはり静的な型チェックを行う型づけの強い言語の方が大きいシステムには 向いていると思う。 ソースの意図が見て分かりやすいし、コンパイラが静的にチェックできる 意味は非常にデカい。 スクリプト言語は簡単な仕事を簡単に片付けることを重視して作られている から、一人で片付けるようなちょっとした仕事には非常に向いているが、 それで大規模なシステムを構築しようという気にはならん。 Perlはなあ。暗黙のグローバル変数の乱用、シンタックスの汚さ、それらによる コードの読みにくさ。マルチスレッド非対応。 まあ論外だろ。
452 名前:デフォルトの名無しさん mailto:sage [2006/01/19(木) 13:29:00 ] >>451 書き方を気をつければいいという話ですね。
453 名前:デフォルトの名無しさん mailto:sage [2006/01/19(木) 16:59:09 ] >>452 「気をつければいい」でバグがなくなるかボケ 言語仕様として一部のバグの発生をありえなくすることのほうが よっぽど大事 お前一人が頑張っても無駄。一人で作るわけじゃねーんだぞ
454 名前:句読点書けないバカをサマージャンボする俺 ◆9NQzQ21lx. mailto:sage [2006/01/19(木) 18:37:46 ] >>453
455 名前:デフォルトの名無しさん mailto:sage [2006/01/19(木) 19:49:27 ] 大規模開発の場合うるさいくらいの規約が当たり前だけど 納期前だとんなもん軽く吹っ飛ぶからなw あっと言う間にワンライナーの出来上がりだぜ!
456 名前:デフォルトの名無しさん [2006/01/19(木) 20:12:17 ] なんだってさ さあみんな大規模開発でPerlを使おう!!
457 名前:デフォルトの名無しさん mailto:sage [2006/01/19(木) 23:01:54 ] Perlは論外
458 名前:デフォルトの名無しさん mailto:sage [2006/01/19(木) 23:04:27 ] >>457 おまえは雇わないので何の心配もいりません。
459 名前:デフォルトの名無しさん mailto:sage [2006/01/19(木) 23:15:32 ] >>458 お前ごときが人を雇用することはありえませんので何の心配もいりません。
460 名前:デフォルトの名無しさん mailto:sage [2006/01/20(金) 01:44:26 ] まあ、PHPも作り捨てなら有りってレベルだな
461 名前:デフォルトの名無しさん mailto:sage [2006/01/20(金) 08:00:03 ] うっかりPHPを選択してしまって今大変なことになってます。
462 名前:デフォルトの名無しさん mailto:sage [2006/01/20(金) 08:26:28 ] PHPは言語じゃないからなぁ
463 名前:デフォルトの名無しさん mailto:sage [2006/01/20(金) 12:18:21 ] >>452 いや、一人で閉じてる世界なら「書き方を気をつければいい」で済むんだけどな。 あんた、仕事で大規模開発をやったこと、無いでしょ。
464 名前:デフォルトの名無しさん mailto:sage [2006/01/20(金) 17:46:27 ] 大規模開発においては、その種の事を決める人間はコードを書かないw
465 名前:デフォルトの名無しさん mailto:sage [2006/01/20(金) 23:14:56 ] >>464 いい加減上流の仕事もできるようになりましょうね。
466 名前:デフォルトの名無しさん mailto:sage [2006/01/21(土) 12:04:46 ] もう遅すぎる
467 名前:デフォルトの名無しさん [2006/03/02(木) 19:59:15 ] いい本を見つけました。 「勝者のシステム 敗者のシステム」坂口英弘著 この本では、オブジェクト指向の考え方や、具体的なシステム設計の ノウハウが紹介されています。これまでのオブジェクト指向の解説書 には無い実戦的な内容です。ただし、前半はビジネス書っぽい内容です。 特に、アプリケーションの階層化や開発体制とオブジェクト指向の関連 を明確に示している点は新鮮でした。 無能PMの批判など(イラスト見てワロタ)もあり、面白い本なので オススメです。
468 名前:デフォルトの名無しさん mailto:sage [2006/03/03(金) 03:04:27 ] オブジェクト指向なんて高校生だってマスターできる
469 名前:デフォルトの名無しさん mailto:sage [2006/03/03(金) 11:56:58 ] >>468 ケイの(流れの。Smalltalkとかがサポートする)はそうかもね。 もともと子供向けだし。なんでもメッセージングだし。難しいのは「メタ」という 概念を体得することか。もっとも、ステレオタイプなオトナより子供のほうが得意? tinyurl.com/jpyu5 ... The big idea is "messaging" -- that is what the kernal of Smalltalk/Squeak is all about (and it's something that was never quite completed in our Xerox PARC phase). The Japanese have a small word -- ma -- for "that which is in between" -- perhaps the nearest English equivalent is "interstitial". The key in making great and growable systems is much more to design how its modules communicate rather than what their internal properties and behaviors should be. www.purl.org/stefan_ram/pub/doc_kay_oop_en ...OOP to me means only messaging, local retention and protection and hiding of state-process, and extreme late-binding... ストラウストラップの(流れの。C++やEiffel、Javaとかがサポートする)はどうかな…。 データ型とは何かについて理解できていないと難しいと思う。 加えて、抽象データ型はなにかとか、最近ではインターフェイスとか。 public.research.att.com/~bs/whatis.pdf ... Object-oriented programming is programming using inheritance. Data abstraction is programming using user-defined types. With few exceptions, object-oriented programming can and ought to be a superset of data abstraction... ということで「概念学習が先」に一票。
470 名前:デフォルトの名無しさん [2006/03/03(金) 14:39:03 ] 学生で独学でjava(たまに先生にも教わる)やってるけど、 いきなりオブジェクト指向をたいして勉強しないで言語から 始めたから苦労したかも ただ、間違えまくっていくうちに、オブジェクト指向についても結構おぼえていった希ガス
471 名前:デフォルトの名無しさん [2006/03/03(金) 14:58:43 ] オブジェクト指向を覚えるなら デザインパターンを理解することが近道だよ はっきりいって
472 名前:デフォルトの名無しさん [2006/03/03(金) 19:21:16 ] >>471 オブジェクト指向とデザインパターンに直接の関係性はない
473 名前:デフォルトの名無しさん [2006/03/03(金) 20:02:40 ] >>472 デザインパターンがオブジェクト指向原則を理解する上での例題に なり得る点を考えると、>>471 の言うこともまんざら間違っていない。
474 名前:デフォルトの名無しさん mailto:sage [2006/03/03(金) 22:53:01 ] 覚えるなら実践 理解するならデザパタやリファクタリングなど
475 名前:デフォルトの名無しさん mailto:sage [2006/03/03(金) 23:59:55 ] EclipseのようなIDEや UMLを覚えてUMLツールを使いこなせれば オブジェクト指向に対する理解が早まるかもしれないな
476 名前:デフォルトの名無しさん mailto:sage [2006/03/04(土) 10:22:51 ] >473 うん,そう思う >471は,オブジェクト指向とデザインパターンが関連してると言ってるんじゃないし >472みたいな脊髄反射をよく見るけど,なんだかなぁって思う
477 名前:デフォルトの名無しさん mailto:sage [2006/03/04(土) 23:24:11 ] >>472 は「直接の関係はない」といってるから「間接の関係はある」と認めてるんだよ、多分 Java、Ruby等のいろんな言語の文法を片っ端から覚えて 各言語の機能を比較していくのが早いんじゃないかなと思ってる デザパタもいいよね オブジェクト指向必要ないよ? と思ってる人に、良さを知ってもらうのに役立つ
478 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 14:08:35 ] SmallTalk とか、出始めの C++ とかちょっといじったころは、 「便利だけど、クラスとかメソッドとか一杯出来すぎて管理しきれねー」 と思って手出し控えてた時期があった。 Java を平気で使い出したのは、Eclipse を使い出してから。 IDE の存在は結構大きい、というか必須では。
479 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 14:55:24 ] >>478 Smalltalk も Browser がないと絶対使い物にならなかったと思います。 そう言う意味で IDE は確かに偉大ですな。 あと Smalltalk の t は小文字で書くのが正しいっす。 ちゃんとした文献ではすべて t が小文字になってます。。 (ただ、開発者の一人であるアラン・ケイはどっちでもいいと言っていたと思いますが。)
480 名前:デフォルトの名無しさん mailto:sage [2006/03/06(月) 09:23:48 ] 無料のEclipseがあるのにオブジェクト指向が学べないやつは真性アフォ
481 名前:デフォルトの名無しさん [2006/03/08(水) 21:54:45 ] Eclipseとオブジェクト指向は関係ないだろ。 Eclipse使って、プロセス中心のプログラム書いてるやつもいるよ。 これまで見てきた中で、ツール依存のやつは、例外なくアフォ。 分かってるやつなら、Notepad使ったって立派なオブジェクト指向の コードを書くよ。
482 名前:デフォルトの名無しさん mailto:sage [2006/03/08(水) 22:17:30 ] 書けるやつはC言語でオブジェクト指向らしいものも書ける
483 名前:デフォルトの名無しさん mailto:sage [2006/03/08(水) 23:04:07 ] >>482 またそれか。
484 名前:デフォルトの名無しさん mailto:sage [2006/03/08(水) 23:38:26 ] VB厨でしたが、「フォームにカスタム プロパティを追加する」あたりから 入ってじわじわ分かり出しました。 その後C♯を始めるまでに、VBで実践出来る範囲のこと(インスタンスとか インターフェースとか委譲とか)を使っていたので、結構スムーズに 移行できました。 会社の中には、VB6の仕事がなくなるまで「グローバルの関数と構造体」で シコシコやってきた人たちもいますが、彼らは現在、途方に暮れつつも public staticなメソッドとインスタンス変数でなんとかやっています。
485 名前:デフォルトの名無しさん mailto:sage [2006/03/09(木) 00:41:32 ] public staticしか作れないなんて最悪だな C言語厨と同類じゃないか
486 名前:デフォルトの名無しさん mailto:sage [2006/03/09(木) 00:51:37 ] 馬鹿に巨大なクラスを書いてOOPした気になってるVB/DEL厨は最悪だ。 巨大クラスのクラスフィールドはグローバル変数と変わらん!
487 名前:デフォルトの名無しさん mailto:sage [2006/03/09(木) 03:24:59 ] C言語で書かれたオブジェクト指向設計のソースは とてもじゃないが生産性が高いとは思えない
488 名前:デフォルトの名無しさん mailto:sage [2006/03/09(木) 10:31:55 ] >>481 もちろん、直接は関係ないよ。 IDEを使えば自然とオブジェクト指向になるわけでも、 使わなければオブジェクト指向ができないわけでもない。 ただ、管理しなければならない要素(クラス名、フィールド名、継承関係) が増えるから、IDE のサポートがあったほうが楽、というか、無いとしんどいということ。 逆に言うと、IDE の恩恵を受けやすいともいえる。 変数のクラスから、メソッド名などが(継承されたものも含め)コード補完されるといった機能の恩恵は 例えば C言語などではあまり無い。 (構造体からメンバ名がコード補完されるだけではあんまりうれしくない)。
489 名前:デフォルトの名無しさん mailto:sage [2006/03/09(木) 13:06:36 ] >>482 Motif のサブクラス書いてて厭になった。 是非一度お試し下さい。
490 名前:デフォルトの名無しさん [2006/03/09(木) 19:22:15 ] >>488 >もちろん、直接は関係ないよ。 >IDEを使えば自然とオブジェクト指向になるわけでも、 >使わなければオブジェクト指向ができないわけでもない。 だったら、そう書いてね。 EclipseだのAjaxだの言ってるやつに限って、仕事できないのが 多くて困ってるんだ。趣味でやってるのか、プロジェクトに使え るのか全く気にしてない。つまり、ヲタな奴が多い。
491 名前:デフォルトの名無しさん mailto:sage [2006/03/09(木) 23:51:20 ] >>490 会社で嫌なことがあったかと言って、 勝手な偏見を持ち出されてもなあ。 Ajaxが今のところオブジェクト指向の勉強に役立つとは とても思えないが、 Eclipseはかなり役立つ機能が揃っているのは 俺もたしかにそう思う。 設定で警告メッセージ項目を徹底的に増やして FindBugs, CheckStyleなどを組み合わせて、 リファクタリング機能を使いこなすと そのことがよくわかる感じだ。
492 名前:デフォルトの名無しさん mailto:sage [2006/03/10(金) 12:43:54 ] >>491 >Ajaxが今のところオブジェクト指向の勉強に役立つとは >とても思えないが そもそも、その両者に何かの関係があるとも思えないが。 IDEとOOにしてもそうだが、無関係の何かを 関連付けるのが流行ってるのか?
493 名前:デフォルトの名無しさん [2006/03/10(金) 17:34:24 ] >>492 ヒント:ゆとり教育
494 名前:デフォルトの名無しさん mailto:sage [2006/03/10(金) 23:37:58 ] Eclipseを否定するやつにかぎって仕事ができないのが多いんだ オブジェクト指向と聞くと逃げ出すようなダメグラマ
495 名前:デフォルトの名無しさん mailto:sage [2006/03/11(土) 00:43:41 ] Eclipseを否定するとかしないとか、そういう議論する余地ってまだあるの?
496 名前:デフォルトの名無しさん [2006/03/11(土) 15:41:17 ] 継承はわかったが、結婚ってないのか?
497 名前:デフォルトの名無しさん [2006/03/11(土) 18:36:39 ] Eclipseを苦々しく見ている気持ちは分かるよ。 OOの思想を理解しないで、カタチから入ってしまう人が 多いからね。そういう人が実に多い。 要するに、Eclipseを否定しているのではなく、そういう ツールとかに興味が行ってしまう開発者の問題なんでしょ?
498 名前:デフォルトの名無しさん mailto:sage [2006/03/11(土) 18:50:39 ] >>496 結婚は近親相姦の問題(共通の親を持つ兄妹は同一の形質を持つ この兄妹が子供を儲けると遺伝形質に曖昧さが発生する)があるか ら、Javaでは採用を見送られた。 しかし結婚がないからといって悲観する事はない。 そもそも、嫁萌えより妹萌えだろ? 養子縁組を利用すれば相手を問わず妹萌えできる。 結婚なんてそもそも不要なんだよ。
499 名前:デフォルトの名無しさん mailto:sage [2006/03/11(土) 22:02:05 ] >>497 Eclipseは数多くプラグインがでているから それを使って楽しみたいと思っている香具師が多く、 結果的にEclipse自体が重たくなって使いにくくなるって いうことならある。 けど、オブジェクト指向プログラミングの真価を 発揮しやすいIDEであることには変わりないな。
500 名前:デフォルトの名無しさん [2006/03/11(土) 22:06:45 ] こんなのを見つけた。 EclipseでJavaに強くなる - @IT www.atmarkit.co.jp/fjava/rensai3/eclipsejava2_01/eclipse2_01_1.html
501 名前:デフォルトの名無しさん [2006/03/12(日) 05:24:31 ] >>498 なんとなく本質が理解できました。^^
502 名前:デフォルトの名無しさん mailto:sage [2006/03/12(日) 19:48:28 ] Javaは子孫を残す対象を厳しく選んでしまうという喩えか。 まあそうかもしれない。ちょっとしたことですぐコンパイルエラー出すし。 厳しすぎるのも無理もない。 だらしない男を許さない女みたいな
503 名前:デフォルトの名無しさん mailto:sage [2006/03/13(月) 04:52:30 ] >>502 そういう意味ではJBuilder3は最強だな 継承関係の途中のclassファイルが無くてもコンパイルが出来る
504 名前:デフォルトの名無しさん mailto:sage [2006/03/13(月) 12:46:34 ] Eclipseが使えるなんて当然だろ。できないやつは逝ってよし!
505 名前:デフォルトの名無しさん [2006/03/13(月) 23:25:23 ] Eclipseばっかだけど、VisualStudio.NET 2005 ってどうよ。 MSは、Eclipseより生産性ずっと高いって言ってたよ。 チーム開発の機能が売りみたいだったな。
506 名前:デフォルトの名無しさん mailto:sage [2006/03/14(火) 01:44:05 ] >>505 Teamなんたらじゃないときついな 家でちょろっと遊ぶ程度ならExpressやStandardでも良いんだけど
507 名前:http://www.vector.co.jp/soft/win95/util/se072729.html mailto:http://msdn2.microsoft.com/ja-jp/library/h2k70f3s.aspx [2006/03/18(土) 20:46:45 ] TextSS のWindowsXP(Professional)64bit化おながいします もしくは64bitにネイティブ対応したテキスト置換ソフトありますか?
508 名前:デフォルトの名無しさん mailto:sage [2006/03/19(日) 02:45:21 ] >>505 VS.NET 2005のチーム開発がEclipseよりも 売り? まさかVisual Source Safeをバンドルしただけで 売りだなんて言わないよな。 VSSはSubversionには非常に劣るし
509 名前:デフォルトの名無しさん [2006/03/19(日) 11:33:21 ] >>508 確かに最近、MSはパッとしないね。 マンネリというか、売る気が無いというか、2000年頃は 期待も高かったんだが...今はLinux/Javaにやられっぱなしだ。 もうだめぽ?
510 名前:デフォルトの名無しさん [2006/03/19(日) 12:09:04 ] Eclipseの大人気に 焦ってVS.NET 2005 Expressを無料で配布してるくらいだ。 しかもC#やVB.NETの仕事もろくにないし。 PHPとJavaの仕事ばっかで今ドトネトはかなり窮地に立たされているともいえる。
511 名前:デフォルトの名無しさん [2006/03/19(日) 12:43:30 ] JAVAってあまり使ったことないんだけど、 Eclipseって個人だけじゃなくて、実務でも普通に使われてるものなの?
512 名前:デフォルトの名無しさん [2006/03/19(日) 12:52:52 ] ニート卒業するのが先
513 名前:デフォルトの名無しさん mailto:sage [2006/03/19(日) 13:29:16 ] >>511 普通に使われてるよ。 Linuxと同じで、既存のディストリビューションを購入して使ってるところから 自社で独自にパッケージングして使ってるところまで色々だけど、結局Eclipse である事に変わりはない。
514 名前:デフォルトの名無しさん mailto:sage [2006/03/19(日) 13:35:57 ] Eclipseを個人で使うほうがびっくりだ。
515 名前:デフォルトの名無しさん mailto:sage [2006/03/19(日) 13:48:11 ] Eclipseなら大学の研究室で使ってるよ
516 名前:デフォルトの名無しさん [2006/03/19(日) 14:29:02 ] >>513 そうなんですかー 使いもしない数十万のパッケージなんて会社では 買ってもらえないので、実務に耐えられるJAVAの勉強 どうやってやろうか困ってたんです(;´Д`) >>514 でもJAVAの開発関連を検索したらIDEではEclipseぐらいしか 見当たりません 個人ではIDEなんて使わないんですか?(;´Д`)
517 名前:デフォルトの名無しさん mailto:sage [2006/03/19(日) 14:31:05 ] >>516 EclipseかNetbeansでいいじゃん 俺はNetbeansをお勧めするけど まあこのスレよりもっと適切なスレがあると思うので詳しくはそっちへ
518 名前:デフォルトの名無しさん mailto:sage [2006/03/19(日) 14:40:00 ] >>516 >>個人ではIDEなんて使わないんですか? そんなこともないけどさ。 なんというか、個人で使うには機能が立派すぎる。 言い方を変えれば「重すぎる」んだよねえ。。。
519 名前:デフォルトの名無しさん mailto:sage [2006/03/19(日) 15:28:56 ] 学生なんで個人で使ってるが、あれは一度使うと手放せないな…
520 名前:デフォルトの名無しさん mailto:sage [2006/03/19(日) 18:24:43 ] >>514 Eclipseは個人で使った方が楽しめるぞ。 ゲームだってできるし 株価チェックだってできるし、 そういうプラグインを作る楽しみがある。 プラグインバリバリ入れたい放題ってのがいいねえ
521 名前:デフォルトの名無しさん mailto:sage [2006/03/19(日) 22:41:46 ] 2ちゃんも見られる・・・・・・・が、開発には害になるw
522 名前:デフォルトの名無しさん mailto:sage [2006/03/20(月) 07:19:01 ] Javaで仕事ったらほとんどサーバーサイドで、MSはサーバーサイドでは押されてるが、 クラサバや単なるクライアントアプリでは、問題なくねぇ? この先、WebアプリはUIが貧弱で、結局、流れはスマートクライアントとかなるかもしれんし。
523 名前:デフォルトの名無しさん mailto:sage [2006/03/20(月) 09:50:34 ] >>521 monalipseなどでEclipse上で見られるが、 有益になる情報も手に入ったりする。 monalipseは使い勝手が悪いので Jane Doe Styleを使っているがw
524 名前:デフォルトの名無しさん mailto:sage [2006/03/20(月) 09:51:41 ] >>522 どうだろうねえ。 クライアントサイドでもJavaに押されてる気がする。 NetBeans勢力拡大とSwing APIのめまぐるしい性能機能向上 がC#やVB.NETを圧倒している。
525 名前:デフォルトの名無しさん [2006/04/16(日) 14:18:32 ] object is poormans closer!!!!!!!!!!!!
526 名前:デフォルトの名無しさん mailto:sage [2006/04/16(日) 19:55:52 ] closer ってなんだ?ww closure って書きたかったのボク?
527 名前:デフォルトの名無しさん mailto:sage [2006/04/16(日) 20:00:08 ] くろーざーといったらミセリだろ
528 名前:デフォルトの名無しさん mailto:sage [2006/04/16(日) 20:59:52 ] ミセリねぇ、、、よく燃えてたよねぇ。 って懐かスィ。。。
529 名前:デフォルトの名無しさん mailto:sage [2006/04/20(木) 18:04:19 ] 意味が分からない
530 名前:デフォルトの名無しさん mailto:sage [2006/04/21(金) 07:33:08 ] つ ttp://images.google.co.jp/search?hl=ja&q=%E3%82%AF%E3%83%AD%E3%83%BC%E3%82%B6%E3%83%BC+%E3%83%9F%E3%82%BB%E3%83%AA&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=
531 名前:デフォルトの名無しさん mailto:sage [2006/06/13(火) 00:59:17 ] トラックバック:app.blogs.itmedia.co.jp/t/trackback/4088073 脱オブジェクト指向のススメ ttp://blogs.itmedia.co.jp/tamaki/2006/06/post_57ab.html このイーキャッシュの代表取締役玉木の発言がおかしいから このスレからpinする。 オブジェクト指向のことをまったくわかっていません。 というか、かなり勘違いしています。 そのくせにオブジェクト指向を否定しています。
532 名前:デフォルトの名無しさん mailto:sage [2006/06/24(土) 05:25:02 ] なんとなく覚えたのはいいけど オブジェクトのよさがまだいまいちわからない… 関数とあまりかわらないんじゃないかとか いまいちよくわかってないので、疑問が出てくる まあ色々と違うんだろうけどアセンブラだって普通のCだって 普通は部分部分でまとめてやるだろうから 同じなんじゃなかろうかとか 隔離して部品として纏められるのがいいんだろうか 他に影響が出づらいとか安全に纏められて管理がしやすいとかだろうか
533 名前:デフォルトの名無しさん mailto:sage [2006/06/24(土) 10:03:49 ] >532 勿論必ずしも必要じゃないがOOPLの方が書き易い処理もいくつかある 1. 構造体や関数をひと纏めにしてグローバルな名前を減らせる 2. 型不定な引数や型ごった煮リストに対応する処理 3. this/selfの存在は何気に大きいと思う 4. 元々OOの発祥である物と物の関係を表す処理 5. GUIライブラリとの相性
534 名前:デフォルトの名無しさん mailto:sage [2006/06/24(土) 17:45:00 ] >>533 なるほどまだあまりよくわかってないけど 無くても出来ることは出来るけど一纏めに出来てミスも防ぎやすいって ことなんかな 確かにきっちり別れてるからいいっぽい気はするし ライブラリによってはってのもなんとなくそんな気がする どんどん使っていけばわかってくるんだろうか
535 名前:デフォルトの名無しさん mailto:sage [2006/06/24(土) 18:17:22 ] >>534 オブジェクト指向を用いたコードと、それを用いずに書いたコードを 具体的に出して比較してみると利点・欠点がわかるかも
536 名前:デフォルトの名無しさん mailto:sage [2006/06/26(月) 10:49:22 ] >534 > 無くても出来ることは出来るけど一纏めに出来てミスも防ぎやすいって > ことなんかな プログラミング言語の進化はそれこそが目的だと思う
537 名前:デフォルトの名無しさん [2006/06/27(火) 20:27:24 ] オブジェクト指向のよさがわからない人は 大規模開発したことないんだろうなー
538 名前:デフォルトの名無しさん mailto:sage [2006/06/27(火) 21:49:15 ] まあ、そもそも、オブジェクト指向の本質ってなんなのか、 って話があるような気がする。 「オブジェクト指向」「オブジェクト指向」って題目のように唱えて、 「自動車がオブジェクトで、ハンドルやアクセルが操作で・・」 みたいな話を性懲りも無く繰り返してるだけの奴と、 たとえば、Java の文法を熟知して、Abstruct Class や Interface を 適切に追懐こなしてる奴とどっちが「使えるのか」。 後者の奴に、「なぜフィールドをprivate にして、アクセッサでアクセスしてるのか?」と聞けば、 「こうしたほうが、外部からの参照や変更が限定できていろいろと都合がいいからだよ、 だいたい、setter や getter に必ずしも対応するフィールドがあるとは限らないし」 といったことを答えるだろう。そもそも、Cの時代から構造体のメンバにはなるべく直接代入 しないようにしていたことの延長をやってるだけなのだ。 Abstruct や Interface をなぜ使うのかと聞かれれば、「便利だから」 「Cでやりたいと思ってできなかったことができるようになっているから」 といった答えが返ってくるだろう。 手続き型言語で十分な経験を積んだ開発者なら、Java のような言語を与えられれば、 自然とそういうことができるものなのだ。 「題目を唱えること」と、「実際に優れたコードを書くこと」はどちらが大切なのか? 結局、「オブジェクト指向の大切さ」云々を言っている人の大半は、 「題目を唱えること」を「実際に優れたコードを書くこと」よりも優先してるだけのように思えてならない。
539 名前:デフォルトの名無しさん mailto:sage [2006/06/27(火) 22:42:44 ] 自分は、オプジェクト指向を理解できないままこれを書いているが…まで読んだ。
540 名前:デフォルトの名無しさん mailto:sage [2006/06/27(火) 22:44:49 ] 英語でプログラミング勉強スレ academy4.2ch.net/test/read.cgi/english/1151414777/l50
541 名前:デフォルトの名無しさん mailto:sage [2006/06/27(火) 22:46:44 ] 『アクセッサ』 という表現を耳にしたのは初めてだったり。 微妙に異なる話だけど、オブジェクト指向の定義が1つじゃないのは問題のような気がした。 ケイかストラウストラップか、あるいは……みたいな。
542 名前:デフォルトの名無しさん mailto:sage [2006/06/27(火) 22:57:06 ] まあ正直、最近オブジェクト指向って騒ぎはじめた連中は、 アラン・ケイもSmalltalk(!)も知らないと思われ。
543 名前:デフォルトの名無しさん [2006/06/27(火) 22:58:58 ] >>538 そうですね。 オブジェクト指向を、「それらしく」使える人は、プロセス中心の プログラム開発でいやと言うほど無駄なコード書いてきた人や、トラブル を経験してきた人ですね。危険回避のために自然とオブジェクト指向の 考えを導入したくなります。コードの最適化を行おうとすれば、自然とOOP になりますね。
544 名前:デフォルトの名無しさん mailto:sage [2006/06/27(火) 23:10:22 ] 何にでも向き不向きがあるから、自然とOOPになったのなら 勘違いでなければ、元々OOP向きだったか、OOPでも破綻 しないものだったに過ぎん。 過信論者にはなるなよ>>543
545 名前:デフォルトの名無しさん mailto:sage [2006/06/27(火) 23:18:21 ] 向き不向きは人じゃなくて対象分野のほうが大きいとおもうな。 (まあ、人にも多少はあるだろうけど。) C言語で、 struct window w; window_open( w ); window_setsize( w, 100, 100 ); とかやってた人間は、 Window w = new Windows(); w.setSize( 100, 100 ); ってかけるようになったら「やっとなるべき形になった」としか思わないんじゃないかな。 「window_setsize( w, 100, 100 ); のほうがいい」と思う人は少ないと思う。
546 名前:544 mailto:sage [2006/06/28(水) 00:10:45 ] >>545 まさか、おいらが「人」の話をしていたと勘違いしますたか? もちろん、作る「物」の話ですよ。
547 名前:デフォルトの名無しさん mailto:sage [2006/06/28(水) 13:26:17 ] >>541 > オブジェクト指向の定義が1つじゃないのは問題 しかしそれが実際ですからねぇ…。それらを混同して(あるいは勝手に組み合わせた俺定義を ふりかざして)トラブルになるケースは多いですし。逆に、誰の「オブジェクト指向」かを 明らかにするよう心がければ、議論の入り口でのありがちなループを回避できるのもまた確かなことです。 とにかく、教科書レベルの記述で混乱に拍車をかけるような書き方は避けて欲しいです。 あえて問題があるとすれば、オブジェクトが本質じゃないものに「オブジェクト指向」と名付けたケイか、 すでにケイのオブジェクト指向があるのに、あえて“抽象データ型のスーパーセット”あるいは “クラス(継承)によるプログラミング”という別の切り口に同じ「オブジェクト指向」と 名付けてしまったストラウストラップが諸悪の根源か…。まあ、どっちもどっちかなと。
548 名前:デフォルトの名無しさん mailto:sage [2006/06/28(水) 18:14:55 ] >>547 「オブジェクトを如何にして使用するか」 なケイと、 「オブジェクトを如何にして定義するか」 なストラウストラップの対立のような気が。
549 名前:デフォルトの名無しさん mailto:sage [2006/06/28(水) 18:39:45 ] >>545 その例は、あまり魅力的な差に見えないね。 もうちょっと派手で、いかにもOOがよろしげに見える例を出せないの?
550 名前:デフォルトの名無しさん mailto:sage [2006/06/28(水) 19:34:51 ] >>549 >その例は、あまり魅力的な差に見えないね。 それは、(君が現場の苦労を知らない) 坊やだからさ。
551 名前:デフォルトの名無しさん mailto:sage [2006/06/28(水) 19:47:36 ] ありゃ、煽られちゃったよ… しかし、現場の苦労はどうでもいいから、もうちょっとマシなの おながいしまつ>>550
552 名前:デフォルトの名無しさん mailto:sage [2006/06/28(水) 19:57:23 ] >>551 現場の苦労がどうでもいいなら、そんなのなくてもどうでもいいじゃん?
553 名前:デフォルトの名無しさん mailto:sage [2006/06/28(水) 20:17:46 ] >>548 しらないならかかなきゃいいのに。
554 名前:デフォルトの名無しさん mailto:sage [2006/06/28(水) 20:18:15 ] なんか言い逃れぽい返しばかりだなあ… 漫才したい訳じゃないんで、もうちょっとマシなの おながいしまつ>>552
555 名前:デフォルトの名無しさん mailto:sage [2006/06/28(水) 20:28:18 ] >>548 そもそも両者は対立なんかしていない。対立以前に名前以外、本質的部分に接点がない。 利用者が勝手な文脈でそれぞれのエッセンスをまぜこぜにして混乱を助長するから 発案者のほう(とくにストラウストラップ)が困惑しているくらいのことはあるだろうけど。 ttp://www.research.att.com/~bs/bs_faq.html#from-Smalltalk ttp://www.purl.org/stefan_ram/pub/doc_kay_oop_en
556 名前:デフォルトの名無しさん mailto:sage [2006/06/28(水) 20:39:55 ] >>554 (535?) ストラウストラップのオブジェクト指向の例でいいならば、複素数の計算とかは? 複素数という新しい型を定義せずに、複素数演算を自然に記述するのは難しいと思う。
557 名前:デフォルトの名無しさん mailto:sage [2006/06/28(水) 20:48:06 ] >>556 それは >>545 のように対比できる対象例がありますか? ちなみに>>535 は別の人ですけど。
558 名前:デフォルトの名無しさん mailto:sage [2006/06/28(水) 21:42:20 ] オブジェクト指向ってプログラムのしやすさより設計のしやすさじゃない? オブジェクト指向言語は設計>コードの変換の手間が少なくて使いやすいと思う
559 名前:デフォルトの名無しさん mailto:sage [2006/06/28(水) 22:36:20 ] テストのしやすさもあるよ。単純な話じゃない。
560 名前:デフォルトの名無しさん mailto:sage [2006/06/28(水) 22:38:24 ] 自分は一部のソースに変更があっても、他への影響が少ないぐらいしか利点が分からない。
561 名前:デフォルトの名無しさん mailto:sage [2006/06/28(水) 23:23:28 ] >>557 C(non oop)版はアンチが書いてくれ。 class complex { double re, im; public: complex(double r, double i) { re=r; im=i; } complex(double r) { re=r; im=0; } // float->complex conversion friend complex operator+(complex, complex); friend complex operator-(complex, complex); // binary minus friend complex operator-(complex); // unary minus friend complex operator*(complex, complex); friend complex operator/(complex, complex); // ... }; complex operator+(complex a1, complex a2) { return complex(a1.re+a2.re,a1.im+a2.im); } // ... complex a = 2.3; complex b = 1/a; complex c = a+b*complex(1,2.3); // ... c = -(a/b)+2;
562 名前:デフォルトの名無しさん mailto:sage [2006/06/29(木) 01:46:10 ] >>554 「現場の苦労はどうでもいい」なんて言ってる人間にとって、 「魅力的」なコードなんて、とりあえず俺には何の意味も無い。 プログラミングは座敷芸じゃない。
563 名前:デフォルトの名無しさん mailto:sage [2006/06/29(木) 02:13:41 ] >>561 新しい型を自然に記述するのは、新しい型の振る舞いと定義が可能で、 元の言語仕様と同様に、新しい型を取り扱える処理系であれば可能な 事だと思います。 それは処理系依存の問題でoopとは関係ないような気がしますが、それ とも、新しい型の振る舞いと定義が可能で、元の言語仕様と同様に、新 しい型を取り扱える事こそがoopだと言う事ですか?
564 名前:デフォルトの名無しさん mailto:sage [2006/06/29(木) 02:15:05 ] >>562 ここは、マ板じゃなくてム板なんだから、そゆのもありじゃね?
565 名前:デフォルトの名無しさん mailto:sage [2006/06/29(木) 02:22:14 ] >>564 ありだろうけど、逆にいうとそれに付き合う義理もないんじゃね? とりあえず、>>545 は「そういう意味で」「魅力的」と主張してる わけじゃないから、それは別の話題の話題として話せばいい。
566 名前:デフォルトの名無しさん mailto:sage [2006/06/29(木) 02:39:51 ] 擬似コードで恐縮だけど、例えば C ライクなコードで [オブジェクト生成] obj01 = window_new(); obj02 = button_new(); obj03 = checkbox_new(); obj04 = listbox_new(); [表示] window_show(obj01); button_show(obj02); checkbox_show(obj03); listbox_show(obj04); とかやってた人間は、 [オブジェクト生成] obj01 = new window(); obj02 = new button(); obj03 = new checkbox(); obj04 = new listbox(); [表示] obj01->show(); obj02->show(); obj03->show(); obj04->show(); になる。
567 名前:デフォルトの名無しさん mailto:sage [2006/06/29(木) 08:08:15 ] >>563 ストラウスストラップのオブジェクト指向の文脈では、そう。 より正しくは、それに継承を加えたもの。 別の言い方をすると、抽象データ型(ユーザーが新しい型と振る舞いを…)を Simulaのクラスを使ってやる、というのが彼の(そして´90年代以降主流の、 今でいう、カプセル化・多態性・統承の)オブジェクト指向。 念のため書き添えると、この文脈では「メッセージ」(ケイのオブジェクト指向の キー・コンセプト)は関係ない。
568 名前:デフォルトの名無しさん mailto:sage [2006/06/29(木) 08:13:51 ] >>567 統承× → 継承〇 スマン。手書きなもんで…。
569 名前:デフォルトの名無しさん mailto:sage [2006/06/29(木) 10:08:20 ] 手書き?w
570 名前:デフォルトの名無しさん mailto:sage [2006/06/29(木) 10:38:42 ] そう。手書き入力。
571 名前:デフォルトの名無しさん mailto:sage [2006/06/30(金) 00:42:06 ] >>567 ありがとう、やっと、自分の理解していた事が、言葉と結びつきました。
572 名前:デフォルトの名無しさん mailto:sage [2006/06/30(金) 07:01:09 ] >>571 何かのお役にたてたのでしたら、さいわいです。
573 名前:デフォルトの名無しさん mailto:sage [2006/07/03(月) 21:37:41 ] オブジェクト指向そのものは意見が分かれるが、「オブジェクト指向言語は 便利だ」でOK?
574 名前:デフォルトの名無しさん mailto:sage [2006/07/03(月) 21:52:16 ] >>573 使いどころによって便利か不便かが決まる。
575 名前:デフォルトの名無しさん mailto:sage [2006/07/03(月) 22:01:33 ] 別にOOPLだからって がんじ絡めにOOPしなくても良いんだから不便ってこたぁないだろ それが自分のせいであれ、会社のせいであれ OOPLが不便って思う人はOOPLに振り回されてると思う 大きなコードになるとOOPの方が良いが 小さなコードで無理してOOPすると余計に混乱するぞ
576 名前:デフォルトの名無しさん mailto:sage [2006/07/03(月) 22:18:23 ] >>573 もっと謙虚に、プログラミングにおける支配的パラダイムだ、でいいと思う。
577 名前:デフォルトの名無しさん mailto:sage [2006/07/03(月) 22:21:21 ] 「支配的パラダイム」カッコイイー。スゲー。感動して涙出てきた。
578 名前:デフォルトの名無しさん mailto:sage [2006/07/04(火) 13:18:16 ] ニュートン力学は物理学における支配的パラダイムだった。相対性理論の発表までは。 相対性理論は物理学における支配的パラダイムだった。量子力学の誕生までは。 いや 端的に「支配的パラダイムは歴史と共に変遷する」と表現した方がわかりやすいか? そして パラダイムのシフトは旧来のパラダイムを支持する人間が死滅するまで完了しない という歴史的な事実も書いておこう
579 名前:デフォルトの名無しさん mailto:sage [2006/07/04(火) 20:23:57 ] その考えは面白いかもしれない。 ニュートン力学も相対性理論も量子力学も、世界の一部分を切り取った姿を提示しているだけだから、 これをプログラミングに直すと 『ひとつの方法』 を提示しているってことになるな。
580 名前:デフォルトの名無しさん mailto:sage [2006/07/04(火) 21:57:56 ] 2500年程前に孔子がいいことを言っている。 「学びて思わざれば則ちくらし、思うて学ばざれば則ちあやうし」 これにてこのスレ終了。
581 名前:デフォルトの名無しさん mailto:sage [2006/07/14(金) 14:08:32 ] 理系馬鹿で文系センスがない人はオブジェクト指向がわからない
582 名前:デフォルトの名無しさん mailto:sage [2006/07/14(金) 16:56:04 ] という貧弱脳の文系が言い出した都市伝説
583 名前:デフォルトの名無しさん [2006/07/15(土) 15:32:30 ] 文系>>>>>>理系
584 名前:デフォルトの名無しさん mailto:sage [2006/07/15(土) 16:09:41 ] 文系か理系かなんてのは瑣末な属性にすぎない。 大事なのは振る舞いだ。
585 名前:デフォルトの名無しさん mailto:sage [2006/07/15(土) 16:25:35 ] 大盤振る舞い
586 名前:デフォルトの名無しさん mailto:sage [2006/07/15(土) 16:51:44 ] わお、584が振舞ってくれるヨ!
587 名前:デフォルトの名無しさん mailto:sage [2006/07/15(土) 16:52:52 ] 俺、最近思うんだ。 勉強すればするほど馬鹿になってるんじゃないかって。
588 名前:デフォルトの名無しさん mailto:sage [2006/07/15(土) 19:42:42 ] 理系馬鹿はそうだね
589 名前:デフォルトの名無しさん [2006/07/15(土) 21:05:10 ] 人生、楽しい事は多くは無いけど、勉強は辛さをちょっとガマンすれば楽しくなれる近道だと二十年来の劣等生の俺は思う。
590 名前:デフォルトの名無しさん mailto:sage [2006/07/16(日) 00:49:33 ] 辛いと思っているなら負け組み。
591 名前:デフォルトの名無しさん mailto:sage [2006/07/16(日) 04:35:58 ] >590の言葉が沁みる
592 名前:デフォルトの名無しさん [2006/08/21(月) 11:04:09 ] 大学は概念しかないから、せいぜいおもちゃシステムをこねくりまわして 能書き垂れてる。 やはり、言語学習で慣れるのが先では? でも言語学習だけで終わると薄っぺらな人生と同じで虚しい。 1の質問に対しては「両方とも必要」という穏当かつ中途半端な 回答しかないと思う
593 名前:デフォルトの名無しさん mailto:sage [2006/08/27(日) 18:34:37 ] 恐レスだけど、鬱本はさすがに内容が古すぎるよ。 オブジェクト指向設計技術はここから何度も刷新されている。 今から購入するんなら、 「デザインパターンとともに学ぶオブジェクト指向のこころ」を お勧めしたい。
594 名前:デフォルトの名無しさん [2006/08/27(日) 21:21:10 ] 仮説だが、プログラミングの「プ」も知らない人に教える方法として、 上から下に処理が実行されることを教えた後ですぐに 継承とかインターフェースとか教えて、 デザインパターンのいくつか、例えばテンプレートメソッドとかを覚えさせて、 その後で、繰り返し文とか配列とか教えたら、 なかなか面白いことになるのではなかろうか。 誰か新人に試してみれ。
595 名前:デフォルトの名無しさん mailto:sage [2006/09/06(水) 17:34:59 ] 日本語の学習が先。横文字を使って得意がるようになったらオシマイ。
596 名前:デフォルトの名無しさん mailto:sage [2006/09/07(木) 22:20:38 ] >>595 確かに横文字で得意がるタイプは居るな しかし敢えて>>595 の言う横文字が 何処までを指すのか知りたい 少なくともここ一週間のこのスレのログには 得意がる程の横文字は見当たらないんだが…
597 名前:デフォルトの名無しさん mailto:sage [2006/09/07(木) 22:55:32 ] >>596 そんなの>>595 の虫の居所次第じゃね?
598 名前:デフォルトの名無しさん [2006/09/30(土) 17:35:03 ] 「脱オブジェクト指向のススメ」 blogs.itmedia.co.jp/tamaki/2006/06/post_57ab.html
599 名前:デフォルトの名無しさん mailto:sage [2006/09/30(土) 18:26:43 ] >598 それ糞だから
600 名前:デフォルトの名無しさん [2006/09/30(土) 20:28:44 ] オブジェクトだけに、先に実践してからの結果として学ぶ(=分かる)でエエんやないか?
601 名前:デフォルトの名無しさん mailto:sage [2006/09/30(土) 21:34:09 ] Is some of the design pattern , for instance, the method of the template made to teach succession or the interface at once after processing is taught to be executed on below as a method of teaching to the person who doesn't know "P" of the programming though it is a hypothesis, and to be remembered, and if the for statement or the array is taught afterwards, it not interesting? easily It is tried by the new figure.
602 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 11:17:48 ] アプローチの違う複数の言語、たとえばSmalltalkでもclosでもC++でも通用する オブジェクト指向の概念、ちゅーのは、果たしてありうるんだろうか?
603 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 12:56:09 ] >>602 “オブジェクト指向的な設計”と“オブジェクト指向言語の使い方”を混同してるだけにしか見えない 設計から実装にいたる間は幾つかの層に分けられるのだから、より抽象的な所では同じでも良いが実装に近づくにつれ分化していくって所
604 名前:デフォルトの名無しさん [2006/10/01(日) 22:38:55 ] 言語によるオブジェクト感覚の違い C++ と Smalltalk
605 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 22:41:28 ] > オブジェクト感覚 > オブジェクト感覚 > オブジェクト感覚 > オブジェクト感覚 > オブジェクト感覚 > オブジェクト感覚 > オブジェクト感覚 「新たな感覚 ・・・ それはオブジェクト感覚だ!」 の巻〜
606 名前:デフォルトの名無しさん mailto:sage [2006/10/02(月) 04:51:36 ] >>603 チミが本気でそう思うなら、チミの「オブジェクト指向」は漠然としすぎていて 童話のようなお話だってことだ。 たとえばアランとビアルネのオブジェクト指向は、根本から明らかに違う。
607 名前:デフォルトの名無しさん mailto:sage [2006/10/02(月) 12:18:48 ] >>606 チミが本気でそう思うなら、チミの「オブジェクト指向」は漠然としすぎていて 童話のようなお話だってことだ。 以下ループ
608 名前:デフォルトの名無しさん mailto:sage [2006/10/02(月) 14:28:01 ] オブジェクト指向なんて簡単なモノすらわからないやつって・・・
609 名前:デフォルトの名無しさん mailto:sage [2006/10/03(火) 07:46:13 ] オブジェクト指向の簡単な部分だしか知ないうちは、オブジェクト指向が簡単だと感じる。 統一した概念として説明しようとすると、共通のキーワードを抜き出して、大雑把に 説明するくらいしか出来ないけど、それはオブジェクト指向についての説明にぜんぜんならない。 ネコクラスが哺乳類クラスを継承するような説明は、こういう勘違いから始まるんだろう。
610 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 13:24:27 ] オブジェクト指向の簡単な部分だしか オブジェクト指向の簡単な部分だしか だ・し・か
611 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 13:25:27 ] 誤字脱字するやつってイージーミス多いヘボグラマだろうな・・・・
612 名前:デフォルトの名無しさん [2006/10/04(水) 16:52:17 ] 誤字脱字をいちいち指摘する奴って、完ぺき主義者なんだろ? 神経質とも言うか・・・
613 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 16:53:10 ] そこに突っ込むしか無いのか?
614 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 16:58:44 ] >>612 この神経質はこの板によく出てくるん奴だろう。 どこに行っても友達少ないんだし、ほっとけよ。 リアルでも避けられて、こいつはもう既にうつ病が始まってるんだからさ。
615 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 17:02:14 ] >>614 ああそうだな。 うつ病の奴って、迷惑だから早く自殺して欲しいよな…
616 名前:デフォルトの名無しさん [2006/10/04(水) 21:50:36 ] >>612 他人の小さなミスをネチネチ言う奴いるよね そんな奴って、だいたい嫌な香具師で、スネ夫みたいな感じの香具師
617 名前:デフォルトの名無しさん mailto:sage [2006/10/05(木) 02:04:56 ] オマイラ暇すぎなんだな とりあえず一片真で濃い
618 名前:デフォルトの名無しさん mailto:sage [2006/10/05(木) 18:00:36 ] 誤字脱字の指摘なら、せめて 誤字の部分示してコンパイルエラーと書けば良いのに 単なる指摘しか出来ない奴の頭の構造ってどうなってだろな
619 名前:デフォルトの名無しさん mailto:sage [2006/10/05(木) 18:26:10 ] >>618 何が書いてあるのか読めないのだが? もう一度書き直してくれ。
620 名前:デフォルトの名無しさん mailto:sage [2006/10/06(金) 00:10:07 ] 情報処理技術者試験の問題集にこんなのあったんですが[f]の回答が納得いきません。 問題集の回答には「ヒープ」って書いてあったんですが、 この問題文から読み取れる情報から回答するとすれば「処理系依存」だと思うんですが皆様的にはどうでしょう? オブジェクト指向プログラミングに関する次の記述中の[a]〜[g]に入れる適切な字句を答えよ。 オブジェクト指向プログラミングでは、[a]化の概念を用いて[b]を介してデータを扱う。 これによって、オブジェクト内部の[c]構造に変更があっても、 呼び出し側のプログラムを変更する必要がなく、保守性の向上が期待できる。 スーパークラスで定義した操作をサブクラスで再定義することもできる。これを[d]という。 操作の再定義によって、同じ名前でも違った実装をもつことになる。 実装が異なっても、それを呼び出すプログラムが違いを意識しなくても良いことを[e]という。 プログラムによって生成されるオブジェクトの実体は、[f]領域に確保される。 使用されなくなったオブジェクトの管理をプログラムで行うのは困難なので、 [g]によって領域内の不必要なオブジェクトの整理を行い、領域の再利用を図る言語処理系がある。
621 名前:デフォルトの名無しさん mailto:sage [2006/10/06(金) 00:14:50 ] >>620 過去問から出題したのかなぁ もし[b]がメンバ関数ならすごくC++臭くて鼻つままないと近寄れねーです
622 名前:デフォルトの名無しさん mailto:sage [2006/10/06(金) 03:04:20 ] カプセル、メソッド、データ、オーバーライド(メルトダウンを起こすやつではない)、 多態、f、ガベージコレクション、かな? fはスタックの場合もあるよね。
623 名前:デフォルトの名無しさん mailto:sage [2006/10/06(金) 05:29:27 ] Javaはスタックマシンだっけ?
624 名前:デフォルトの名無しさん mailto:sage [2006/10/06(金) 06:35:10 ] JVMならスタックマシンだ。
625 名前:デフォルトの名無しさん [2006/10/07(土) 16:38:54 ] 実装の仕方によってヒープ、スタックのどちらもあるうるなら、 それらのスーパークラスであるメモリを答えにすればいいのでは?
626 名前:デフォルトの名無しさん mailto:sage [2006/10/07(土) 17:03:40 ] >>625 実装にばかり気をとられてそこまで気がつかきませんでした。 「プログラムによって生成されるオブジェクトの実体は、[メモリ]領域に確保される。 」 なに当たり前のことを言ってるの?的な部分もありますが、 同じ文章が試験に出題されたらこれでいきます。
627 名前:デフォルトの名無しさん mailto:sage [2006/10/07(土) 22:04:11 ] メモリ領域かぁ、なんか収まり悪いな。 コード領域の対してのデータ領域とかはどう?
628 名前:デフォルトの名無しさん mailto:sage [2006/10/08(日) 02:50:49 ] ヒープ だろ
629 名前:デフォルトの名無しさん [2006/10/08(日) 10:08:52 ] C++でTestClassという名前のクラスが定義されているとして foo(){ TestClass class; TestClass *p_class = new TestClass; } 前者はスタック、後者はヒープに領域が取られるんじゃなかったっけ? 規格書で動作まで規定されてるかわからんけど。
630 名前:デフォルトの名無しさん mailto:sage [2006/10/08(日) 10:34:40 ] 初めてスタックとヒープという言葉を覚えて嬉しくてしょうない厨かな。
631 名前:デフォルトの名無しさん mailto:sage [2006/10/08(日) 13:33:59 ] 君はいろんなスレでなんとか厨といい続けてるよな もう何年にもなるんじゃないか コテハンを厨厨にすればいいじゃないかな
632 名前:デフォルトの名無しさん mailto:sage [2006/10/08(日) 13:54:56 ] ちゅうちゅうねずみさん^^
633 名前:デフォルトの名無しさん mailto:sage [2006/10/08(日) 13:59:12 ] 厨厨たこかいなでどう?(なにが?)
634 名前:デフォルトの名無しさん [2006/10/09(月) 03:57:23 ] 漏れはてっきり ヒープ ⊃ スタック だと思ってたよ
635 名前:デフォルトの名無しさん mailto:sage [2006/10/13(金) 23:12:06 ] かいな様はどうだろう?(なにが?)
636 名前:デフォルトの名無しさん mailto:sage [2006/10/20(金) 12:05:52 ] >>594 それ、オレの大学のコンピュータサイエンスTのクラスでまさにやってるとこだよ。 ベーシックしか知らなかった友人Cは今クラッシュして苦しんでる。 概念学習より言語学習が先だとおもう
637 名前:デフォルトの名無しさん [2006/10/21(土) 20:09:11 ] だがそういう奴が仕事ができる。
638 名前:デフォルトの名無しさん [2006/10/22(日) 04:05:03 ] >>1 言語を習得したらその言語で書かれたサンプルを読みまくり、自分でもコードを書いてみる。 そうすればオブジェクト指向の考え方も自然と身に付く。 オブジェクト指向の概念本はやたら話の内容を大きくしてるだけの糞本が多いので要注意。
639 名前:デフォルトの名無しさん mailto:sage [2006/10/22(日) 05:46:57 ] 問題はオブジェクト指向を使えるかどうかよりも でかいプロジェクトを自分で設計出来るかどうか、
640 名前:デフォルトの名無しさん mailto:sage [2006/10/22(日) 08:44:38 ] >>639 でかいプロジェクトを設計出来る ・OOは心強い武器になる ・近頃はOO分析とか言われてる →OO使える > 問題はオブジェクト指向を使えるかどうかよりも 少なくとも、オブジェクト指向は使えなきゃ困る /* …てかOOなんて”指向”だから、思想と同じ意味だよ! そんなに神聖化する必要なんて無いんだよ! って言いたかっただけです */
641 名前:デフォルトの名無しさん mailto:sage [2006/10/22(日) 10:24:48 ] 自分もずっとVB厨だったけどC#に初めて入ったときは感動した。 ソースの可読性がよく、とてもこざっぱりしていて。 もともとVBやってたときも、exe開発はせず、ほとんどdll開発。 データ取得クラスを作って、 普通にvb5.0のときから、そのクラスをnewして、プロパティをセットして get()メソッドでデータ取得。 みたいなことをしていた。 おそらくそれ作ったのがC上がりの人だったのかもしれないが。 今思うとサーバにdllを配置して、各画面のexeをクリックしたと同時に サーバのdllとクライアントのdllのバージョンを比較し、新しくなっていたら、サーバから取り直す、という 処理も入れていた。 そんなことを3年間やって客先とか出向いたりいろいろしていて、いざ次にVBやりましょう、と他のプロジェクトに入ったとき 非常にわかりづらかった。 その後javaをへてC#に入ったけど、実は今とってもピッタンコと思える言語をみつけてうれしくなってる。
642 名前:デフォルトの名無しさん mailto:sage [2006/10/24(火) 01:53:59 ] >>641 そういう奴なら暇が出来たら関数型言語とか弄ってみな すげえおもしれえよ
643 名前:デフォルトの名無しさん [2006/10/26(木) 13:13:33 ] C#なんてウンコだからJavaをやってみなよ。感動する。
644 名前:デフォルトの名無しさん mailto:sage [2006/10/26(木) 13:23:33 ] Javaなぁ・・ あれはもうダメだ。
645 名前:デフォルトの名無しさん mailto:sage [2006/10/26(木) 22:33:19 ] Javaは言語仕様よりも、周辺のクラスライブラリが評価の対象になってるからなぁ 言語仕様事態はとくに面白くもなく、醜いわけでもなく・・・
646 名前:デフォルトの名無しさん mailto:sage [2006/10/26(木) 22:55:00 ] >>645 とすると、C#も話がだいぶ近いが、C#はどう思う?
647 名前:デフォルトの名無しさん [2006/10/26(木) 23:06:54 ] >>646 横レスするけど、Java と違って野良フレームワークがあまり無いから 楽なような気がする。あとMSが勝手にガンガン突っ走るんでJavaより ダイナミックで面白いよね。2.0 だの 3.0 だの。
648 名前:デフォルトの名無しさん mailto:sage [2006/10/26(木) 23:16:09 ] >>647 Javaは携帯やサーバー用途に広がったけど、 C#はいくら面白くてもWindows関係だけでは? 突っ走っていてもMSやC#は一体何がしたいんだろう? そこが明確じゃないからC#よりJavaに流れるのかもしれない。
649 名前:デフォルトの名無しさん mailto:sage [2006/10/26(木) 23:19:33 ] Windows のデスクトップアプリを作ってね!
650 名前:デフォルトの名無しさん mailto:sage [2006/10/26(木) 23:22:03 ] Java最高!
651 名前:デフォルトの名無しさん mailto:sage [2006/10/26(木) 23:22:22 ] まぁそうなんだけどその「Windowsだけ」の部分もかなりのボリュームがあるわけで。 (漏れはPC用のソフト作る会社で働いてるから、かなりバイアスがかかってる)
652 名前:デフォルトの名無しさん mailto:sage [2006/10/26(木) 23:24:11 ] >>645 Javaの言語仕様をじっくりみていくとその奇怪さがよくわかるよ
653 名前:デフォルトの名無しさん mailto:sage [2006/10/26(木) 23:28:49 ] >>652 kwsk
654 名前:デフォルトの名無しさん mailto:sage [2006/10/26(木) 23:29:03 ] >>652 を? たとえばどんな所が?
655 名前:デフォルトの名無しさん mailto:sage [2006/10/26(木) 23:51:06 ] >>651 具体的に言えば、Windowsのさらに.Netのところのみってこと。 いまだに世界は狭いよね。 結果は同じだし、それよりもJavaの方に目が向いてしまうもんじゃないか。
656 名前:デフォルトの名無しさん mailto:sage [2006/10/26(木) 23:57:11 ] 並行にという概念がないのんかこの>1は なんでどっちかが先に生まれないいかんねん。同時に生んだらええねん
657 名前:デフォルトの名無しさん mailto:sage [2006/10/27(金) 00:00:09 ] >>653 >>654 いやね、↓の本をちょっと娯楽で読んでいたらJavaって変だなぁって改めて思わされたから。 www.amazon.co.jp/gp/product/4894716895/sr=1-80/qid=1161874695/ref=sr_1_80/250-9245522-9627404?ie=UTF8&s=books
658 名前:デフォルトの名無しさん mailto:sage [2006/10/27(金) 01:10:48 ] とりたててJavaが変なんじゃなくて、 プログラミング言語って人が普通に生活する感覚からは大きく外れてるよね って感じな。
659 名前:デフォルトの名無しさん [2006/10/27(金) 08:08:48 ] >>657 もしC++で同じような本があったら10倍くらいの厚さになるだろうなw
660 名前:デフォルトの名無しさん mailto:sage [2006/10/27(金) 10:59:39 ] >>657 BASICは5〜6倍でC言語でも3倍位の厚さになるな。 その位Javaはシンプル Windowsの特定のバージョンのC言語だけやってると気が付かないと思うけど 良い意味でMSに囲いこまれてるってだけ
661 名前:デフォルトの名無しさん mailto:sage [2006/10/27(金) 11:08:21 ] >>660 > BASICは5〜6倍でC言語でも3倍位の厚さになるな。 納得できる定義ではない よって > その位Javaはシンプル の帰結は論理的ではない と言ってみる
662 名前:デフォルトの名無しさん mailto:sage [2006/10/27(金) 11:15:55 ] Schemeなんかは、M式無くした事で多少変なところも出てきたけど、おおむねきれいなんじゃない?
663 名前:デフォルトの名無しさん mailto:sage [2006/10/27(金) 11:19:24 ] >>660 古典言語を引き合いにだしたら、そりゃ変なところもあるでしょうよ。
664 名前:デフォルトの名無しさん mailto:sage [2006/10/27(金) 15:35:59 ] C#は変態的キモヲタ専用言語か。Javaは爽やかな一般人用で。
665 名前:デフォルトの名無しさん mailto:sage [2006/10/27(金) 15:53:47 ] C#のどこがキモイの?
666 名前:デフォルトの名無しさん mailto:sage [2006/10/28(土) 14:08:05 ] #って表記からしてキモイ #って何#って
667 名前:デフォルトの名無しさん mailto:sage [2006/10/28(土) 14:16:25 ] MSにネーミングセンスをもとめちゃいかんよ 彼らはわざわざ検索しにくい言葉を使うのが習性らしい .Net、Word、.doc....実に迷惑千万だろ
668 名前:デフォルトの名無しさん mailto:sage [2006/10/28(土) 14:42:48 ] #=++ ++
669 名前:デフォルトの名無しさん mailto:sage [2006/10/28(土) 17:45:27 ] #=ちょっとしか進化してないという感じがしてキモい、というか情けない。
670 名前:デフォルトの名無しさん mailto:sage [2006/10/28(土) 18:09:18 ] 半音上がる程度ですから、
671 名前:デフォルトの名無しさん mailto:sage [2006/10/28(土) 20:13:40 ] おまえら、#ごときで何を盛り上がって・・
672 名前:デフォルトの名無しさん mailto:sage [2006/10/28(土) 21:19:37 ] 使う人間が♭、それがC#。
673 名前:デフォルトの名無しさん mailto:sage [2006/10/28(土) 21:36:16 ] >667 「COM」を追加。
674 名前:デフォルトの名無しさん mailto:sage [2006/10/28(土) 23:05:58 ] 2 名前:仕様書無しさん 投稿日:2006/10/28(土) 12:51:58 関連リンク 哲学者ならばプログラム言語を勉強したまえ academy4.2ch.net/test/read.cgi/philo/1162007282/
675 名前:デフォルトの名無しさん [2006/10/29(日) 21:30:21 ] >>673 Windowsも追加しといてー
676 名前:デフォルトの名無しさん mailto:sage [2006/11/06(月) 11:36:22 ] >>667 >>673 >>675 おまいらSOAPを忘れてる
677 名前:デフォルトの名無しさん mailto:sage [2006/11/06(月) 15:10:56 ] 拡張子.doc はどうよ
678 名前:デフォルトの名無しさん mailto:sage [2006/12/14(木) 03:24:41 ] Rっていう統計ソフトには勝てまい
679 名前:デフォルトの名無しさん [2006/12/25(月) 07:17:48 ] あげ
680 名前:デフォルトの名無しさん mailto:sage [2006/12/26(火) 04:21:52 ] S でゲーム作ってた使途がいたなぁ
681 名前:デフォルトの名無しさん [2006/12/26(火) 05:55:05 ] >>664 Javaのどこにさわやかなイメージがあるんだ? 携帯アプリ製作現場しか思い浮かばんぞ?
682 名前:デフォルトの名無しさん mailto:sage [2006/12/26(火) 19:34:45 ] NetScape
683 名前:ココ電球(∩T∀T) ◆tIS/.aX84. [2006/12/26(火) 19:36:21 ] オブジェクト指向逝ってよし
684 名前:デフォルトの名無しさん mailto:sage [2006/12/30(土) 02:18:49 ] 何でこんなところにココ電がww
685 名前:ココ電球(∩T∀T) ◆tIS/.aX84. [2006/12/31(日) 11:46:12 ] 昔は逝ってよしの1というコテだった。 話は変わるが、会社でオブジェクト指向信者がサーバーに負担かけまくって しばしばDB飛ばしてたのがいたが、首になったらしい。
686 名前:ココ電球(∩T∀T) ◆tIS/.aX84. [2006/12/31(日) 11:48:53 ] たまんねえぜ。 こっちがチューニングで爪に火を灯すようにサーバーの負荷減らしてるのによお。 ドッカーンと、こっちがチューニングで減らした量の100倍くらいの負荷作っちゃうからな。 示威行為なんだよな。 まったく信者ってやつは。
687 名前:デフォルトの名無しさん mailto:sage [2006/12/31(日) 14:12:50 ] とりあえずNG登録まで読んだ
688 名前:デフォルトの名無しさん [2007/01/19(金) 23:06:21 ] まず オブジェクト指向における再利用と、関数による再利用 の違いを教えてくれ。
689 名前:デフォルトの名無しさん mailto:sage [2007/01/19(金) 23:55:50 ] 無い
690 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 00:46:15 ] オブジェクト指向のオブジェクトの概念は型理論で説明できる。
691 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 00:52:14 ] それは無い
692 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 00:52:45 ] 関数もオブジェクト
693 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 00:57:37 ] オブジェクトも関数
694 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 01:18:46 ] >>691 検索してみろ
695 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 02:25:43 ] >>694 FJ のことか?
696 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 03:21:36 ] 「哺乳類を継承して犬と猫を作り、『鳴く』というメッセージを送ると犬なら『わん』、猫なら『にゃあ』と鳴く」 これがオブジェクト指向か?
697 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 08:35:09 ] >>696 その通り
698 名前:ココ電球(∩T∀T) ◆tIS/.aX84. [2007/01/20(土) 09:42:36 ] 「わん」とか「にゃあ」の音はモノじゃないのでオブジェクト指向で扱えませんね
699 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 11:08:26 ] は?
700 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 11:16:09 ] >698 class 音
701 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 11:42:28 ] >>698 わんクラス class 犬 interface 吠えるく{ 鳴き声 bark(){ return new わん(); } }
702 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 11:44:17 ] >>698 オブジェクト指向で表現できないものは無いw あほちゃうかw
703 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 12:14:34 ] まあ、オブジェクトは貧乏人のクロージャだしね。
704 名前:ココ電球(∩T∀T) ◆tIS/.aX84. [2007/01/20(土) 12:26:51 ] インターフェイスもオブジェクトにできませんねえ
705 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 12:35:42 ] 視野が狭い
706 名前:ココ電球(∩T∀T) ◆tIS/.aX84. [2007/01/20(土) 12:51:10 ] 犬とか猫はあつかえても高度な抽象的概念はあつかえませんね。 ハングルが世界最高の言語だって言ってる連中と同列ですね。
707 名前:ココ電球(∩T∀T) ◆tIS/.aX84. [2007/01/20(土) 12:51:35 ] 犬とか猫はあつかえても高度な抽象的概念はあつかえませんね。 ハングルが世界最高の言語だって言ってる連中と同列ですね。
708 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 13:03:45 ] マトモな頭を持った人間なら、Cなどの構造化言語をある程度使い こなせるようになったら、OOP的なアプローチでロジックを組めば 綺麗に効率よくコーディングできることに気が付くはずだ。 (たとえそれがOOPとして既に広く周知されたものだと知らなくても) そこでC++などを勉強すれば、綺麗で効率の良いスタイルのコードを 自然に書けて、さらに補強する機能があることは自然と受け入れら れるはず。 要するに、概念学習なんて自然と思いついて然るべきもので、 わざわざ他人から教えられるようなものではない。 概念学習で苦労しているのは低脳。つーかマ向きの人間じゃない。
709 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 13:14:27 ] >702 流石に「表現」するには厳しいモノも無くはないだろう。OOが万能とは思わない。 それまでのプログラミングより表現の幅は大きいと思うけど。
710 名前:デフォルトの名無しさん [2007/01/20(土) 13:23:45 ] オブジェクト指向狂詩曲って本で大体は理解した。
711 名前:デフォルトの名無しさん [2007/01/20(土) 13:53:50 ] >>708 >要するに、概念学習なんて自然と思いついて然るべきもので、 >わざわざ他人から教えられるようなものではない。 どちらが効率的かということだろ。既に他人が知っていることを わざわざ自分で再発見する必要はないと思うけどね。他人が考え てくれたものはありがたくさっさと学んだ方がよほど効率的で いいと思わないか?
712 名前:デフォルトの名無しさん mailto:age [2007/01/20(土) 15:11:42 ] 最近まで、オブジェクト指向言語の メリットが見出せなかった。 使えないとか、理解できないとかではなくて 非手続き型で十分じゃね?って感じで でも.netやらJAVA系のエディタは便利だな まあ、オブジェクト指向開発は ツールありきってことかな
713 名前:デフォルトの名無しさん mailto:age [2007/01/20(土) 15:15:55 ] まあ、言いたい事はアレだ ソースのインデント萌え〜ってことよ。
714 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 16:22:42 ] >>706 扱えないと思うヤツには扱えない オブジェクト指向は難しいと思うヤツには難しい
715 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 16:25:46 ] これはバイナリデータである、という抽象化すら出来ない奴がいるから困る。 データ毎に処理を分けるなよと思ったところで、がちがちの密結合でThe END
716 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 16:34:44 ] >>708 クラス=構造化された単位 だったらそうなるがそれじゃただの機能分割だw クラスが共通関数のまとめ役って言う考えはOO的ではない
717 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 16:46:01 ] >>716 クラス=関連の強いデータと関数の塊と言うのは十分OO的 OOと言うのは結局、効率的な機能分割法にすぎない。
718 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 16:47:57 ] >>717 初期のOOの考え方に近いか ただ、クラス=役割だ
719 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 16:50:45 ] 概念的はなっそうが出来てないと単なる機能分割で終わってしまって クラスが単なる空間定義に終わってしまっているという良い例だなぁw クラスは空間定義ではあるが、OO的というにはそれだけではたりない。
720 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 16:51:36 ] >>719 ×概念的はなっそう ○概念的なアプローチ
721 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 17:00:47 ] >>719 それでは、その足りない部分を具体的に述べてくれ。
722 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 17:02:19 ] >>721 役割、意味論
723 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 17:04:02 ] >>722 分割時に当然、役割、意味単位で分けるが それじゃ駄目なん?
724 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 17:07:32 ] 役割は機能的な役割という意味ではない。 実社会における役割と等価。 意味論も機能的な意味論ではない。 実社会における意味論と等価。 構造化アプローチで設計していくとソコは必ずしも一致しない。 ただ、構造化=役割の細分化という意味なら同意できるなぁ。
725 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 17:11:42 ] 実社会という言葉は少々極端ではあるが。
726 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 17:12:12 ] >>724 すまんが、機能的な意味と役割と 実社会における意味と役割とが 解離してる。例をあげてくれないか?
727 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 17:29:38 ] >>726 実社会という言葉は適切ではなかったw 要するに、手続きからクラスを定義するのと 要件からクラスを定義するのでは、クラスの作られ方が違ってくるってこと。 ただそれもレベルの問題で、旨くできる人はそれでもうまくクラスが作れているから 厳密な違いは無いと思うけど、旨くない人が手続きからクラスを導出していくと クラスのインターフェイスが違ってくる。 例)ある業務のシステムを作っています。 【手続き型の構造化手法】 手続きAからクラスBを導出しました。 その場合、クラスBは多かれ少なかれ手続きBに特化する。 後から手続きCでもクラスBが持つデータを使うことがわかりました。 でも、クラスBのインターフェイスは手続きBようなので、手続きC用のインターフェイスを 作りました。 【OO的手法】 業務の役割や意味からクラスBを導出しました。 クラスBには、業務を実行するインターフェイスDがありました。 業務の手続きA、CはクラスBのインターフェイスDを使うように実装する事にしました。
728 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 17:40:24 ] >>727 ありがとう、なんとなくわかった、しかし そういう話なら、もっと以前の構造化プログラムの モジュールでも同じだと思うけど、モジュールBが手続きA、C どちらでも、そのまま使えるような設計が構造化でも 良い設計のはず。
729 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 18:56:56 ] >>728 構造化とOOの決定的な違いは抽象化
730 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 18:57:59 ] まさかここまで引っ張ってきておいて 構造化がオブジェクト指向特有の手法だと思ってたとかいうオチじゃないよね・・・?
731 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 19:07:29 ] 構造化でもクラスを作ることは出来る だがそれだけでOOとはいえない
732 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 19:08:56 ] >>729 抽象化すれば、問題ないの? なら、機能分割時に、役割に応じて 共通部分を親抽象クラスなりインターフェイス(Javaなもんで) なり抽出して作成すればOK?
733 名前:デフォルトの名無しさん [2007/01/20(土) 19:10:50 ] すまん。わんとかにゃあで説明してくれ。
734 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 19:12:12 ] >>732 手っ取り早くはデザインパターンとかを勉強してみるといいんじゃない?
735 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 19:20:55 ] >>734 デザパタは、実務で使ってるよ。 TemplateMethodとかVisitorとかFactoriyMeyhodとか、 良く使う。
736 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 19:39:04 ] ぶっちゃけ、デザパタとかクラスの動きとか、 実務レベルの話は、それなりにわかるんだが その上のOO道みたいな、哲学的な部分がさっぱりわからん。
737 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 19:45:18 ] >>736 変に構えなくても良いんじゃね? しょせん継承・カプセル化・情報隠蔽が出来てりゃ C++ では OO なんだし。
738 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 19:52:20 ] >>737 やっぱり、構えなくて良いんかね。 でも、OO的で無いとか観念的なアプローチをしろとか 言われたんで気になってね。
739 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 19:55:02 ] ファイルから/データを読み込んで/パースして/溜めておいて/次の日になったら/配信する File Input Parse Queue Timer Output 言葉と実装とでE-Rが変わらないようにすると管理しやすいんだよね。 OOに慣れると疎結合を意識しだす嬉しい恩恵も得られる。 C言語使ってるときでもOOは意識するもんだけどね。
740 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 20:13:30 ] >>727 図に描いてみたけど上の構造化手法の例の問題点がよく分からん www.borujoa.org/upload/source/upload9881.gif
741 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 20:15:43 ] >>740 何でデータが手続きを参照してるの?w
742 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 20:22:17 ] >>741 構造化手法からオブジェクトを導出するならこんな感じになるのかなってのを 想像して図にしてみただけだよ。 その矢印はデータの流れを表してると考えてくれ。
743 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 20:52:55 ] なんで構造化手法からOOで言うところのオブジェクトを導出しようとするのかがわからん >>727 の問題点は、本来1つですむインターフェイスが手続きごとに複数実装しなければならんて事。 共通的に使われるものが、個別の要件に応じてインターフェイスを変更するのはおかしいんでは?
744 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 21:05:28 ] データが同じなら1つのクラスでメソッドで処理を分けるのがオブジェクト指向的にも 普通の設計だと思うけど、>>727 の説明は何が言いたいのか理解しづらい。
745 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 21:13:12 ] >>744 >データが同じなら1つのクラスでメソッドで処理を分けるのがオブジェクト指向的にも・・・ データとは? この時点でOOではない そういうのがわからないから概念から学ぶべきだといっている ただ、判らないからといって実務で直接的に問題になるか?っと言われれば、状況による。 どんなに生産性が悪くても、それで成り立ってれば問題はないのでは?
746 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 21:15:16 ] ただ概念から・・・っといっても、実際には何らかの言語を通さない事には把握しにくいのも事実 両方同時に がいいのでは?
747 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 21:25:14 ] >>745 IntegerやStringから、List、HttpRequest、Bitmap、Window、、、、。 世の中にはデータみたいなオブジェクトが腐るほど溢れてるけど、これらはOOじゃないのか?
748 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 21:29:41 ] いいからオブジェクト指向とは?から勉強しなさいな
749 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 21:30:51 ] >>748 分からないから説明してよ。あなた自身の言葉で。
750 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 21:32:03 ] データは全てオブジェクト。オブジェクトじゃないものなど存在しない。 intもオブジェクト、言語仕様に振り回されるな。
751 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 21:36:15 ] 違う。オブジェクトであると定義した時点で、はじめて『それ』はオブジェクトになる。
752 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 21:41:43 ] ならintはオブジェクトだろ?
753 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 21:43:08 ] int をオブジェクトと定義すれば int はオブジェクト オブジェクトではないと定義すれば int はオブジェクトではない
754 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 21:43:45 ] オブジェクト指向は人を選ぶから、無理にわかろうとする必要は無い
755 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 21:43:46 ] 言葉遊びに酔ってるだけの馬鹿だったか、邪魔したな。
756 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 21:44:41 ] 自明なことすら分かってもらえないのか……( ´ー`)y-~~
757 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 21:48:11 ] intはオブジェクトではないと定義したオブジェクトの参照をintは持つわけだ。
758 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 21:52:26 ] やはり言語から入ると、言語で表現できる範囲でしか物を考えられなくなるから オブジェクト指向の学習としては概念中心に行うべきか?
759 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 21:58:16 ] 観念論が役に立たないのは、 ここの、やりとりを見れば自明かと。 大体明確な解すらないのだから、 学者が研究でやれば良いレベル初心者には、まったく必要ない
760 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 21:58:45 ] モダン言語はプリミティブ型にもclassがある。 Javaですらint.classが存在する。ちなみにInteger.classとは別物。
761 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 22:11:04 ] >>759 そうそう で、そういう奴らは指示されたようにコーディングだけしてれば良いのだw
762 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 22:15:45 ] 概念論が役に立たない奴には元から概念がないだけというオチ。 OOは文系のための言語という考えがあるが、あながち間違っていない。
763 名前:デフォルトの名無しさん [2007/01/20(土) 22:33:45 ] その前に日本語をきちんと学ぶこと。 プログラムが書けない奴は日本語もダメ。 もちろん、日本人の話なw
764 名前:740 mailto:sage [2007/01/20(土) 22:48:38 ] また懲りずに図を描いてみた。今度は構造化手法のDFDでスタックを表現した。 こうやって見るとオブジェクト指向っぽく見えない? www.borujoa.org/upload/source/upload9885.gif
765 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 22:58:15 ] オレはC言語やCOBOLしかやったことの無いメンバーしかいないチームで、 C++やJavaの開発を一緒にやったりする経験が多くあるが、オブジェクト 指向に背を向けている人は最後まで理解する事はできなかったね 結局その人たちは元の古巣へもどって逝ったよ。
766 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 23:04:49 ] >>765 それは、やる気や適正の問題で観念学習をしてないからじゃ 無いでしょう?俺の経験では言語学習だけで、使いものになる人は いても、観念学習だけでまともな設計ができる様になった人は 見たことないな。
767 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 23:12:17 ] >>766 ちがう 言語は覚えようとしていた だが概念を覚えようとはしなかった だから結局何がなんだかわからなくて挫折した 概念がわからない状態でOOPL使って作ったプログラムは ただの手続き型プログラムだろ Javaを使ってC言語や、COBOLを書こうとしているだけ
768 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 23:14:41 ] 何らかのプログラムを書けるようになるためには概念はイラン 期限付きで結果を出さなきゃならないような状況では、 形はともかく動くものが出来ればいいからな ただそれはオブジェクト指向技術を使って開発したプログラムではない
769 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 23:18:41 ] >>767 継承も、カプセル化・隠蔽もきちんと使ってたぜ どのあたりがOOじゃ無いのか、さっぱりわからないんだが OOの条件を書いてもらえないか?
770 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 23:20:18 ] >>769 >継承も、カプセル化・隠蔽もきちんと使ってたぜ っていうかその人は概念を持っているんじゃないの?
771 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 23:21:23 ] >>769 っていうか、オレが見た人をおまいが知ってるんかよw
772 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 23:24:55 ] 大体において、物事に理解度には個人差があるからなぁ 概念を特別に勉強しなくたって自然と習得できる人もいるだろうし、 そうでない人もいるだろうねぇ 特定の人間が出来るからって万人が出来るとは限らん。
773 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 23:27:21 ] >>770 コードを書く上での観念だけだよ。 OOの哲学なんてのは、まったく教えてない。 不必要な情報は出さない。同じ役割の物は、 抽象クラスを作ってインターフェイスを同じにする。 書き方が違うだけで、構造化でも同じだと言ってたよ。
774 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 23:28:23 ] 例えば俺はポインタの概念に戸惑いなどまったくなかったが 同じくC言語に熟練した同僚と違いOOPにも戸惑わなかった。 何に違いがあるのか考えてみると、 俺は普段からそういう思考で過ごしているからだという結論に落ち着いた。 言語適正=生活習慣。これだね。
775 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 23:32:57 ] >>773 オレもCとかCOBOLしかやったことの無い人にはそう教えるよ
776 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 23:35:09 ] つい極論に走ってしまったが、 言語学習と言うか実際にコード書かせて学習させるのが 一番だと思う。良いコードを見せてこうやったほうが安全とか 便利とか、実例で学ばせてゆく、英語とかでも文法いくらやっても 話せる様にはならないじゃん
777 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 23:35:54 ] 大体、手続き型の言語しかやったことの無い人が、すんなりJavaとか出来るようになるか? そんなの見たこと無いけどな。
778 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 23:38:08 ] >>776 なぜソコでクラスを分ける必要があるのか?とか そういう素朴な疑問にはどうやって答えるの? 概念の説明無しで
779 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 23:40:22 ] クラスとは物凄く小さな単位のライブラリ。 最初はこれくらいで教えておくのが楽。
780 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 23:43:46 ] >>777 Cやってた人は、早い場合は異様に早いよ 3日もしない内に、実務で使ってみたいから、 適当な仕事無い?とか聞いてくる まぁ、それで頼んだ結果をみると、 Cのヘッダみたいな定数クラスがあったり ツッコミ何処それなりにあったりするけど。 動くことはキチンと動く
781 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 23:46:03 ] 言語仕様だけならテンプレートまでで1週間で覚えられるんじゃね?
782 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 23:46:04 ] それでオブジェクト指向が理解できるの? プログラムが書けるようになるだけなのでは?
783 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 23:47:39 ] このスレの趣旨って、オブジェクト指向を学習するにはどうすべきか?っていうことでしょ?w プログラムが書けるようになることがゴールじゃないだろw スレ違いもいいところw
784 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 23:48:19 ] >>782 オブジェクト指向が理解できてると言える条件を 教えてもらわないと、なんとも言えない。
785 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 23:50:49 ] >>784 が言いたい事は、 >>784 自信はオブジェクト指向が理解できてて、 それはプログラムが書けさえすれば達成できるものだ、 という理解でいいの?
786 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 23:56:59 ] >>785 微妙に違う、オブジェクト指向の理解できてるかどうか なんかは誰にもわからない。ので実質、 保守性の生産性が高い設計、及び、プログラムが書ける事のみが 重要と言いたい
787 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 23:58:10 ] >>784 基準といえるか判らんが、 デザインパターンの知識が無くて設計しても、デザインパターンにマッチした設計が出来るようなら 割とオブジェクト指向を理解しているといえるのでは?
788 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 23:59:39 ] >>786 だがそれはスレの趣旨とあってないだろ?
789 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 00:03:27 ] 構造体があるクラスのメンバの参照をもったりしなければおおむねOOPは成功してる。
790 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 00:04:44 ] そういうもんだいじゃないんじゃ・・・・
791 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 00:09:49 ] >>787 デザパタ=OOなのか? それこそ実装よりの技術でOOの概念とは違う気がするが それはともかく教えれば、適切に使う様になる 場合が多いけど、教えずに使ってるのは、無いかも TemplateとかVisitorとかは、継承の説明で教えちゃうしなぁ これは、実装の話だから、設計だとどうだろうな、 実装おしえてから設計教えるからわからん。
792 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 00:11:15 ] あと、オブジェクト指向の理解度を測る基準としては、メトリクスも使えるか? 1クラスはpublicメソッド数が10個以内 1メソッドのコード行数が100行以内 1クラスの行数が200行以内 この条件でプログラムを作れるかどうか?
793 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 00:17:06 ] >>791 デザインパターンは役割の関係の雛形 これに近い適切な役割の関係が導出できるかどうかが問題 それには役割自体が適切に割り当てられているか?っという事も含まれてる
794 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 00:18:29 ] >>792 本当にそんな実装よりの評価で良いのか。 しかも、その条件で、たぶんOO的で無い クラスを幾らでも作れるし、設計できるよ。
795 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 00:22:36 ] >>793 デザパタが自然に使えてるかと言えば使えてるな。 だいたいデザパタって機能レベルの関係でもつかえるから このスレ的には、OOとあまり関係ないんじゃないか?
796 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 00:22:36 ] >>794 ある側面からの機械的な評価でしかない。 でも、OO的な考えを持ってない人はこの基準に収まる、”意味のあるプログラム”はかけないと思うね。
797 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 00:26:14 ] >>796 そんな事はないぞ、メソッドの長さは、Cでも短い方が良いし モジュールもそうだから、極論すればCのモジュールを そのままクラスにしたような物でもとおるよ。
798 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 00:30:22 ] それは意味のあるプログラムになるの?
799 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 00:31:56 ] ここでいってる”意味”とは、何でそういうクラス構成にしたか?って言う問いに対する答えで、 メトリクスをクリアするため、ってのは問題外w
800 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 00:35:09 ] まぁ要するに、オブジェクト指向を理解する=OOPLを理解するってことではないってことは はっきりしたんじゃないw
801 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 00:35:09 ] >1クラスの行数が200行以内 こんなもんJDKのクラスライブラリだけ見ても該当しないコードだらけやん
802 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 00:37:07 ] >>798 モジュールをそのままクラスにしたのだから 機械的にモジュール分割を行わなっていなければ 当然、例えば、ネットアクセスモジュールとか 意味はあるだろう。 >>799 たとえば、上の例だと ネットアクセスする関数郡って意味はあるよね。
803 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 00:39:44 ] >>802 class NetAccessMethods1 class NetAccessMethods2 class NetAccessMethods3 とか作ってそれぞれメソッド10個ずつ?w
804 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 00:47:21 ] >>803 それは、機械的な訳かただから違う NetAccessToA_Machine NeTAccessToB_Machine NetAccessCommon Aマシンへの、アクセス用 Bマシンへの、アクセス用 上記の共通部分 って感じのモジュール
805 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 00:48:49 ] >>804 w class Connection class Protocol class Message 見たいなクラスくらい作って欲しいもんだ
806 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 00:50:39 ] あと、Adressもいるかw
807 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 00:52:00 ] >>804 このクラス設計を見て、オブジェクト指向を理解しているとはお世辞にもいえんなw 申し訳ないけどw
808 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 00:52:31 ] ゴメン、 理解しているとはいっていなかったね
809 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 00:53:08 ] もう寝るぜw おやすみー
810 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 00:57:21 ] >>805 だから>>804 みたいな明らかに駄目なクラス分けでも メトリックス通ってしまうよって例だから
811 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 00:59:53 ] >>807 日本語ができない人だったのか。 気付かなかったよ。
812 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 01:06:29 ] >>810 あそっかw ゴメンよw ホイじゃホントにおやすみー
813 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 01:09:30 ] >>812 こちらこそ、眠いとこ煽って悪った おやすみ
814 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 08:46:07 ] ざっと読んで下の童話を思い出しました! ja.wikipedia.org/wiki/%E8%A3%B8%E3%81%AE%E7%8E%8B%E6%A7%98
815 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 10:58:18 ] なんだこのgdgd?
816 名前:デフォルトの名無しさん [2007/01/22(月) 01:13:23 ] オブジェクト指向言語は、数学で言う集合論の応用といえると思う。 そしてそこから、集合に属するオブジェクト、インスタンスという考え方で 実体を形成してそれらを「扱う」体系を言語化した。 それらに、継承や抽象化などの性質を浮き彫りにして強調することで 「オブジェクト指向」という概念を改めて定義した、ということではない でしょうか。
817 名前:デフォルトの名無しさん [2007/01/22(月) 01:18:25 ] そういう指向からすると、Staticあるいはsharedなど静的、共有という Globalメンバー(変数、関数)の方が特異な存在になっていると思う。 それらは型、集合に属するというものの、インスタンスではないから スーパーな存在、実物存在に対する、神、あるいは法則、あるいは イデア的な存在となっているため、 「オブジェクト指向」のなかでも「オブジェクト的でない」存在が結局 このStaticでsharedな存在ではないかと。
818 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 01:24:26 ] っていうか、言語学習と概念学習のどっちが先か?を考えるスレじゃハゲ
819 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 02:16:17 ] 神とかイデアとかじゃなくって便利だからだお staticなものをいちいちインスタンスにするのがバカバカしいからだお バカは概念にこだわる かしこいやつは目的を失わず、「言語」を学習する
820 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 02:22:56 ] バカは2chの煽りにこだわる かしこいやつは目的を失わず、「成果」を持ち帰る
821 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 11:51:54 ] オブジェクト指向的にトランプの「七並べ」を作るなら どのようにクラスを定義しますか? 「カード」クラスにはどんなメソッドを定義しますか? カードを置く時、それはその場所に置けるのか否かの判定を どのクラスのどのメソッドで行いますか? 表示するカード絵はどのクラスが保持しますか?
822 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 12:00:35 ] カードはクラスにしない
823 名前:デフォルトの名無しさん [2007/01/22(月) 12:07:08 ] オブジェクト指向原理主義者なら、まず作る予定もない花札ゲームのための拡張性を考えて カードクラスをインターフェースにするところから始めるよ。
824 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 12:24:43 ] >>821 自分のもっている本を見ると、Cardクラスは int getNumber(); int getSuit(); String toString(); の3つ。 ルールクラスがあって、 Card[] findCandidate(Hand hand, Table table); で置ける場所の候補(トランプのスートとナンバー)を探すようになっている。
825 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 12:26:03 ] もしよろしければDで書いていただけませんか?
826 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 13:11:43 ] >>823 カードクラスを純粋クラスとしてカードの操作メソッドを定義。 カード絵クラスでカードの絵柄1枚と縦横サイズ等を保持。絵柄の読み込みもこのクラスにさせる。 トランプカードクラスはカードクラスを継承しコピーコンストラクタで裏のカード絵と表のカード絵の2個のカード絵オブジェクトをスートとナンバーと一緒に入力してそれが何のカードかを決める。 トランプカードクラスは入力されたカード絵オブジェクトを実体ではなく参照で保持する(つまりポインタで保持する)。 トランプカード集合クラスでトランプカードの裏の絵と54枚の表の絵計55個のカード絵オブジェクトを生成した後54個のトランプカードオブジェクトを生成する。 七並べゲームクラスはトランプカード集合オブジェクトを保持する。 ってどうよ?
827 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 14:18:41 ] 花札は大袈裟な気もするが トランプゲーム詰め合わせへの路線変更や 絵柄切替機能付けろって仕様追加はありそうだな
828 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 15:03:10 ] 花札云々は皮肉だろ
829 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 15:47:02 ] >>825 D言語は知らない。 オブジェクト指向を習いたいならJavaからした方がいいと思う。 オブジェクト指向系の書籍は、Javaで例を挙げているのが多いから。 自分もRubyを習おうと思って始めたけど、結局Javaの方を先に習得していたし。
830 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 18:01:34 ] >>827 なぜかそのトランプゲーム詰め合わせ仕様書にはトランプタワーが入っていたり さあ物理エンジンを作ろうw
831 名前:デフォルトの名無しさん [2007/01/22(月) 19:45:05 ] ム板にしては進みが早いな。 やぱ分け分かんなくなってる奴が多いのか?
832 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 20:36:43 ] 俺ならトランプカードクラスを派生して 七並べ用トランプカードクラスも作る
833 名前:デフォルトの名無しさん [2007/01/22(月) 20:50:46 ] >>823 標準クラスにも 使い道の分からないのはあるぞ?
834 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 21:27:54 ] ISOにカードクラスの標準化を提唱する
835 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 23:46:24 ] いきなり実装っぽい考えをしてるところがあかんな ちゃんとモデリングセーや
836 名前:デフォルトの名無しさん mailto:sage [2007/01/23(火) 00:07:37 ] >>835 そう思うならモデリング例を上げれや。 批判だけなら猿でもできる。
837 名前:デフォルトの名無しさん mailto:sage [2007/01/23(火) 17:38:20 ] >>823 より YAGNI 感を醸すために、トランプと花札を同じコンテナに格納できないように template にするべきだと思う
838 名前:デフォルトの名無しさん mailto:sage [2007/01/23(火) 23:32:43 ] >>819 >神とかイデアとかじゃなくって便利だからだお >staticなものをいちいちインスタンスにするのがバカバカしいからだお 便利といって何でもご都合主義で入れていけばいいならそもそも オブジェクト指向でなくてもいいということにもなるが オブジェクト指向であるのにオブジェクト的ならぬ存在に支えてもらわないと、 実際に本当には便利にならない、、 という現実があるのだ、という風にとらえないと、物事の限界や長所と短所 という考え方の意味がなくなる イデアや普遍法則があっていつでも自由に適用できるようになってないと 不便な現物世界になる、つまり現物は機能的に不全だといえるかもしれない
839 名前:デフォルトの名無しさん mailto:sage [2007/01/24(水) 21:44:56 ] どうでもいいよ
840 名前:デフォルトの名無しさん [2007/01/25(木) 21:07:55 ] C言語でも、関数ポインターと構造体を使えば、クラスを作れるよね?
841 名前:デフォルトの名無しさん mailto:sage [2007/01/25(木) 21:21:12 ] >>840 それがクラスなら、お前がクラスと呼ぶものは全てクラスだよ。
842 名前:デフォルトの名無しさん [2007/01/25(木) 21:22:02 ] >>840 継承どうするんですか?まクラス使いたいのなら、すなおにC#に汁 ところで、住人様方 VBやVC#でさくさくプログラミングしようかなーと思ってるんですが オブジェクト指向理解してないと、やっぱりプログラミングむりぽですか?
843 名前:デフォルトの名無しさん mailto:sage [2007/01/25(木) 21:23:00 ] >>842 やれんことは無いらしい。 www.sage-p.com/process/cool.htm
844 名前:デフォルトの名無しさん [2007/01/25(木) 22:38:11 ] >>841 .> それがクラスなら、お前がクラスと呼ぶものは全てクラスだよ。 それがクラスなら、プログラムと呼ばれるもの全てクラスだよ。 こっちの方がいいよ。
845 名前:デフォルトの名無しさん mailto:sage [2007/01/25(木) 23:04:07 ] 関数ポインターと構造体を使ったものが継承できたらクラスなのか?
846 名前:デフォルトの名無しさん mailto:sage [2007/01/25(木) 23:05:38 ] C++ のクラスのバイナリ構造の事をいってるんだろ?
847 名前:デフォルトの名無しさん [2007/01/25(木) 23:31:24 ] C言語を用いてクラスは実装できる オブジェクト指向言語はC言語で開発できる C言語 is King of プログラム言語s だ!
848 名前:デフォルトの名無しさん mailto:sage [2007/01/25(木) 23:37:43 ] で?
849 名前:デフォルトの名無しさん mailto:sage [2007/01/26(金) 01:36:17 ] >847 その理論だとアセンブラ最強な件
850 名前:デフォルトの名無しさん mailto:sage [2007/01/26(金) 01:40:04 ] >>849 機械語最強です
851 名前:デフォルトの名無しさん mailto:sage [2007/01/26(金) 01:40:36 ] ほんたまがでてきそう
852 名前:デフォルトの名無しさん mailto:sage [2007/01/26(金) 01:43:12 ] じゃあ貼っておこう ttp://hp.vector.co.jp/authors/VA015412/
853 名前:デフォルトの名無しさん mailto:sage [2007/01/26(金) 01:45:24 ] >>852 反応すんなほんたま
854 名前:デフォルトの名無しさん mailto:sage [2007/01/26(金) 02:32:48 ] よーわからんのだけど奇介護っつーのはオブジェクト指向でかけるのかい?
855 名前:デフォルトの名無しさん mailto:sage [2007/01/26(金) 02:36:48 ] あたりまえじゃん
856 名前:デフォルトの名無しさん mailto:sage [2007/01/26(金) 08:08:50 ] 機械語でかけない物は PCで実行できんからな。
857 名前:デフォルトの名無しさん mailto:sage [2007/01/26(金) 08:40:22 ] >>844 いや、>840 は一応 vtable くらいは用意するつもりなんだろうから。
858 名前:デフォルトの名無しさん mailto:sage [2007/01/26(金) 12:23:19 ] 構造化最強
859 名前:デフォルトの名無しさん mailto:sage [2007/01/26(金) 16:48:26 ] オブジェクト指向は、ソース書いてる内に、ほぼ勝手に身に付いていくものでしょw 参考書によってはそうでもないけど。
860 名前:デフォルトの名無しさん mailto:sage [2007/01/26(金) 21:45:36 ] だな
861 名前:デフォルトの名無しさん [2007/01/26(金) 22:36:24 ] ほんとかよ。 4000行あるようなクラス書いてないか? やたらif分がネストしてないか?
862 名前:デフォルトの名無しさん mailto:sage [2007/01/26(金) 22:43:21 ] それでもイーンダヨー
863 名前:デフォルトの名無しさん [2007/01/26(金) 22:56:24 ] >>861 プログラムは内部が糞であっても、要求を満たしてれば合格 逆に内部がどんなに素晴らしくても、要求を満たしていなければ不合格 よって、 4000行あるようなクラスで、且つ、やたらif分がネストしてたとしても 要求を満足していればOK
864 名前:デフォルトの名無しさん mailto:sage [2007/01/26(金) 22:57:38 ] 最低だ
865 名前:デフォルトの名無しさん mailto:sage [2007/01/26(金) 22:59:03 ] >>863 こういうセリフはよく職業プログラマが使うが 職業プログラマほど使ってはいけない言葉
866 名前:デフォルトの名無しさん [2007/01/26(金) 23:00:44 ] >>863 そして保守・運用作業が困難な事が目に見えているため、転職。
867 名前:デフォルトの名無しさん [2007/01/26(金) 23:07:07 ] いいや、顧客から言われた。 ついでに、要求を満たしてない物に金は払えない、とも言われた
868 名前:デフォルトの名無しさん mailto:sage [2007/01/26(金) 23:08:20 ] >>867 そんなの当たり前だハゲ
869 名前:デフォルトの名無しさん mailto:sage [2007/01/26(金) 23:09:54 ] マトモに動くもの作れないくせに給料もらってんじゃねーw
870 名前:デフォルトの名無しさん [2007/01/26(金) 23:11:13 ] 言語がコボルからjavaに変っただけで同じ書き方してる奴多いよなぁ。 クラス名がDF000001とか(w
871 名前:デフォルトの名無しさん [2007/01/26(金) 23:19:16 ] プログラムは要求通りに動いてはいたんだが、なまじっか、慣れてないオブジェクト指向使ったら納期が遅れちまって... >>863 , >>867 を言われたってわけよ、納期も大事な要求事項だからな
872 名前:デフォルトの名無しさん mailto:sage [2007/01/26(金) 23:21:36 ] >>871 それは単にお前がオブジェクト指向に慣れていないのが原因なだけでは
873 名前:デフォルトの名無しさん mailto:sage [2007/01/26(金) 23:22:46 ] だいたい、その時になってから勉強を始めようって姿勢がいかんのじゃ
874 名前:デフォルトの名無しさん mailto:sage [2007/01/26(金) 23:34:54 ] >>870 移植作業なんてものはそういうものだ。 読みやすくするのはリファクタリング作業。
875 名前:デフォルトの名無しさん mailto:sage [2007/01/26(金) 23:48:25 ] >>874 構造化設計のままリファクタリングなどできない。
876 名前:デフォルトの名無しさん mailto:sage [2007/01/26(金) 23:51:40 ] そりゃリビルディングの方がいいだろ
877 名前:デフォルトの名無しさん mailto:sage [2007/01/26(金) 23:56:39 ] 構造を変更するのはリストラクチャリングっていうんじゃなかったっけ?
878 名前:デフォルトの名無しさん mailto:sage [2007/01/26(金) 23:58:34 ] それがでてこなかったw
879 名前:デフォルトの名無しさん mailto:sage [2007/01/27(土) 00:00:22 ] どっちも同じ事だよ。 リストラクチャリングはリファクタリングの部分集合。
880 名前:デフォルトの名無しさん mailto:sage [2007/01/27(土) 00:02:35 ] ここ嫁 capsctrl.que.jp/kdmsnr/wiki/bliki/?RefactoringMalapropism
881 名前:デフォルトの名無しさん mailto:sage [2007/01/27(土) 00:02:53 ] リストラクチャリングを検索したら政治用語としての方がよく使われるみたいだが、ソフトウェアの世界でも一般的に使うのか? あまり聞かないねぇ。こういう事はリファクタリングというんだよ。おぼえとけ
882 名前:デフォルトの名無しさん mailto:sage [2007/01/27(土) 00:10:26 ] >>880 要するに、Martin Fowlerは、リファクタリングの粒度の事で言い方を変えたいだけじゃないの? そんな短絡的な趣味に付き合いたくもない。
883 名前:デフォルトの名無しさん mailto:sage [2007/01/27(土) 00:17:47 ] >>882 あほなの?
884 名前:デフォルトの名無しさん mailto:sage [2007/01/27(土) 00:22:35 ] >>882 まあ、この手の連中は用語作って商売するからな
885 名前:デフォルトの名無しさん mailto:sage [2007/01/27(土) 10:57:24 ] 構造化指向からオブジェクト指向に移った方が一番大変そう。 ある意味SUNの陰謀だw
886 名前:デフォルトの名無しさん mailto:sage [2007/01/27(土) 11:07:39 ] 構造化にもオブジェクト指向言語の機能は有効だと思うが
887 名前:デフォルトの名無しさん mailto:sage [2007/01/27(土) 11:13:51 ] 構造化って簡単に言うと、 1.条件分岐と反復文のみを用い、基本的に上から下へと制御が進む 2.類似した処理は関数としてまとめる だよね?
888 名前:デフォルトの名無しさん mailto:sage [2007/01/27(土) 11:24:54 ] 構造化でも、とりあえずDIPさえ満たしていればリファクタリングは可能かな。
889 名前:デフォルトの名無しさん mailto:sage [2007/01/27(土) 11:27:53 ] すまん、俺はオブジェクト指向が確立してからプログラミングはじめたから 実は、構造化指向は参考書の中で聞いたことがあるだけで実際には あんまり知らない。ただ構造化指向が染み付いた人はオブジェクト指向に脳みそ 切り替えるのは厳しいかな。と
890 名前:デフォルトの名無しさん mailto:sage [2007/01/27(土) 11:42:39 ] >>889 「構造化志向」って何? いや、 そんな細かな書き間違いの話なんかよりも、 むしろ >>889 の言う「志向」が、 何を指すのかを聞きたいな。 ・・・いやいや、 そんな細かな書き間違いの話なんかよりも、 むしろ >>889 の言おうとしたであろう「指向」が、 何を指すのかを聞きたいな。 例えば、「オブジェクト指向」でいう「指向」とは何なのか? とかさ。
891 名前:デフォルトの名無しさん mailto:sage [2007/01/27(土) 11:49:26 ] 正直、オブジェクト指向は 「デザインパターン」の一種だと思う。
892 名前:デフォルトの名無しさん mailto:sage [2007/01/27(土) 12:06:12 ] >>891 デザインパターンはオブジェクト指向のサブセットだろ
893 名前:887 mailto:sage [2007/01/27(土) 12:12:48 ] だから、オブジェクト指向においても、メソッドは、(2.の関数)の考えに近く、実際の処理 の記述は、(1.制御の流れ)に相当するよね? オブジェクト指向は主に全体を見通しての設計技法であり、構造化は実際の制御文を書く ときの技術って感じで、別に相反するものでもないと思うんだけど。 で、構造化しか知らない人は、全体の設計も構造化(制御中心)でしてしまうと。
894 名前:デフォルトの名無しさん mailto:sage [2007/01/27(土) 12:14:14 ] >>892 いや、逆だと思う。 要するに「デサインパターン has-a オブジェクト指向」。 GoF に「オブジェクト・パターン」なんてのが載っていても 全然おかしくないような気がする。
895 名前:デフォルトの名無しさん mailto:sage [2007/01/27(土) 12:19:05 ] >>894 ばかですか?
896 名前:デフォルトの名無しさん mailto:sage [2007/01/27(土) 12:33:17 ] >>895 勘違いしないでほしいが、俺は別に「デサインパターン」が凄い! なんて思っていない。 あれはプログラミング上で頻出する、枯れたイディオムを羅列したものだ (ただし形式上、「OOP による」という条件付、だがね)。 OOP も所詮は「プログラミング上のイディオム」だよ。
897 名前:デフォルトの名無しさん mailto:sage [2007/01/27(土) 12:42:02 ] >>896 >>895 は誰のカキコも読まないただの荒らしだからレスを返さなくてもいいよ
898 名前:デフォルトの名無しさん mailto:sage [2007/01/27(土) 12:44:08 ] っていうか、ほとんどスレの趣旨にあっていない書き込みばかりじゃねーかw
899 名前:デフォルトの名無しさん mailto:sage [2007/01/27(土) 12:45:40 ] オブジェクト指向の話だから、合ってない事もない
900 名前:デフォルトの名無しさん mailto:sage [2007/01/27(土) 13:48:39 ] >>893 よくいるんだが、構造化定理と構造化技法がごっちゃになってる。 構造化技法ってのは、特定のパラダイムというよりは、いろんな宣教師が各人勝手なことを吠えてただけに近い(これはオブジェクト指向○○も一緒だけど)。 シンプルな設計をするためのイディオム集みたいなかんじ。 データフローグラムなんてのもあったりして、データ中心の分析設計も構造化時代からあった。 データ + アルゴリズム = プログラム なんてのも構造化時代からのものだし。 モジュール化の話題では、pimpl に似た技法を使っての実装隠蔽の話などもあった。 OOが設計で構造化がコーディングと断絶したものではない。 OOは方針の違う構造化のスーパーセットみたいなもんだ。
901 名前:デフォルトの名無しさん mailto:sage [2007/01/27(土) 13:52:10 ] どうやら、ソフトウェア工学をまともに研究した経験がある人間は俺以外いないようだ。
902 名前:デフォルトの名無しさん mailto:sage [2007/01/27(土) 13:55:30 ] >>901 ああ、そうだな。 それと、現代において まともなソフトウエア工学なんてものがあると 思っているのもお前だけだよ。
903 名前:デフォルトの名無しさん mailto:sage [2007/01/27(土) 14:02:30 ] (;^ω^)
904 名前:デフォルトの名無しさん mailto:sage [2007/01/27(土) 14:10:56 ] >>1 答えを言ってやろう 電子工学の基礎→ディジタル回路→チューリングマシン→コンピュータの仕組み→機械語→アセンブラ→C言語→構造化設計→Pascal→C++→オブジェクト指向設計技法→Java→Lispと平行してラムダ計算を勉強→MLと平行してコンパイラを設計→Haskell
905 名前:デフォルトの名無しさん mailto:sage [2007/01/27(土) 14:22:36 ] 工学というよりは数学に近い。 つきつめれば最も実践的な宗教かな。 一つの世界観を創造してしかもそれを実装しているんだから。
906 名前:デフォルトの名無しさん mailto:sage [2007/01/27(土) 17:42:14 ] 要するにオブジェクト指向についていけていないコボラーが オブジェクト指向=構造化にしたいってことを言いたいスレに変ったって事か
907 名前:デフォルトの名無しさん mailto:sage [2007/01/27(土) 18:00:15 ] >>904 算数→数学→物理→量子→電気→電子工学の基礎→ …
908 名前:デフォルトの名無しさん [2007/01/27(土) 18:19:34 ] →情報理論→.......→宗教論→カルト宗教に入信→
909 名前:デフォルトの名無しさん mailto:sage [2007/01/27(土) 18:29:50 ] >>887 構造主義って哲学が大流行した時代があって、哲学以外の分野でも新しい概念や 手法の頭に「構造化〜」って言葉をとりあえず付けるのが流行ってたってだけで、 お前さんのいうダイクストラの構造化プログラミングとはまったく関係ないよ。
910 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 15:23:38 ] ダイクストラは 「類似した処理は関数としてまとめる 」 なんてことは言っていない。 あえて換言すれば 「全論理を構造化する」 かと
911 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 17:03:47 ] ほにゃああ へっけんろぴゅろぴゅ〜 あわ〜 へっけんあわ〜
912 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 22:33:57 ] ↑鬼才現る
913 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 01:05:35 ] こんなの見つけた。 「オブジェクト指向の概念の発明者は誰ですか?」 ttp://d.hatena.ne.jp/sumim/20040525/p1 3番目のクックのオブジェクト指向に興味があるんだが、 いまいち理解できずorz
914 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 09:35:35 ] おまえのせいじゃないから 原文を当たった方がいいよ 引用者が日本語を扱うのが下手だとしか思えん ↓ 抽象データ型が「型」による抽象化なのに対して、 オブジェクト指向は「手続き」によりそれを行なう対極の手法 (つまり“2”のオブジェクト指向の言うところとは違い、 両者はサブセット/スーパーセットの関係にはない)と位置づけていて興味深いです。 この文脈においては、もし“オブジェクト指向”したいと思うならば、 けっして this(や、self)の型を見て条件分岐をするような仮想関数 (や、メソッド)を書いてはいけない…ということが、よりはっきりと認識できるはずです。
915 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 13:02:58 ] >>913 >>914 の言うように論文を当たるのがベストだけれど、端的には… データの「型」を見て、相応しい「手続き」をするよう条件分岐みたいな処理をする 関数を書かないといけないのが、「型」による抽象化(クックの言う抽象データ型)。 「型」ごとに同名の関数を定義できて、それぞれその「型」に相応しい「手続き」を 記述するだけでいいのが、「手続き」による抽象化(クックの言うオブジェクト指向)。 前者だと、既存の「型」にかかわる「手続き」を新たに追加するときに、新しい 関数をひとつ定義すればよく、既存の関数にはいっさい手を加える必要がないので有利。 この場合、後者では、各「型」に追加した「手続き」に対応する関数を追加しないといけない。 逆に、既存の「型」と同じインターフェイスを備えた新しい「型」を追加したいとき、 後者が有利。前者では、すべての既存の関数に新しい「型」に対してどのような 「手続き」をするのかの判断を追加しないといけないから。 説明しようとすると、けっこう難しいな。w
916 名前:デフォルトの名無しさん mailto:sage [2007/01/31(水) 01:25:12 ] 手続き”の”抽象化、という解釈でいいなら非常に自分のスタイルとあっててシックリ来る考え方だなー オブジェクト指向の”オブジェクト”=状態って言うのは、いまひとつ手狭な感じがして仕方が無い
917 名前:デフォルトの名無しさん mailto:sage [2007/01/31(水) 01:28:08 ] ”オブジェクト”≠状態ではなくて、 それだけではない、という意味
918 名前:デフォルトの名無しさん mailto:sage [2007/01/31(水) 01:45:17 ] 抽象データ云々はモウ秋田
919 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 01:23:42 ] やれやれ
920 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 01:37:45 ] もはやオブジェクト指向なんて言葉すら青カビ臭いし・・・
921 名前:デフォルトの名無しさん [2007/04/17(火) 23:49:25 ] ウホッ
922 名前:デフォルトの名無しさん mailto:sage [2007/04/19(木) 23:32:18 ] >>920 そうだな。たしかにいい感じに熟してきた頃合。 でも、これは材料としてであって、まだまだ料理の工夫が必要だろうけど。
923 名前:デフォルトの名無しさん mailto:sage [2007/04/20(金) 15:15:14 ] 枯れてきたからこそ身につける価値が出てくると言うもの
924 名前:デフォルトの名無しさん mailto:sage [2007/04/21(土) 14:37:23 ] たしかに踏みならされた道のほうが楽でいいよな 開拓者は開拓者の道を歩んでもらわなきゃ困るけど
925 名前:デフォルトの名無しさん mailto:sage [2007/04/21(土) 14:47:46 ] 自称開拓者の中には自分の手を動かさず左から右へ物を動かすだけの偽者も紛れ込んでいるけどな。
926 名前:デフォルトの名無しさん mailto:sage [2007/04/21(土) 15:12:02 ] それで名誉が手にはいるなら楽勝やん
927 名前:デフォルトの名無しさん mailto:sage [2007/04/21(土) 15:26:58 ] 偽者は早く消えろ
928 名前:デフォルトの名無しさん mailto:sage [2007/04/21(土) 21:25:12 ] 日本の思想を否定するな
929 名前:デフォルトの名無しさん mailto:sage [2007/04/23(月) 03:14:46 ] 世阿弥と義満の間で川の字になって寝られるぜ
930 名前:デフォルトの名無しさん [2007/04/25(水) 06:08:56 ] ttp://www.microsoft.com/japan/msdn/net/general/pdc_eiffel.aspx
931 名前:デフォルトの名無しさん mailto:sage [2007/04/25(水) 07:39:11 ] タイトル:【オブジェクト指向】言語学習が先?概念学習が先? URL:pc11.2ch.net/test/read.cgi/tech/1073714172/ 【糞スレランク:SS】 直接的な誹謗中傷:29/930 (3.12%) 間接的な誹謗中傷:650/930 (69.89%) 卑猥な表現:8/930 (0.86%) 差別的表現:7/930 (0.75%) 無駄な改行:1/930 (0.11%) 巨大なAA:8/930 (0.86%) by 糞スレチェッカー Ver0.72 kabu.tm.land.to/kuso/kuso.cgi
932 名前:デフォルトの名無しさん mailto:sage [2007/04/25(水) 11:04:58 ] >>920 最近ではマルチエージェント指向なんて呼ばれているらしいけど。
933 名前:デフォルトの名無しさん mailto:sage [2007/06/23(土) 07:31:27 ] >>932 の最近=20年前
934 名前:デフォルトの名無しさん [2007/07/08(日) 08:46:32 ] 最近の奴らはオブジェクト指向プログラミングや 構造化プログラミング以前に、 入力-->処理-->出力 という古典的プログラムの概念すら無いから困る。
935 名前:デフォルトの名無しさん [2007/07/08(日) 09:06:39 ] オブジェクト指向はそもそも理論的なバックグラウンドすら持たない 軽薄で内容の無いバブル的なスローガンだったな。
936 名前:デフォルトの名無しさん [2007/07/08(日) 09:07:06 ] ↑24時間粘着体制の引き篭もりトレーダ乙
937 名前:デフォルトの名無しさん [2007/07/08(日) 09:11:49 ] おっ、なんだこの反応の速さw このスレには初めて書き込むんだがな。 低脳なオブジェクト指向信者が監視してるのか、ご苦労さんw
938 名前:デフォルトの名無しさん [2007/07/08(日) 09:47:19 ] 「オブジェクト指向?」 「カプセル化による隠蔽、スレッドとの親和性によって、結果的に逐次的プログラミングのパラダイムを駆逐したんだよね」 「関数型言語の理想を部分的にであれ実用化したという点は評価に値するね」 「そうそう。安易に構造化プログラミングと対比するのは、情報処理の変化の本質を見ていないよ」 「まさに木を見て森を見ず!」 「コードの見た目だけに拘って議論するのは、悪しき唯物史観というべきだね」 「とはいえ、人間の貧弱なインターフェイスでは、階層的名前空間による隠蔽や静的型チェックの強化がもたらした即物的な影響も甚大なのでは?」 「タイプ数の減少はプログラマの限られた思考能力をより抽象的なレベルに振り向けるからね」 「じゃあ次はエージェント指向だ!」 「どうかな? スレッドさえ満足に扱えない人間に、協調的プログラミングのパラダイムが理解できるんだろうか」 「しばらくはオブジェクト指向のレベルにとどまるのかもしれないなぁ」
939 名前:デフォルトの名無しさん [2007/07/08(日) 10:03:11 ] 所詮手続き型言語
940 名前:デフォルトの名無しさん [2007/07/08(日) 10:44:18 ] 俺指向
941 名前:デフォルトの名無しさん mailto:sage [2007/07/15(日) 16:19:09 ] >>934 そうそう。そうなんだ。 基礎がなくても、開発環境のお陰で、なんとなくプログラムが動くもんだから それで満足してるみたい。 不具合は原因が突き止められないので、フラグ増やしてフタして終わり。 もう勘弁してほしい。
942 名前:デフォルトの名無しさん mailto:sage [2007/07/15(日) 19:46:06 ] ループを知らずに コピペ+マジックナンバー書き換えしまくり っつーソースを見た時はびっくりした
943 名前:デフォルトの名無しさん mailto:sage [2007/07/15(日) 19:48:19 ] 馬鹿は伝染るということ
944 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 18:43:16 ] >>913 通りすがりデスが、3クックの〜はC/C++の関数のポインタの様な事の気がする。
945 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 21:47:30 ] >>944 そのblogで紹介されているPDFを適当に読むに、 関数ポインタではなく、Lisp(CLOS)の方が適切みたいだが。
946 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 10:44:04 ] まとめにCLOSはこのくくりでは分類不能って書いてないか? ま、どっちも言いたいことは分かるしたぶん間違っていないとも思う。