[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 05/09 10:54 / Filesize : 242 KB / Number-of Response : 947
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【オブジェクト指向】言語学習が先?概念学習が先?



1 名前:デフォルトの名無しさん [04/01/10 14:56]
VisualBasicやCといった手続き型言語をずっとやってきた人が、
C#やJavaといったオブジェクト指向言語をマスターする場合
オブジェクト指向の概念・概論を学ぶのが先がいいのか、
それとも、C#やJavaの言語を学ぶのが先がいいのか、
どっちがいいと思われますか。


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


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はこのくくりでは分類不能って書いてないか?

ま、どっちも言いたいことは分かるしたぶん間違っていないとも思う。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<242KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef