1 名前:デフォルトの名無しさん [04/01/10 14:56] VisualBasicやCといった手続き型言語をずっとやってきた人が、 C#やJavaといったオブジェクト指向言語をマスターする場合 オブジェクト指向の概念・概論を学ぶのが先がいいのか、 それとも、C#やJavaの言語を学ぶのが先がいいのか、 どっちがいいと思われますか。
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はこのくくりでは分類不能って書いてないか? ま、どっちも言いたいことは分かるしたぶん間違っていないとも思う。