「哺乳類」はクラスじゃない

プログラミングで使う「クラス」という概念を説明するときの例えに、なぜか「哺乳類」などの生物分類上の概念が使われることが良くあるらしい。 でも「哺乳類」は、メソッド持ってないしー。
4
M. Watanabe @labidochromis

「プログラム」と「データ」と言われるとわかるんだけど、「哺乳類という概念」と「犬や猫のような具体的な動物」とか言われてもピンとこないのだ。動物データベースの処理プログラムのような具体例を見せられればそれはそれでわかるけれど。

2010-08-16 11:24:58
M. Watanabe @labidochromis

多分「哺乳類という概念」が「犬」や「猫」といったデータをどう処理するのかといった情報までを含んでいる事が想起しにくいのだ。

2010-08-16 11:37:01
大' @satodainu

抽象度が高すぎるのでは。「ポチやシロやタロや…」がデータだというなら、まだピンとくる気になれる。 QT @labidochromis: 「プログラム」と「データ」と言われるとわかるんだけど、「哺乳類という概念」と「犬や猫のような具体的な動物」とか言われてもピンとこないのだ。

2010-08-16 11:49:36
大' @satodainu

あと「概念」がプログラムなのではなく、データを入力するとその概念への当否を審査するようなのがプログラムですよね? QT @labidochromis: 「プログラム」と「データ」と言われるとわかるけど、「哺乳類という概念」と「犬や猫のような具体的な動物」とか言われてもピンとこない

2010-08-16 11:52:42
M. Watanabe @labidochromis

@satodainu 、「犬という概念」と「ポチやシロのような具体的な個体」とか言われてもピンとこないのだ。

2010-08-16 11:54:41
大' @satodainu

この概念が処理の仕方という情報を含んでいる、というのがピンと来ない。 QT @labidochromis: 多分「哺乳類という概念」が「犬」や「猫」といったデータをどう処理するのかといった情報までを含んでいる事が想起しにくいのだ。

2010-08-16 11:56:00
大' @satodainu

なんか、生物の分類単位をどう把握してるかという時点で、ズレてる気がしてきた。

2010-08-16 11:57:26
M. Watanabe @labidochromis

@satodainu 私の感覚では「哺乳類」という概念は「犬,猫,パキケトゥス,ブロントテリウム…からなる集合」みたいな、いわば型定義で、それらのデータに対する操作までは含まない。

2010-08-16 11:57:56
大' @satodainu

「プログラムは、スコープ内の個々のデータをどう処理するかという情報を持っている」ってのは、明らかに正しいし、ピンと来る。

2010-08-16 11:58:29
大' @satodainu

あれ?「操作も含む概念である」って主張だと思って読んでた。 QT @labidochromis: @satodainu 私の感覚では「哺乳類」という概念は「犬,猫,パキケトゥス,ブロントテリウム…からなる集合」みたいな、いわば型定義で、それらのデータに対する操作までは含まない。

2010-08-16 12:00:14
M. Watanabe @labidochromis

データが「犬」なら「ホゲ」と出力しデータが「猫」なら「ワン」と出力、みたいなのがプログラム。

2010-08-16 12:00:21
大' @satodainu

それはプログラマがちとアレな例だな。(^^;;; QT @labidochromis: データが「犬」なら「ホゲ」と出力しデータが「猫」なら「ワン」と出力、みたいなのがプログラム。

2010-08-16 12:02:25
M. Watanabe @labidochromis

「クラスは操作も含む概念だが、哺乳類は(少なくとも私にとっては)操作を含まない概念なので、クラスを哺乳類という概念に例えられるとわかりにくい」という主張。

2010-08-16 12:03:48
M. Watanabe @labidochromis

そう例える人にとっては哺乳類というのはきっと操作を含む概念なのだろう。

2010-08-16 12:04:42
大' @satodainu

この tweet で何を言いたかったのかが分からない。 QT @labidochromis: 多分「哺乳類という概念」が「犬」や「猫」といったデータをどう処理するのかといった情報までを含んでいる事が想起しにくいのだ。

2010-08-16 12:04:43
大' @satodainu

そういう主張が(俺から見えない)どこかに存在したってことですか? QT @labidochromis: 「クラスは操作も含む概念だが、哺乳類は(少なくとも私にとっては)操作を含まない概念なので、クラスを哺乳類という概念に例えられるとわかりにくい」という主張。

2010-08-16 12:05:36
M. Watanabe @labidochromis

まぁ、データの定義しか含まないクラスや、手続きしか含まないクラスというのもあるわけだけど、多分両方含められるのが特徴なので。

2010-08-16 12:07:12
M. Watanabe @labidochromis

@satodainu この部分の説明を見て、それが私の主張だと思ったのであろう。 > そう例える人にとっては哺乳類というのはきっと操作を含む概念なのだろう。

2010-08-16 12:08:13
M. Watanabe @labidochromis

@satodainu 昨日の昼間から延々と主張し続けているので

2010-08-16 12:09:08
M. Watanabe @labidochromis

@satodainu そのtweetでいいたかった事は、クラスを「哺乳類という概念」に例えられても「哺乳類という概念」が操作まで含むとは想起できない俺には理解できません、という事。

2010-08-16 12:11:19
M. Watanabe @labidochromis

@satodainu 哺乳類という概念は「焼いて食べる」といった操作までを含んでいると思っている人にとっては理解しやすいのかもしれない。

2010-08-16 12:13:10
大' @satodainu

それなら俺も支持。操作含むって主張はどこにあったんですか? QT @labidochromis: @satodainu そのtweetでいいたかった事は、クラスを「哺乳類という概念」に例えられても「哺乳類という概念」が操作まで含むとは想起できない俺には理解できません、という事。

2010-08-16 12:18:10
M. Watanabe @labidochromis

@satodainu クラスとは「哺乳類とは牛、馬、豚、羊、犬、猫、パキケトゥス、ブロントテリウムからなる。牛か馬か豚か羊か犬なら焼いて食べるがそれ以外は食わない。」みたいな定義をするものだと言われればわかる。

2010-08-16 12:19:42
M. Watanabe @labidochromis

@satodainu ちょっと twilog で探す > 操作含むって主張

2010-08-16 12:21:08
大' @satodainu

それだけだと構造体だなぁ。 QT @labidochromis: @satodainu クラスとは「哺乳類とは牛、馬、豚、羊、犬、猫、パキケトゥス、ブロントテリウムからなる。牛か馬か豚か羊か犬なら焼いて食べるがそれ以外は食わない。」みたいな定義をするものだと言われればわかる。

2010-08-16 12:21:34
1 ・・ 5 次へ