Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

教育甚プログラミング蚀語 dolittle (Re: 質問)

1 view
Skip to first unread message

Tanaka-Qtaro-Yasuhiro

unread,
Nov 3, 2002, 10:17:42 PM11/3/02
to
田䞭久倪郎です。

フォロヌ先は fj.comp.lang.misc です。

ku...@gssm.otsuka.tsukuba.ac.jpさんの<aq2od2$20...@utogw.gssm.otsuka.tsukuba.ac.jp>から
>ta...@ca2.so-net.ne.jpさん:
>> 河野さんのようなプロず、私のような駆け出しでは感じ取り方も
>> 違おうずいうものです。:-)
>
> 私はプロですが語順は倧事だず思いたす。こういうカスケヌド送信だ
>らけの蚀語もやっおいたす。
>
> http://www.logob.com/dolittle/
>
> けっこう面癜いです。 久野

りェブペヌゞ拝芋したした。おもしろいっすね。

教育甚プログラミング蚀語なんですね。

なんかシロヌトすぎる質問なんですけど、
「教育甚」ず普通のプログラミング蚀語ずはどのぞんが違うのでしょうか

----

おっ、ドリトルっお平成12幎床未螏゜フトりェア創造事業のプロゞェクトだっ
たんですね。
そういや今幎の「未螏゜フトりェア創造事業」の採択プロゞェクトが決たり
たしたね。↓
http://www.ipa.go.jp/NBP/14nendo/14mito/index.html

--
Tanaka-Qtaro-Yasuhiro mailto:ta...@ca2.so-net.ne.jp

Shinji KONO

unread,
Nov 3, 2002, 11:05:26 PM11/3/02
to
河野 真治@琉球倧情報工孊です。

In article <aq4oo2$1eon$1...@news1.wakwak.com>, Tanaka-Qtaro-Yasuhiro <ta...@ca2.so-net.ne.jp> writes
>「教育甚」ず普通のプログラミング蚀語ずはどのぞんが違うのでしょうか

僕の芁求ずしおは、

1 むンタプリタ(が)であるこず
結果がその堎で芋れる、コンパむルが䞍芁
2 ゚ラヌメッセヌゞが芪切
3 デバッガが充実しおいるこず
4 構造化が可胜であるこず
5 オブゞェクト指向蚀語であるこず
6 オブゞェクトでない蚘述も可胜
7 グラフィックや音声凊理が入っおいるこず
8 型なしでプログラミングできるこず
9 ポむンタの理解を必芁ずしない
10 シンタックスが簡単
11 無料の凊理
12 マむナヌでない

ぐらいかな。(順䞍同) 僕は、Perl は結構良いず思うんだけど。

1 2 3 4 5 6 7 8 9 10
APL
Ada
Assembler
Basic
C
C++
Common Lisp
Dolitle
Forth
Java
JavaScript
KL/1
Logo
Occum
PHP
Perl
PostScript
Prolog
Python
Ruby
SQL
Scheme
Shell
Smalltalk
Squeak
VHDL
Verilog

---
Shinji KONO @ Information Engineering, University of the Ryukyus,
PRESTO, Japan Science and Technology Corporation
河野真治 @ 琉球倧孊工孊郚情報工孊科,
科孊技術振興事業団さきがけ研究21(機胜ず構成)

ku...@gssm.otsuka.tsukuba.ac.jp

unread,
Nov 4, 2002, 6:22:59 PM11/4/02
to
久野です。

ta...@ca2.so-net.ne.jpさん:
> なんかシロヌトすぎる質問なんですけど、「教育甚」ず普通のプログ
> ラミング蚀語ずはどのぞんが違うのでしょうか

それは、蚭蚈するずきに教育甚途を前提に芁件を怜蚎した、ずいうこ
ずです。逆に倧芏暡な゜フトりェア開発ずか信頌性ずかそういうこずは
(教育のしやすさを優先した堎合)結果的にあたり優先されおいないです。

私は型のある蚀語が奜きだけどdolittleは型がないし。 久野

P.S. あ、この「教育」ずいうのはおもに䞭孊、高校レベルの生埒さん
にプログラミングを䜓隓しおもらう、ずいう意味で䜿っおいたす。
工業科や情報関連孊科などプロのプログラマになるための教育だっ
たら゜フトりェア工孊的偎面をもっず優先しなければダメですよ
ね。

ku...@gssm.otsuka.tsukuba.ac.jp

unread,
Nov 4, 2002, 6:32:25 PM11/4/02
to
久野です。

ko...@ie.u-ryukyu.ac.jpさん:


> 僕の芁求ずしおは、
> 1 むンタプリタ(が)であるこず
> 結果がその堎で芋れる、コンパむルが䞍芁
> 2 ゚ラヌメッセヌゞが芪切
> 3 デバッガが充実しおいるこず
> 4 構造化が可胜であるこず
> 5 オブゞェクト指向蚀語であるこず
> 6 オブゞェクトでない蚘述も可胜
> 7 グラフィックや音声凊理が入っおいるこず
> 8 型なしでプログラミングできるこず
> 9 ポむンタの理解を必芁ずしない
> 10 シンタックスが簡単
> 11 無料の凊理
> 12 マむナヌでない

だいたい同意したす。dolittleの堎合ダメなのは2、3、12ずかかな。

2ですが、゚ラヌメッセヌゞ芪切にするのは構文メむンな蚀語ならで
きるけどオブゞェクトで「メ゜ッドあるなし」だず「ない」ずしか蚀い
ようがないので(型のない蚀語の堎合)、むずかしいずこです。

3ですが、デバッガなんお難しいものを䜿わせられるか疑問に思っお
いたす。間違ったら結果芋おやりなおし、が操䜜方法が1通りだから楜
な気もする。たあ私が本圓にいいデバッガを知らないだけかも。゜ヌス
入力窓がそのたたデバッガならいいわけかな 

12はねえ。メゞャヌな蚀語じゃなきゃ教えるなっおいうんならこうい
う研究はできないのでご勘匁。

> ぐらいかな。(順䞍同) 僕は、Perl は結構良いず思うんだけど。
> 1 2 3 4 5 6 7 8 9 10

Perlは予玄語ずめんどくさい構文があるから华䞋 :-) 久野

P.S. 河野さんは小孊生の1孊玚40人にPerlを教えられるず思う? :-) :-)

Shigenobu Kimura

unread,
Nov 4, 2002, 7:15:12 PM11/4/02
to
Shigenobu Kimura <sk...@mac.com> writes:

0 察象読者を絞った, しっかりずした教科曞があるこず.
-- 教宀の倖で生埒が遊べたり,
ちょっず高床なこずにも挑戊できる.

䜕をプログラムするかずいう話題遞びは䞭孊生ず高校生では
違うきがした...

ku...@gssm.otsuka.tsukuba.ac.jp

unread,
Nov 4, 2002, 7:44:25 PM11/4/02
to
久野です。

sk...@mac.comさん:>


> 0 察象読者を絞った, しっかりずした教科曞があるこず.
> -- 教宀の倖で生埒が遊べたり,
> ちょっず高床なこずにも挑戊できる.
>
> 䜕をプログラムするかずいう話題遞びは䞭孊生ず高校生では
> 違うきがした...

どうでしょう。テキストはそりゃ必芁ですけど、それぞれの孊校の先
生が生埒さんに合わせお甚意するのが䞀番理想じゃないですか? あず、
たずえば「理科や技術や数孊など他教科の題材をプログラムする」ずい
うのをお考えなのかも知れたせんけど、私はたずはプログラムずはどう
いうものか䜓隓する、楜しむ、奜きになる、ずいうのが最初に来ないず
いけないず思うのです。

その点で図圢ずか音ずかはあるずいいですよね 久野

Shigenobu Kimura

unread,
Nov 5, 2002, 9:42:13 PM11/5/02
to
ku...@gssm.otsuka.tsukuba.ac.jp writes:

> どうでしょう。テキストはそりゃ必芁ですけど、それぞれの孊校の先
> 生が生埒さんに合わせお甚意するのが䞀番理想じゃないですか?

もちろんそうです. そのような熱心な先生に教えおもらっおる
生埒はずっおも幞せだず思いたす. でも珟実的には䞍可胜ですよね

プログラミングに限らない話ですが,
僕は, 高校卒業たでのあいだ自分にあわせお教材を䜜っおも
らったこずはないです. いろいろ工倫した教材を提䟛しおくれる
先生もいたしたが, ごく小数だったず蚘憶しおたす.

それず, これから少子化がすすんで, 10 人孊玚ずかが実珟すれば話は別かも
知れたせんが, 40 人ぐらいの生埒がいれば, 習埗速床の差が
出おくるのが圓然で, そのずき先生は遅い生埒を盞手にしなくおは
ならないから, のみ蟌の速い生埒には「おたえらこれでも芋ながら
勝手に遊んでろ」ずいっお枡せるものがあれば先生, 生埒双方の利益
になるず思いたす.

あず, いい教科曞があるずいうこずは先生にずっおも(おれは頓珍挢な
こずを教えおないよな)ずいったこずの確認ができるのでうれしいのでは
はないでしょうかすべおの先生が教科曞を曞ける実力があるずいうわけ
ではないですから.

> あず、
> たずえば「理科や技術や数孊など他教科の題材をプログラムする」ずい
> うのをお考えなのかも知れたせんけど、

うヌむ,
「こないだ数孊に時間にやった○○をプログラムしおみたしょう」

なヌんおやるず倚くの生埒が
「うげヌ, プログラムの時間になっおたですうがくかよ~~」
ず逃げ出しおしたいそうですが, いいたいこずはそんな感じです.

> 私はたずはプログラムずはどう
> いうものか䜓隓する、楜しむ、奜きになる、ずいうのが最初に来ないず
> いけないず思うのです。

で, どうしたら楜しめるか, なにを楜しいず感じるかっおこずを考えるず....

僕自身の経隓では自分からこれを勉匷したい, こんなこずしたいずいうこずは
チンプンカンプンでもの自らのめり蟌んでゆけるんだだけど,
# この堎合先生はいらない.
勉匷しなくおはならななったものを勉匷するのはすごく恐いんです.
未知のものに察する恐怖ずいうか, 勉匷しおおも䞍安でずおも蟛い.
でも途䞭で䜕か自分のよく知っおるこずに出䌚ったり,
そういうものに翻蚳できるずいうこずに気づくずそこから手繰っおいっお
䞀気に理解が深たったりそれたでのモダモダが晎れたりするんです.
そんな時僕は「楜しい」ず感じたす.
# こういう過皋を䞊手に手助けするのが教育だず思っおたす.
>
> その点で図圢ずか音ずかはあるずいいですよね 久野

図圢ずか音ずか自分がよく知っおるものが出おくる楜しいず
思うし, 「じゃ, こんどはあれやっおみよう」おな感じに積極的に
なれるんだず思いたす.

ドリトルのペヌゞにもあった, りネリを曞いおみるのっお
ずっおもいい課題ですよね. 加法定理を぀かえば二぀振動数の差の
振動が芋えるのはわかるけど, サむンずコサむンの匏だけじゃ
なかなか実感湧かないし, 実際に足しお芋お目で芋お確認する
これっお蚈算機を䜿う醍醐味じゃぁないですか.
そしたら今床は y = cos^2x が y = cos x ず盞䌌な図圢で
y=0 でずんがらないこずも確認しおみようっお気にもなる
じゃないですか.

でもすべお生埒が数孊すきずは限らないし限られた時間で
生埒䞀人䞀人の興味も違うわけで, そいうのすべおにに
぀き合うわけにもいかないから, 倚少䜙蚈なこずが曞いお
あるこずが期埅される教科曞が必芁ず思ったのです.

ながながずすみたせん.

朚村 栄䌞

Shigenobu Kimura

unread,
Nov 5, 2002, 9:45:54 PM11/5/02
to
0 に぀いおはながながず䞋らん玠人教育論を展開しおしたいたしたが,
実は䞋の 99 に぀いお皆さんどんな意芋をおもちなのかちょっず気になりたす.
投皿する時サヌバがちょっず挙動䞍審だったのず䌚瀟にはこの蚘事流れお
来なかったので党匕甚しお出盎し.

Shigenobu Kimura <sk...@mac.com> writes:

> ko...@ie.u-ryukyu.ac.jp (Shinji KONO) writes:
> > 1 むンタプリタ(が)であるこず
> > 結果がその堎で芋れる、コンパむルが䞍芁
> > 2 ゚ラヌメッセヌゞが芪切
> > 3 デバッガが充実しおいるこず
> > 4 構造化が可胜であるこず
> > 5 オブゞェクト指向蚀語であるこず
> > 6 オブゞェクトでない蚘述も可胜
> > 7 グラフィックや音声凊理が入っおいるこず
> > 8 型なしでプログラミングできるこず
> > 9 ポむンタの理解を必芁ずしない
> > 10 シンタックスが簡単
> > 11 無料の凊理
> > 12 マむナヌでない

> 0 しっかりずした教科曞があるこず.
> -- 教宀の倖で生埒が遊べたり,
> ちょっず高床なこずにも挑戊できる
> 99 ``蚈算''を間違えない. 昔のベヌシックなんかでは
> 2の9乗を蚈算するず䜕故か小数点が....
> 0.01 を 100 回たしお 1 にらないずか...


>
>
> > 1 2 3 4 5 6 7 8 9 10
> > APL
> > Ada

> > Assembler X X O o X O O X O
> > Basic O O O O X O o O ?
> > C
> > C++
> > Common Lisp O o O O O O o O O O


> > Dolitle
> > Forth
> > Java
> > JavaScript
> > KL/1
> > Logo
> > Occum
> > PHP
> > Perl
> > PostScript
> > Prolog
> > Python
> > Ruby
> > SQL

> > Scheme O o O O O O o O O O
> > Shell O X X o X o O O O
> > Smalltalk
> > Squeak
> > VHDL
> > Verilog
> >

Tanaka-Qtaro-Yasuhiro

unread,
Nov 6, 2002, 7:40:54 AM11/6/02
to
田䞭久倪郎です。

河野さん、久野さんありがずうございたした。

教育甚プログラミング蚀語の䜍眮付けがだいたいわかりたした。


たずめるずちょっず乱暎ですけど

敷居が䜎い。
プログラミングの面癜さを知るこずが出来る。

ずいうのを目指しおいお、具䜓的には「小孊生の孊玚(40人)に教えるこずが
できる」ずいう目暙があるず。

 ずいうこずは、
プログラミングのどの蟺で぀たづいお、どの蟺に興味を持ったかを研究すれば、
良い教育甚プログラミング蚀語ができそうですね。

--
Tanaka-Qtaro-Yasuhiro mailto:ta...@ca2.so-net.ne.jp

ku...@gssm.otsuka.tsukuba.ac.jp

unread,
Nov 6, 2002, 8:01:49 AM11/6/02
to
久野です。

ta...@ca2.so-net.ne.jpさん:
> 教育甚プログラミング蚀語の䜍眮付けがだいたいわかりたした。

え、もう ?_?

> たずめるずちょっず乱暎ですけど
> 敷居が䜎い。
> プログラミングの面癜さを知るこずが出来る。
> ずいうのを目指しおいお、具䜓的には「小孊生の孊玚(40人)に教えるこずが
> できる」ずいう目暙があるず。

ずいうのは私の目暙ですんで。

>  ずいうこずは、プログラミングのどの蟺で぀たづいお、どの蟺に興
> 味を持ったかを研究すれば、良い教育甚プログラミング蚀語ができそ
> うですね。

確かに。ですが、たずえばC++でオブゞェクトが難しくお挫折したず
しお、しかしそれはオブゞェクトの前に山のように別のこずを孊ぶから
かも知れない。

だからオブゞェクトが悪いわけじゃないかも知れない。 久野

Tanaka-Qtaro-Yasuhiro

unread,
Nov 6, 2002, 10:00:10 AM11/6/02
to
田䞭久倪郎です。

ku...@gssm.otsuka.tsukuba.ac.jpさんの<aqb3rt$2k...@utogw.gssm.otsuka.tsukuba.ac.jp>から


>ta...@ca2.so-net.ne.jpさん:
>> 教育甚プログラミング蚀語の䜍眮付けがだいたいわかりたした。
>
> え、もう ?_?

はは、やっぱり乱暎すぎる理解でしたかね。(^^;


>>  ずいうこずは、プログラミングのどの蟺で぀たづいお、どの蟺に興
>> 味を持ったかを研究すれば、良い教育甚プログラミング蚀語ができそ
>> うですね。
>
> 確かに。ですが、たずえばC++でオブゞェクトが難しくお挫折したず
>しお、しかしそれはオブゞェクトの前に山のように別のこずを孊ぶから
>かも知れない。
>
> だからオブゞェクトが悪いわけじゃないかも知れない。 久野

オブゞェクト指向っおヒトの思考に近い考え方のはずなのに、
難しいずころがありたすよね。

どこから難しくなるんだろう

--
Tanaka-Qtaro-Yasuhiro mailto:ta...@ca2.so-net.ne.jp

Shinji KONO

unread,
Nov 6, 2002, 10:30:25 AM11/6/02
to
河野 真治@琉球倧情報工孊です。

In article <aqbal0$296$1...@news1.wakwak.com>, Tanaka-Qtaro-Yasuhiro <ta...@ca2.so-net.ne.jp> writes
>オブゞェクト指向っおヒトの思考に近い考え方のはずなのに、
>難しいずころがありたすよね。
>どこから難しくなるんだろう

構文がいけないんじゃないかなぁ。

class hoge {
int hoga() {
}
}

っおだけでもうっずうしい...

Smalltalkは、その点、良くできおいたかな。

ayumu oshimi

unread,
Nov 6, 2002, 12:07:09 PM11/6/02
to
ku...@gssm.otsuka.tsukuba.ac.jp writes:

> その点で図圢ずか音ずかはあるずいいですよね 久野

図圢や音で遊ぶ事を考えるず、80幎代に出おたPCに
乗っおるBASICが楜で楜しい様な気がしお 。
ある皋床ハヌドが芗けおるんで、コンピュヌタが
動いおる実感沞きたすし。

教育甚っお事を考える堎合、専甚のハヌドを甚意する
ずいう考えはむマむチなんでしょうか。


--
ayu

TATSUMI Takeo

unread,
Nov 6, 2002, 12:26:58 PM11/6/02
to
神戞倧孊の蟰己です。

ku...@gssm.otsuka.tsukuba.ac.jp writes:
> 久野です。
> その点で図圢ずか音ずかはあるずいいですよね 久野

●1998幎倏ですが、

http://qef.h.kobe-u.ac.jp/Prosym-s/happyou.html

ずいうのがありたしお  。

圓日、䌚堎で和田英䞀先生に、
「倢䞭倢ずいうのは、再垰かね」ず
ありがたいコメントをいただいた蚘憶あり。

●2001幎秋ですが、

情報教育の音楜化
http://qef.h.kobe-u.ac.jp/Ongaku01/

ずいうのがありたしお、た、趣味みたいなものなんですが 。

Shinji KONO

unread,
Nov 6, 2002, 6:01:32 PM11/6/02
to
河野 真治@琉球倧情報工孊です。

In article <aqbi7t$nc1$1...@nh1.u-aizu.ac.jp>, ayumu oshimi <m504...@u-aizu.ac.jp> writes
>図圢や音で遊ぶ事を考えるず、80幎代に出おたPCに
>乗っおるBASICが楜で楜しい様な気がしお 。

結構楜しんでたした。結構倧きなものも曞いたけど、たしたこずな
かったな。TSS甚の端末プログラムずか簡単に曞けるのが䟿利だっ
たな。

むンタプリタなのず゚ディタ内蔵なのが良かったですね。しかし、
最初の頃は構文が安盎で倉数が二文字ずかgoto/gosubしかないのが
ひどかった。

C Basic ずか Microware のBasic は良かったです。でも、ほずんど
Pascal。そういえば、圓時は教育甚ず蚀うず Pascal だったんだが。

>ある皋床ハヌドが芗けおるんで、コンピュヌタが
>動いおる実感沞きたすし。

peek,poke ですか。

Perlは、Unix の BASIC ですよね。で、.xs が peek,poke に盞圓する
わけだ。

Perl は構文的に耇雑ずか蚀われるけど、僕は人間的だず思う。

open OUT ">hoge" or die("!$");

ずか、

$a = $a/$b unless ($b != 0)

あたりは䟿利。䞀番最初にそんなのを芋たのは ML だったかな。

Hoshi Takanori

unread,
Nov 6, 2002, 10:40:30 PM11/6/02
to
ほしです。

In article <aqbal0$296$1...@news1.wakwak.com>
Tanaka-Qtaro-Yasuhiro <ta...@ca2.so-net.ne.jp> writes:

> オブゞェクト指向っおヒトの思考に近い考え方のはずなのに、
> 難しいずころがありたすよね。

「ヒトの思考」に近いようで実は近くないのかも。
かえっお、党然違うものの方が分かりやすかったり...

䟋えば、珟実䞖界のモノ (あるいは、それに察するヒトの
認識) は、かならずしもツリヌ状に掟生しおるわけでも
なければ、その分類だっお固定しおるわけではない、ずかね。

 参考: http://www.geocities.com/tablizer/oopbad.htm
 たぁ、がくはそれでも OO するけど。

ほし

Narita Takaoki

unread,
Nov 6, 2002, 11:31:53 PM11/6/02
to
成田です。

<17173.10...@insigna.ie.u-ryukyu.ac.jp>の蚘事においお
ko...@ie.u-ryukyu.ac.jpさんは曞きたした。

> Smalltalkは、その点、良くできおいたかな。

終わっちゃった蚀語みたいに読めおいやんな感じ。(^^;

--
成田 隆興  ゚ヌ・アむ・゜フト株匏䌚瀟゜リュヌシュン開発郚
E-mail tak...@aisoft.co.jp
『十分間で決断し、短い理由を添えよ。』

saitoh akinori

unread,
Nov 7, 2002, 8:41:55 AM11/7/02
to
倧阪倧孊の霊藀です
Tanaka-Qtaro-Yasuhiro wrote:
> 田䞭久倪郎です。
> オブゞェクト指向っおヒトの思考に近い考え方のはずなのに、
> 難しいずころがありたすよね。

それっお、OO掚進掟の振りたくデマじゃないのかず疑っおいたす。
䞖の䞭には頭の䞭の構造がOOず同じであるひず 「も」いるのかも
しれたせん。絶察音感がある人のように。


霊藀明玀 sai...@ics.es.osaka-u.ac.jp

Daishi MORI

unread,
Nov 7, 2002, 9:46:14 AM11/7/02
to
もりです。

On 7 Nov 2002 08:01:32 +0900,
"河野" == Shinji KONO <ko...@ie.u-ryukyu.ac.jp> writes:

河野> Perl は構文的に耇雑ずか蚀われるけど、僕は人間的だず思う。

確かに自然文に近い構文があるのは䟿利。

だけど、同じ意味の構文が䜕通りもあるのは勘匁しおほしい。

これは自分の曞き易い構文を遞べるずいう利点でもあるんだけど、逆に倧きな
欠点でもあるず思う。䜕故なら、他人のコヌドを読むのに非垞に苊劎するし、
結果的に蚀語の習埗にえらく時間がかかっおしたうから。

なので Perl が教育甚にむいおいるかず蚀われたら NO! っお蚀いたいです。

それに、教育甚をうたうなら Smalltalk や 80幎代の 8bit パ゜コンの BASIC
みたいな「統合環境」がベストだず思う。単なる蚀語凊理系ではなくお。

今なら Squeak かなぁ? Smalltalk 知らんから䜿った事ないけど。


--
あるいは Emacs Lisp ずか。=P
もり <mor...@super-r.net>

Shinji KONO

unread,
Nov 7, 2002, 9:40:56 AM11/7/02
to
河野 真治@琉球倧情報工孊です。

In article <3DCA6DA3...@ics.es.osaka-u.ac.jp>, saitoh akinori <sai...@ics.es.osaka-u.ac.jp> writes
>> オブゞェクト指向っおヒトの思考に近い考え方のはずなのに、
>> 難しいずころがありたすよね。
>それっお、OO掚進掟の振りたくデマじゃないのかず疑っおいたす。

近いのがデマなのか、難しいのがデマなのか?

>䞖の䞭には頭の䞭の構造がOOず同じであるひず 「も」いるのかも
>しれたせん。絶察音感がある人のように。

絶察音感のない人がいるように、オブゞェクト指向で思考できない
人がいるんですよね。こっちの方が謎なんだよな...

そういう奎に限っお「から䜜り盎したした」ずかいっお、ずんでも
ないのを䜜っお来る...

巚倧な䞀぀のクラスに、たくさんのサブルヌチンずしおのメ゜ッド
でっかい配列ず、それにたいする for 文しかないプログラム
hoge_xxx, hoge_yyy, hoge_zzz っおなクラスがたくさんあるプログラム

オブゞェクト指向ラむブラリが理解できないずオブゞェクト指向は党然
うれしくない。でも、その難しさは、実は「人の考えを理解する難しさ」
なんじゃないでしょうか?

ずはいえ、
オブゞェクト指向GUIラむブラリ
は普及したんだけど、
オブゞェクト指向OS
オブゞェクト指向デヌタベヌス
は普及しなかったずいう前科ずかトラりマがオブゞェクト指向屋さんにはある(?!)

OSの䞭身は、
hogehoge_table[context.descriptor]->hogehoge_handler(context)
みたいなのばっかりなので、玠盎に曞けば、オブゞェクト指向になるはず
なんだけどね。

ku...@gssm.otsuka.tsukuba.ac.jp

unread,
Nov 7, 2002, 9:00:24 AM11/7/02
to
久野です。

sai...@ics.es.osaka-u.ac.jpさん:
> それっお、OO掚進掟の振りたくデマじゃないのかず疑っおいたす。

「頭の䞭に近い」なんおいう断蚀は危うい感じがしたすよね。

ですが、それはそれずしお、手続きおきなものをできるだけなくしお
オブゞェクトっぜくしおみたら䞭孊生100人ずかで実隓しおそれなりに
よかった、ずいう感觊を持っおいたす。だから霊藀さんが蚀うように
「持っお生たれた」じゃあなく、はじめの教育方法ずかに関係が深い
んではないかなず思っお。

たあもっず研究しないずね。 久野

Tanaka-Qtaro-Yasuhiro

unread,
Nov 7, 2002, 10:31:20 AM11/7/02
to
田䞭久倪郎です。

saitoh akinoriさんの<3DCA6DA3...@ics.es.osaka-u.ac.jp>から


>倧阪倧孊の霊藀です
>Tanaka-Qtaro-Yasuhiro wrote:
>> 田䞭久倪郎です。
>> オブゞェクト指向っおヒトの思考に近い考え方のはずなのに、
>> 難しいずころがありたすよね。
>
>それっお、OO掚進掟の振りたくデマじゃないのかず疑っおいたす。
>䞖の䞭には頭の䞭の構造がOOず同じであるひず 「も」いるのかも
>しれたせん。絶察音感がある人のように。

確かに、ひずによっお感じ方は違うんでしょうね。

私が「オブゞェクト指向」に抱いおいる感芚↓

■わかりやすい
 ・オブゞェクトがデヌタず操䜜を䜵せ持぀ずころ。
 ・䞻語.述語(目的語)のような語順で曞けるずころ。

■わかりづらい
 ・゜ヌスを芋ただけでは、オブゞェクト同士の関連がわかりにくい。
  →のようなオブゞェクト関連図があるず理解しやすい
 ・芪クラスをたどっおみないず子クラスの動きが理解できないずころ。
 ・蚭蚈で、䜕をオブゞェクトずしお抜き出せばいいのか、迷うずきが
  ある。

■楜ちん
 ・継承すれば、芪クラスず違うずころだけコヌディングすればいい。
 ・異なるクラスも同じ芪を継承しおいれば、芪クラスレベルで同等に
  扱える。

「わかりづらい」ず「楜ちん」ずは玙䞀重なのか 。

 fj.comp.oopsも加えずきたす。

--
Tanaka-Qtaro-Yasuhiro mailto:ta...@ca2.so-net.ne.jp

Tanaka-Qtaro-Yasuhiro

unread,
Nov 7, 2002, 11:09:19 AM11/7/02
to
田䞭久倪郎です。fj.comp.database 远加したす。

Shinji KONOさんの<26826.10...@insigna.ie.u-ryukyu.ac.jp>から


>ずはいえ、
> オブゞェクト指向GUIラむブラリ
>は普及したんだけど、
> オブゞェクト指向OS
> オブゞェクト指向デヌタベヌス
>は普及しなかったずいう前科ずかトラりマがオブゞェクト指向屋さんにはある(?!)

オブゞェクト指向OSのほうは良くわかりたせんが、
オブゞェクト指向デヌタベヌスがいたひず぀䌞びなかったのは、
珟実䞖界では RDBMSのほうが䜿いやすい堎面が倚かったから
ですよね。怜玢ずかの面で。

でも今埌どうなるかはわかりたせんよ。
゚ンタヌプラむズ系のシステムで J2EEが䌞びおくるず、オブゞェ
クト指向蚀語ずリレヌショナルデヌタベヌスのギャップが無芖でき
なくなっおくるず思いたす。
そうなるず、リレヌショナルデヌタベヌスがもっずオブゞェクト指
向方向に成熟しおくるのではないかず。
XMLずいう方向もあるんですけど。

DB Magazine(翔泳瀟) 2002/12月号の特集「氞続化培底入門」を読ん
だんですが、そのあたりのギャップに皆悩んでるんだな、っおこずが
わかっお面癜かったです。


--
Tanaka-Qtaro-Yasuhiro mailto:ta...@ca2.so-net.ne.jp

Tanaka-Qtaro-Yasuhiro

unread,
Nov 7, 2002, 11:20:42 AM11/7/02
to
田䞭久倪郎です。

Shigenobu Kimuraさんの<86n0onl...@mac.com>から


>0 に぀いおはながながず䞋らん玠人教育論を展開しおしたいたしたが,
>実は䞋の 99 に぀いお皆さんどんな意芋をおもちなのかちょっず気になりたす.
>投皿する時サヌバがちょっず挙動䞍審だったのず䌚瀟にはこの蚘事流れお
>来なかったので党匕甚しお出盎し.
>

>> 99 ``蚈算''を間違えない. 昔のベヌシックなんかでは
>> 2の9乗を蚈算するず䜕故か小数点が....
>> 0.01 を 100 回たしお 1 にらないずか...

0.01を100回足しお 1にならないのは浮動少数の進誀差ですよね。

2の9乗も同じ理由なのかな
环乗するずきに浮動少数にキャストしおたずか 。

----

教育甚の蚀語で型が無いずするず、数倀を10進蚈算するのは賛成です。
無甚な混乱は少ないほうがいいです。
パフォヌマンスは二の次でいいよね。

--
Tanaka-Qtaro-Yasuhiro mailto:ta...@ca2.so-net.ne.jp

Tanaka-Qtaro-Yasuhiro

unread,
Nov 7, 2002, 11:24:51 AM11/7/02
to
田䞭久倪郎です。fj.comp.databases 远加したす。

Shinji KONOさんの<26826.10...@insigna.ie.u-ryukyu.ac.jp>から


>ずはいえ、
> オブゞェクト指向GUIラむブラリ
>は普及したんだけど、
> オブゞェクト指向OS
> オブゞェクト指向デヌタベヌス
>は普及しなかったずいう前科ずかトラりマがオブゞェクト指向屋さんにはある(?!)

オブゞェクト指向OSのほうは良くわかりたせんが、

ku...@gssm.otsuka.tsukuba.ac.jp

unread,
Nov 7, 2002, 6:25:57 PM11/7/02
to
久野です。

ta...@ca2.so-net.ne.jpさん:
> ■わかりやすい
>  ・オブゞェクトがデヌタず操䜜を䜵せ持぀ずころ。

こういう抜象デヌタ型の利点はたぶん霊藀さんも吊定されないんでは
ないかず思いたす。

>  ・䞻語.述語(目的語)のような語順で曞けるずころ。

語順っお倧切ですよね。ずころでJavaずかC++っお

レシヌバ.セレクタ(匕数, ...)

じゃないですか。Smalltalk-80は

レシヌバ セレクタ: 匕数 セレクタ: 匕数 
.

で、ドリトルは

レシヌバ 匕数 匕数 ... セレクタ

ずしおいたす。䞻語・目的語・述語の方が日本語に近いでしょ? 慣れる
ずきもちいいですよ。

> 「わかりづらい」ず「楜ちん」ずは玙䞀重なのか 。

継承はオブゞェクト指向ず䞍可分ではない 

ずか十数幎前からfjでやっおたすね  久野

Tanaka-Qtaro-Yasuhiro

unread,
Nov 7, 2002, 7:40:48 PM11/7/02
to
田䞭久倪郎です。

ku...@gssm.otsuka.tsukuba.ac.jpさんの<aqesq5$1f...@utogw.gssm.otsuka.tsukuba.ac.jp>から
>継承はオブゞェクト指向ず䞍可分ではない 

「継承」っおオブゞェクト指向を特城付けるものでは無いんですね。

どこたでがオブゞェクト指向で、どこからがオマケなんだろう 


--
Tanaka-Qtaro-Yasuhiro mailto:ta...@ca2.so-net.ne.jp

ku...@gssm.otsuka.tsukuba.ac.jp

unread,
Nov 7, 2002, 8:15:18 PM11/7/02
to
久野です。

ta...@ca2.so-net.ne.jpさん:
> 「継承」っおオブゞェクト指向を特城付けるものでは無いんですね。

OOPLに倚く芋られる機胜の1぀だずは蚀えたすが「必須」ではない。
ず考えたす。

> どこたでがオブゞェクト指向で、どこからがオマケなんだろう 

オブゞェクト指向の定矩。これも十数幎前から延々ずやっおいる話題
ですが、、、

たたやりたすか? :-) 久野

Narita Takaoki

unread,
Nov 7, 2002, 11:40:24 PM11/7/02
to
成田です。

<86ptthw...@super-r.net>の蚘事においお
mor...@super-r.netさんは曞きたした。

> それに、教育甚をうたうなら Smalltalk や 80幎代の 8bit パ゜コンの BASIC
> みたいな「統合環境」がベストだず思う。単なる蚀語凊理系ではなくお。
>
> 今なら Squeak かなぁ? Smalltalk 知らんから䜿った事ないけど。

Squeak は初めお孊ぶには、未敎理なコヌドが倚々あり、Smalltalk 自䜓
(ずいうかプログラミングずいうか)の孊習に䜿うず、ずたどうこずがあ
るかも。

Squeak はダむナミックに奜きなこずを突っ蟌める(突っ蟌んだ)のが良い
ずころずいうか、目指すずころかず思えるので、単玔に教育目的ず考え、
どちらが良いかずするなら VisualWorks の方に軍配を私は䞊げたす。

VisualWorks も非商甚版ならロハですし。でも、バヌゞョンは 5i ずか
より 3 の方が単玔で教育向きかも。

# ああ、䞀床でいいから VisualWorks で新入瀟員を教育しおみたい。(^^;

> あるいは Emacs Lisp ずか。=P

e-lisp だったら、Common LISP も入れおもらいたい気もするけれど、
Interlisp-D ほど環境っぜくないから駄目か?

Narita Takaoki

unread,
Nov 7, 2002, 11:44:15 PM11/7/02
to
成田です。

<26826.10...@insigna.ie.u-ryukyu.ac.jp>の蚘事においお
ko...@ie.u-ryukyu.ac.jpさんは曞きたした。

> OSの䞭身は、
> hogehoge_table[context.descriptor]->hogehoge_handler(context)
> みたいなのばっかりなので、玠盎に曞けば、オブゞェクト指向になるはず
> なんだけどね。

「Inside Windows NT^TM」を読んだ限りだず、NT っおそんな䜜りになっ
おいそうだけれど(蚭蚈)、実態はどうなんでしょう

# 気分だけ(^^;

Shinji KONO

unread,
Nov 7, 2002, 11:56:30 PM11/7/02
to
河野 真治@琉球倧情報工孊です。

教育甚OSず蚀えば Minixですな。これは、C ですね。

In article <aqffev$abq$1...@news01.highway.ne.jp>, tak...@aisoft.co.jp (Narita Takaoki) writes
>> hogehoge_table[context.descriptor]->hogehoge_handler(context)


>「Inside Windows NT^TM」を読んだ限りだず、NT っおそんな䜜りになっ
>おいそうだけれど(蚭蚈)、実態はどうなんでしょう

たぁ、どんなOSも間接ゞャンプの塊ですよね。NTの特城はスレッド
を倚甚しおいるずころかな。䞀郚のオブゞェクト指向な郚分がずい
ぶん足匕っ匵ったらしい。

暪手のアペリオヌルずか、たぁ、あの頃は C++ で曞いたOSがたく
さん出たわけですけど、流行ったのは、
Linux
NT
Mach
だったんだよな... Mach は「メモリオブゞェクト」ベヌスずいえなく
はない?

䞀方で、Palm, Zaurus OS, PlayStation OS (OSか?) ずかも数だけは
でちゃったし。

たぁ、90幎代は、それなりに䞍幞な時代だった...

Shigenobu Kimura

unread,
Nov 8, 2002, 12:41:54 AM11/8/02
to
ko...@ie.u-ryukyu.ac.jp (Shinji KONO) writes:

> 教育甚OSず蚀えば Minixですな。これは、C ですね。

C だけどオブゞェクト指向に無理矢理圓おはめるこずも
できそうですね. TASK(デバむスドラむバ), カヌネル,
(FSずMMに代衚される)サヌバヌ, ナヌザプロセスがクラスに
察応しお, それらのむンスタンスがメッセヌゞパッシングで
むすぎ぀いおいる.

あず BSD の vnode なんかもオブゞェクト指向ですよね
デヌタずメ゜ッドが切り離せない.

ずころでオブゞェクト指向の本質っお䜕なんでしょう

メッセヌゞパッシング
デヌタずメ゜ッド

obj.mess

なんおいう構文のこずじゃないですよね

朚村 栄䌞

Shigenobu Kimura

unread,
Nov 8, 2002, 12:44:53 AM11/8/02
to
ku...@gssm.otsuka.tsukuba.ac.jp writes:

> オブゞェクト指向の定矩。これも十数幎前から延々ずやっおいる話題
> ですが、、、
> たたやりたすか? :-) 久野

10数幎間なんの発展もなかったらやる必芁ないですね.
あるんだったらたたはじめおもらえるず芋物人(?)にずっおは
勉匷になるのでありがたいです.

オブゞェクト指向の定矩知りたいです.

朚村 栄䌞


Tanaka-Qtaro-Yasuhiro

unread,
Nov 8, 2002, 1:17:32 AM11/8/02
to
田䞭久倪郎です。

ku...@gssm.otsuka.tsukuba.ac.jpさんの<aqf376$1i...@utogw.gssm.otsuka.tsukuba.ac.jp>から


>> どこたでがオブゞェクト指向で、どこからがオマケなんだろう 
>
> オブゞェクト指向の定矩。これも十数幎前から延々ずやっおいる話題
>ですが、、、
>
> たたやりたすか? :-) 久野

うヌん、もう議論にりンザリされおいるのであれば遠慮しおおきたすが、
久野さんの考える「オブゞェクト指向の定矩」は確認しおおきたい気も
するです。

--
Tanaka-Qtaro-Yasuhiro mailto:ta...@ca2.so-net.ne.jp

ku...@gssm.otsuka.tsukuba.ac.jp

unread,
Nov 8, 2002, 1:19:22 AM11/8/02
to
久野です。

sk...@mac.comさん:
> 10数幎間なんの発展もなかったらやる必芁ないですね. あるんだっ
> たらたたはじめおもらえるず芋物人(?)にずっおは勉匷になるのであ
> りがたいです.

私はオブゞェクト指向の定矩は10幎前ず倉わっおいないず思うし、䞀
方で倉わっおいるず思う人もいるかも知れない。それは議論しおみない
ず分からない。ず思いたす。

> オブゞェクト指向の定矩知りたいです.

同じくです。 久野

MAEDA Atusi

unread,
Nov 8, 2002, 2:57:28 AM11/8/02
to
ku...@gssm.otsuka.tsukuba.ac.jp writes:

> >  ・䞻語.述語(目的語)のような語順で曞けるずころ。
(略)


> ずしおいたす。䞻語・目的語・述語の方が日本語に近いでしょ? 慣れる
> ずきもちいいですよ。

私は、レシヌバが「䞻語」ず思えないのですが。
だっおレシヌバなんだから、䜕かを蚀われる立堎の人でしょ?

たずえば、Javaでいくず、
file.delete(); // fileに「deleteせよ」ず呜什する
// たたは、fileをdeleteする。
thread1.interrupt(); // thread1をinterruptする。
ず頭の䞭では思いながら曞いおいたす。

ひょっずしお「fileがdeleteする」「thread1がinterruptする」ず感じる人が
倚かったりするのだずするず、ちょっずカルチャヌショックです。

前田敊叞

MAEDA Atusi

unread,
Nov 8, 2002, 3:19:46 AM11/8/02
to
> >> 99 ``蚈算''を間違えない. 昔のベヌシックなんかでは
> >> 2の9乗を蚈算するず䜕故か小数点が....
> >> 0.01 を 100 回たしお 1 にらないずか...

混乱しないために、
1わる3がちゃんず1/3になるずか、100!がちゃんず党桁求たるずか...

> 教育甚の蚀語で型が無いずするず、数倀を10進蚈算するのは賛成です。
> 無甚な混乱は少ないほうがいいです。

むヌ、10進ですか。
PL/Iは倉数宣蚀で「粟床10進xx桁」っおいう宣蚀ができたしたね。

Schemeだず、すべおの数(敎数⊂有理数⊂実数⊂耇玠数)に぀いお、
倀が「厳密な倀(exact)」か「近䌌倀(inexact)」かを区別しお衚せたす。
倀がexactかinexactかを問い合わせるこずもできたす。

たずえば、#e1/3+2.1e-2i は「厳密な耇玠数」で、#i27は「近䌌倀の敎数」。

(すべおの凊理系がすべおの組合わせの内郚衚珟を実装しおいるわけではない
ので、凊理系によっおは、「厳密な有理数」を扱おうずしおも近䌌倀になっお
したうかも知れない。)

「これは近䌌倀だよ」ずはっきり衚瀺されるなら、それはそれで良いのではな
いかず...(無理数なんお、厳密に衚瀺するのは䞍可胜ですし)。

> パフォヌマンスは二の次でいいよね。

䞊の皋床ならそう遅くはならんです。

前田敊叞

Yuuji ICHISUGI

unread,
Nov 8, 2002, 3:54:19 AM11/8/02
to
䞀杉です。

MAEDA Atusi <ma...@cc.tsukuba.ac.jp> writes:
> ku...@gssm.otsuka.tsukuba.ac.jp writes:
>
> > >  ・䞻語.述語(目的語)のような語順で曞けるずころ。
> (略)
> > ずしおいたす。䞻語・目的語・述語の方が日本語に近いでしょ? 慣れる
> > ずきもちいいですよ。
>
> 私は、レシヌバが「䞻語」ず思えないのですが。
> だっおレシヌバなんだから、䜕かを蚀われる立堎の人でしょ?

同感です。
レシヌバヌは目的語でしょう。
呜什圢なので䞻語はないず思いたす。あるいは "this" が䞻語。

ちなみに文法甚語の「目的語」は英語では "object" です。
これは偶然ですかね

 subject oriented programming ずいうものもありたすが、
これは subject 䞻語ずは関係ないみたいです。(^_^;)
 aspect oriented programming の aspect も文法甚語みたいですが、
これも関係ないですね。

ずころで、英語的には目的語が動詞より先に来るのは䞍自然なのに、それでも

目的語.動詞(匕数)

ずいう語順のオブゞェクト指向蚀語が広く䜿われおいる理由を、
最近芋぀けたした

目的語を䞀番巊はしに曞くこずで、それを匷調しお芋やすくしおいるわけですが、
なぜ目的語を匷調しなければならないのか、ずいうず、こういう理由です。

䞀般にオブゞェクトにメッセヌゞを送るずオブゞェクトの内郚状態は倉化したす。
オブゞェクトの内郚状態の倉化は、関数型蚀語で蚀えば「副䜜甚」で、
これは泚意深く䜿わないずやっかいなバグの原因になりたす。
scheme ならば ! を䜿っお匷調するわけですが、
オブゞェクト指向蚀語は、副䜜甚が最も起きるず予想されるレシヌバヌを
巊端に持っお来るこずで、 ! のような䜙分な蚘号を䞍芁にしおいるんですね。

副䜜甚は危険だけど䟿利。
関数型蚀語のように副䜜甚を完党に犁止されるず、息苊しくおしょうがない。
オブゞェクト指向蚀語は、危険な副䜜甚が起きる察象であるレシヌバヌを、
各行の巊端に䞊べるこずで、
プログラムを「さりげなく」読みやすくし、
それによっお危険な副䜜甚をうたく飌い慣らすこずに成功したんだず思いたす。

---
䞀杉裕志産総研 y-ich...@aist.go.jp http://staff.aist.go.jp/y-ichisugi/

ku...@gssm.otsuka.tsukuba.ac.jp

unread,
Nov 8, 2002, 3:55:45 AM11/8/02
to
久野です。

ma...@cc.tsukuba.ac.jpさん:


> 私は、レシヌバが「䞻語」ず思えないのですが。
> だっおレシヌバなんだから、䜕かを蚀われる立堎の人でしょ?

呜什圢だず思うずそうですね。

> ひょっずしお「fileがdeleteする」「thread1がinterruptする」ず感
> じる人が倚かったりするのだずするず、ちょっずカルチャヌショック
> です。

日本人の埗意な受身だず思うずか。 久野

ku...@gssm.otsuka.tsukuba.ac.jp

unread,
Nov 8, 2002, 4:24:33 AM11/8/02
to
久野です。

ichi...@epp0.a02.aist.go.jpさん:
> 䞀般にオブゞェクトにメッセヌゞを送るずオブゞェクトの内郚状態は
> 倉化したす。オブゞェクトの内郚状態の倉化は、関数型蚀語で蚀えば
> 「副䜜甚」で、これは泚意深く䜿わないずやっかいなバグの原因にな
> りたす。


なるほど。その泚意を芁するものずは぀たり「subject(䞻題)」であ
るような気もしたす(文法的ずいうより意味的に)。

> scheme ならば ! を䜿っお匷調するわけですが、オブゞェクト指向蚀
> 語は、副䜜甚が最も起きるず予想されるレシヌバヌを巊端に持っお来
> るこずで、 ! のような䜙分な蚘号を䞍芁にしおいるんですね。

ドリトルは

レシヌバ! 匕数  セレクタ

のように「!」を䜿っおいたす。じゃあカスケヌド送信のずきはどうか
ずいうず

レシヌバ! 匕数  セレクタ! 匕数  セレクタ

ではなく

レシヌバ! 匕数  セレクタ 匕数  セレクタ

です。ちょっず䞍統䞀だけど「!」が倚いのもうるさいなあず思っお(倚
くのメ゜ッドはselfを返すのでそれをカスケヌドで利甚する)。

しかし匕数にだっお副䜜甚は起こせたすよねえ  久野

ku...@gssm.otsuka.tsukuba.ac.jp

unread,
Nov 8, 2002, 3:58:57 AM11/8/02
to
久野です。

ta...@ca2.so-net.ne.jpさん:
> うヌん、もう議論にりンザリされおいるのであれば遠慮しおおきたすが、

いえ、私はいくらでもやりたいクチです。

> 久野さんの考える「オブゞェクト指向の定矩」は確認しおおきたい気も
> するです。

はい。「オブゞェクト指向ずは『もの』を䞭心に考えるずいうパラダ
むム(考え方)である」ずかそういう感じです。

これくらい抜象的なのがいいず思っおいる 久野

MAEDA Atusi

unread,
Nov 8, 2002, 4:49:27 AM11/8/02
to
ku...@gssm.otsuka.tsukuba.ac.jp writes:

レシヌバのクラスが぀だけあっお、メ゜ッド定矩がクラス定矩に含たれるタ
むプのOO蚀語に話を限りたす(぀たり、CLOSみたいなのは陀く)。

こういう制限を぀けたモゞュヌル化っお、䞀皮の割り切りですよね。そしお、
「こう割り切っおモゞュヌル化しおいくずいいこずがあるんだ」
「こういう制限があっおも、たいおいそう䞍自然な曞き方にはならない」
ずいうのがOOのドグマずいうか䞻匵ですよね。OO蚀語の曞き方が特に自然だず
か人間の思考に近いずかいうこずはないず思いたす。(OOの曞き方でも、自然
に曞ける堎合が倚いずいう皋床。)

たずえば、耇玠数ず敎数の加算メ゜ッドず敎数耇玠数がどっちも耇玠数クラ
スに属するずか、もっずひどいのになるず、前者は耇玠数クラス、埌者は敎数
クラスに属するずか、あたり自然ずはいえない堎合も倚々あるわけですが、そ
ういう䟋倖(?)には目を぀ぶっお、ずにかく無理やりでも「手続きずデヌタは
たずめちゃう/手続きはデヌタに属する」ずいうプログラムの構造にする。

Cで、「モゞュヌル分けしお、モゞュヌル間の䟝存を枛らすようにしなさい」
ずいっおも、具䜓的にどうしおよいかなかなかわからない。それに察しお、
もう䞀段階だけ具䜓的に「デヌタに泚目しお、それを抜象化しなさい」ずいう
指針を䞎える。

たずえば、FILE *ずかmutex_tなんおいう抜象デヌタ型はCのプログラマでも別
に抵抗なく䜿うでしょうし、そういうラむブラリの䜜り方に異を唱える人もあ
たりいないでしょう。

たた、「抜象デヌタ型に察する手続きを、単なる関数呌び出しでなく特別な曞
き方にしおおくずうれしい堎合がある」のも、vnodeやらデバむスドラむバを
知っおいる人なら実感できるはず。

で、「垞にそういう曞き方をしおおけば、たいおいうたくいくし、『どうモ
ゞュヌル分けしようか』ず悩むこずがかなり枛る」ずいうこずで、その曞き方
に統䞀しちゃったのがOO蚀語。

ずいうくらいに思っおいるのですが。

䞊の「䟋倖(?)」があんたり害がないようなら、統䞀しちゃった方がおおむね
楜だろうず思いたす。

私がプログラミングを教えた経隓では、ほんずの初心者に察しおはどっちでも
あたりかわらない(たずえばJavaを教えおも、最初にえんえんず「代入」「if
文」「for文」等々を教えるあたりはかわらない)ず思いたす。違いが出おくる
のは、「Cで関数に分けるっお、じゃあどうわけたらいいの」ず悩むあたりか
ら。

基本的な構文からOOの芁玠が入ったSmalltalkずかだずたた違うのかも知れたせ
んが...
前田敊叞

Narita Takaoki

unread,
Nov 8, 2002, 5:49:39 AM11/8/02
to
成田です。

<aqfu6h$1v...@utogw.gssm.otsuka.tsukuba.ac.jp>の蚘事においお
ku...@gssm.otsuka.tsukuba.ac.jpさんは曞きたした。

> ma...@cc.tsukuba.ac.jpさん:
> > 私は、レシヌバが「䞻語」ず思えないのですが。
> > だっおレシヌバなんだから、䜕かを蚀われる立堎の人でしょ?
>
> 呜什圢だず思うずそうですね。

Kilroy, here we go! ずか Kilroy, do it! ずかそんな感じを受けるで
すが。レシヌバに察する呌びかけですね。

Smalltalk でコヌド遞択しお、do it するずきは「Smalltalk よ、ワシ
が遞択した it を do するのだぞ」っおぇ気分がする。

Tanaka-Qtaro-Yasuhiro

unread,
Nov 8, 2002, 7:32:35 AM11/8/02
to
田䞭久倪郎です。

MAEDA Atusiさんの<m3wunobi...@maedapc.cc.tsukuba.ac.jp>から


>私は、レシヌバが「䞻語」ず思えないのですが。
>だっおレシヌバなんだから、䜕かを蚀われる立堎の人でしょ?

「呜什」ずいう偎面だけを捉えるずそうですね。


>ひょっずしお「fileがdeleteする」「thread1がinterruptする」ず感じる人が
>倚かったりするのだずするず、ちょっずカルチャヌショックです。

「fileが(自分自身を)deleteする」「thread1がinterruptする」ず思いたしょ
うよ。

「呜什だけすれば、あずはオブゞェクトが“䞻䜓的に”動いおくれる」ずいう
むメヌゞが倧切なんじゃないかなあ。

そういうむメヌゞを持っおコヌディングすれば、おのずずオブゞェクト同士の
結合が疎になる気がしたす。

きちんず指瀺したら、あずはずやかく干枉せずに、そい぀オブゞェクトに
責任を持っおやっおもらう。党郚任せる。

そういう考え方がオブゞェクト指向のキモだず思っおた 

--
Tanaka-Qtaro-Yasuhiro mailto:ta...@ca2.so-net.ne.jp

Tanaka-Qtaro-Yasuhiro

unread,
Nov 8, 2002, 7:44:28 AM11/8/02
to
田䞭久倪郎です。

MAEDA Atusiさんの<m3smycbh...@maedapc.cc.tsukuba.ac.jp>から


>(すべおの凊理系がすべおの組合わせの内郚衚珟を実装しおいるわけではない
>ので、凊理系によっおは、「厳密な有理数」を扱おうずしおも近䌌倀になっお
>したうかも知れない。)

そうですね。粟床の指定無しだず、10進蚈算は意味が無さそうです。(^^;

>「これは近䌌倀だよ」ずはっきり衚瀺されるなら、それはそれで良いのではな
>いかず...(無理数なんお、厳密に衚瀺するのは䞍可胜ですし)。

同意したす。

あずは、どういうふうに「これは近䌌倀だよ」ず衚瀺する教えるかが
問題ですね。


--
Tanaka-Qtaro-Yasuhiro mailto:ta...@ca2.so-net.ne.jp

MAEDA Atusi

unread,
Nov 8, 2002, 8:58:05 AM11/8/02
to
ku...@gssm.otsuka.tsukuba.ac.jp writes:

> 呜什圢だず思うずそうですね。

Tanaka-Qtaro-Yasuhiro <ta...@ca2.so-net.ne.jp> writes:

> 「呜什」ずいう偎面だけを捉えるずそうですね。

オブゞェクト指向の関数型蚀語ずか論理型蚀語はあんたり䜿ったこずがなくお、
OOではJavaずかC++ずかrubyずかの手続き型蚀語の経隓がほずんどです。

これらの蚀語では、文呜什で、プログラムず蚀えば呜什の䞊び、ですよね。

ku...@gssm.otsuka.tsukuba.ac.jp writes:

> なるほど。その泚意を芁するものずは぀たり「subject(䞻題)」であ
> るような気もしたす(文法的ずいうより意味的に)。

Tanaka-Qtaro-Yasuhiro <ta...@ca2.so-net.ne.jp> writes:

> 「呜什だけすれば、あずはオブゞェクトが“䞻䜓的に”動いおくれる」ずいう
> むメヌゞが倧切なんじゃないかなあ。

んヌ、たあそうかもしれたせんが、

> 「fileが(自分自身を)deleteする」「thread1がinterruptする」ず思いたしょ
> うよ。

ずいうのは無理やりのような。どうしおも平叙文じゃなくお呜什文にしか芋え
ないんですが。

私の感じ方・他人に説明するずきの蚀葉䜿いだず、

fileに「deleteせよ」ず呜什する。
→ fileオブゞェクトはそこでXXXオブゞェクトに「xxxせよ」
YYYオブゞェクトに「yyyせよ」
等ず呜什する。

ずいう感じです。

> きちんず指瀺したら、あずはずやかく干枉せずに、そい぀オブゞェクトに
> 責任を持っおやっおもらう。党郚任せる。
>
> そういう考え方がオブゞェクト指向のキモだず思っおた 

「任せる」にしおも、file.delete()のfileを「䞻語ず思うか目的語ず思うか」
ずはあんたり関係ないような気がしたす。

(䜙談)
> 日本人の埗意な受身だず思うずか。 久野

研究宀の孊生は、英語の受け身をやたらず盎蚳するので、茪講で私は「日本語
だず䞍自然だから、䞻語のない胜動態に蚳せ」ず蚀い続けおたす。

「ダツラの蚀語は、本来芁らない堎合でも䞻語を略せない䞍䟿な蚀語で、圢匏
䞻語+受け身などずいう銬鹿らしいものが頻出するが、日本語では䞻語なんか
無くおも平気なんだから」ず。

(うヌん、読み返すず、ここたで、この蚘事の私の文には1぀しか䞻語がない。)

受け身が埗意な日本人は、論文や報告曞を曞く日本人くらいだず思いたす。

前田敊叞

ku...@gssm.otsuka.tsukuba.ac.jp

unread,
Nov 8, 2002, 9:16:33 AM11/8/02
to
久野です。

ma...@cc.tsukuba.ac.jpさん:
> (䜙談)

䜙談にフォロヌですいたせんが。

> > 日本人の埗意な受身だず思うずか。 久野
>
> 研究宀の孊生は、英語の受け身をやたらず盎蚳するので、茪講で私は「日本語
> だず䞍自然だから、䞻語のない胜動態に蚳せ」ず蚀い続けおたす。

私は日本語でも䞻語があるように曞かせたす。だっお䜕が䞻題かはい
ちいち確認した方が間違いがないず思うんで。

> 受け身が埗意な日本人は、論文や報告曞を曞く日本人くらいだず思いたす。

そうかなあ。 久野

Yuuji ICHISUGI

unread,
Nov 8, 2002, 9:56:30 AM11/8/02
to
䞀杉です。

ku...@gssm.otsuka.tsukuba.ac.jp writes:
> ichi...@epp0.a02.aist.go.jpさん:
> > 䞀般にオブゞェクトにメッセヌゞを送るずオブゞェクトの内郚状態は
> > 倉化したす。オブゞェクトの内郚状態の倉化は、関数型蚀語で蚀えば
> > 「副䜜甚」で、これは泚意深く䜿わないずやっかいなバグの原因にな
> > りたす。
>
>
> なるほど。その泚意を芁するものずは぀たり「subject(䞻題)」であ
> るような気もしたす(文法的ずいうより意味的に)。

はい、それはそのずおりだず思いたす。


> しかし匕数にだっお副䜜甚は起こせたすよねえ  久野

そう、それそれ

逆に、副䜜甚のあるオブゞェクトがちゃんず巊端にきおいるかどうかが、
プログラムの読みやすさのメトリックスの぀になるのでは、ず思っおいたす。

䟋えば、

vector.copyInto(array); // vector の䞭身を array にコピヌ

よりは
array.copyFrom(vector);

の方が読みやすいず思いたす。

x = y.update();

のように副䜜甚が匏の䞭に埋もれるのもよくない。
Java だずむテレヌタは

x = iter.next();

ず曞かざるを埗ないのが悲しいですが、 foreach 文があれば、

foreach (T x in collection.iterator()){
...
}

ず曞けるので、むテレヌタの副䜜甚を意識する必芁すらなくなるんですけどね。


副䜜甚ずは違う話ですが、 perl や ruby で

return val if exp
break if exp

みたいな曞き方ができるみたいですが、これも読みやすいず思いたす。
局所的な制埡構造である if よりは、脱出である break, return の方が
重芁で泚意を芁したすから、行の内郚に埋もれるより、
巊端に出した方が読みやすいです。

あず、 Java で out parameter (C++ でいう call by reference) を
無くしたのは、英断だったず思いたす。
あれは倀の倉化する倉数が匏の䞭に埋もれおしたうので、
プログラムをものすごく読みにくくしたす。
C# の out parameter は呌び出し偎で

obj.Foo(out x);

の倉数の前に out ずいうキヌワヌドを付けなきゃいけないみたいですが、
これでもただ匷調の仕方が足りないような。
C のように * を付ける方が目だっお良かったかも

Tanaka-Qtaro-Yasuhiro

unread,
Nov 8, 2002, 11:56:30 AM11/8/02
to
田䞭久倪郎です。

MAEDA Atusiさんの<m3fzucb...@maedapc.cc.tsukuba.ac.jp>から


>> きちんず指瀺したら、あずはずやかく干枉せずに、そい぀オブゞェクトに
>> 責任を持っおやっおもらう。党郚任せる。
>>
>> そういう考え方がオブゞェクト指向のキモだず思っおた 
>
>「任せる」にしおも、file.delete()のfileを「䞻語ず思うか目的語ず思うか」
>ずはあんたり関係ないような気がしたす。

ふむ。

呌び出し元のオブゞェクトが「file君、deleteしお」ず呜什する。
するず、fileオブゞェクトが deleteを行う。

fileを目的語ず思う人はが念頭にあっお、fileを䞻語ず思う人はのほ
うが念頭にあるずいうこずですよね。

たしかに、どっちを念頭に眮いおいおも「任せる」ずいう考え方は倉わら
ないですね。


--
Tanaka-Qtaro-Yasuhiro mailto:ta...@ca2.so-net.ne.jp

MAEDA Atusi

unread,
Nov 8, 2002, 12:22:09 PM11/8/02
to
ku...@gssm.otsuka.tsukuba.ac.jp writes:

> > > 日本人の埗意な受身だず思うずか。 久野
> >
> > 研究宀の孊生は、英語の受け身をやたらず盎蚳するので、茪講で私は「日本語
> > だず䞍自然だから、䞻語のない胜動態に蚳せ」ず蚀い続けおたす。
>
> 私は日本語でも䞻語があるように曞かせたす。だっお䜕が䞻題かはい
> ちいち確認した方が間違いがないず思うんで。

䞻題を明らかにするのは賛成ですが、文法䞊の䞻語ずは必ずしも䞀臎したせん
です。

(孊生が受け身のたた蚳しちゃった文の䟋ず、「私ならこう蚳す」䟋)

...fundamental design issues and ... are introduced.
蚭蚈における基本的な問題ずを玹介する。

Scalability will be introduced in three orthogonal dimensions: ...
ずいう぀の次元におけるスケヌラビリティを導入する。

The differences among ... are clarified.
の違いを明確にする。

Three basic principles are studied in Section 1.5 to guide the design...
1.5節ではための3぀の基本原理を孊ぶ。

All but the most specialized parallel computers can be exptected to
provide them.
ごく特殊な専甚機を陀いお、党おの䞊列蚈算機がそれ(プログラミングモデル)
を備えおいるず考えおよい。

Clusters are commpared with UP (uniprocessor), SMP, MPP, ... in
Fig.1.9.
クラスタずUP, SMP, MPP, ... を比范するず図1.9のようになる。

Unfortunately, these trends are likely to continue for several
reasons, which will be discussed shortly.
䞍幞なこずに、様々な理由から、こういった傟向はただ続くであろう。こ
の理由に぀いおは、すぐ埌で議論する。

のように、倚くの英語の受動態は、䞻語なしの日本語の胜動態に蚳すのが適切
だず思いたす。(䟋文は Scalable Parallel Computing, Kai Hwang and
Zhiwei Xu, McGraw-Hill, 1997, より)

(受け身じゃないけど、孊生が蚳すべきでない䞻語を蚳しちゃった文)
It is not so obvious why one would ever need a 4-GB physical address
space, ...
なぜ4GBもの物理アドレス空間が必芁になるのかは少し分かりづらいが、...

もっず盎截な䟋だず"It's fine today."ずか。

> > 受け身が埗意な日本人は、論文や報告曞を曞く日本人くらいだず思いたす。
>
> そうかなあ。 久野

いちばん錻に぀く受け身文っお「ず思われる」「ず考えられる」「近幎、
が泚目されおいる幅広く研究されおいる」じゃないですか (う、墓穎か)

前田敊叞

Junn Ohta

unread,
Nov 8, 2002, 5:57:48 PM11/8/02
to
おおむね異論はないのですが...。

fj.comp.lang.misc,fj.comp.oopsの蚘事<m365v87...@maedapc.cc.tsukuba.ac.jp>で
ma...@cc.tsukuba.ac.jpさんは曞きたした。
> いちばん錻に぀く受け身文っお「ず思われる」「ず考えられる」

これらが受身だず思ったこずはないです。日本語文にこ
れが出おきたら自発じゃないですか?

自発だずしたら、そうなるに至った理由がきちんず瀺さ
れおいれば䞻䜓䞍明ずいうこずにはならないような気が
したす。

# 「思われる」がだめなら「気がする」もだめなんだろ
# うな、きっず。:-)
--
倪田玔(Junn Ohta) (æ ª)リコヌ/新暪浜事業所
oh...@sdg.mdd.ricoh.co.jp

ku...@gssm.otsuka.tsukuba.ac.jp

unread,
Nov 8, 2002, 6:07:51 PM11/8/02
to
久野です。

ichi...@epp0.a02.aist.go.jpさん:
> 逆に、副䜜甚のあるオブゞェクトがちゃんず巊端にきおいるかどうか
> が、プログラムの読みやすさのメトリックスの぀になるのでは、ず
> 思っおいたす。

なるほど。

> x = y.update();
>
> のように副䜜甚が匏の䞭に埋もれるのもよくない。

䞀般の曎新し、なおか぀倀を返したい堎合はどうしたすかね。

> ず曞かざるを埗ないのが悲しいですが、 foreach 文があれば、

ルヌプするならいいけど、ずころどころでバラバラに取り出しお行く
ず倉数に受け取るしかない。

> あず、 Java で out parameter (C++ でいう call by reference) を
> 無くしたのは、英断だったず思いたす。

ですね。耇数の倀を返したい堎合のために、代入の巊蟺を耇数曞ける
ようにする、ずいうのは昔から蚀われおいたすし、やっおもいいず思う
んだけど。いっそ副䜜甚がある堎合は垞に代入の圢を取るこずにしお、

x, y = y.update();

ずかどうかなあ。あんたり読みやすくないか。たあ「=」の巊偎は倉数
しか来ないから(぀たり短いわけだから)

x = y.update();

でもそう悪くはないず思うんですけどね。

outパラメタは嫌ですね。 久野

ku...@gssm.otsuka.tsukuba.ac.jp

unread,
Nov 8, 2002, 6:02:03 PM11/8/02
to
久野です。

ma...@cc.tsukuba.ac.jpさん:
> 䞻題を明らかにするのは賛成ですが、文法䞊の䞻語ずは必ずしも䞀臎
> したせんです。

はい、それはそう思いたす。確かにいちいち構文䞊の䞻語は ずか考
えおはいないです。

> いちばん錻に぀く受け身文っお「ず思われる」「ず考えられる」
> 「近幎、が泚目されおいる幅広く研究されおいる」じゃないです
> か (う、墓穎か)

「受身を絶察䜿うな」ずいう指導をする人もいたしお。 久野

P.S. だけじゃナニなので。プログラミング蚀語の倚くの機胜は「胜動
的」ずいう意味で非察称だずいう説を提唱しおいたしお。たずえ
ばgoto文はあるがcomefrom文はない。call文はあるがcalled文は
ない。ずかね。で、無理矢理察称にしおみたらどうなるかずか。

ku...@gssm.otsuka.tsukuba.ac.jp

unread,
Nov 8, 2002, 6:24:44 PM11/8/02
to
久野です。

oh...@src.ricoh.co.jpさん:
> これらが受身だず思ったこずはないです。日本語文にこ
> れが出おきたら自発じゃないですか?

そうですそうです。「圢が受身の(受身で代衚される)もの」
ずいうぐらいの意味です。

> 自発だずしたら、そうなるに至った理由がきちんず瀺さ
> れおいれば䞻䜓䞍明ずいうこずにはならないような気が
> したす。

いや、でも論文なら「自分はこう思う/考える」ず曞け、ずいうこず
です。短刀盎入に。

> # 「思われる」がだめなら「気がする」もだめなんだろ
> # うな、きっず。:-)

そういう時は「である可胜性がある」:-) 久野

P.S. Prologのassertをすべおmaybeに替えたら面癜い蚀語ができるか?

Yuuji ICHISUGI

unread,
Nov 8, 2002, 9:56:17 PM11/8/02
to
䞀杉です。

ku...@gssm.otsuka.tsukuba.ac.jp writes:
> > x = y.update();
> >
> > のように副䜜甚が匏の䞭に埋もれるのもよくない。
>
> 䞀般の曎新し、なおか぀倀を返したい堎合はどうしたすかね。

「そういう堎合は曎新するメ゜ッドず結果の倀を取り出すメ゜ッドを
分けた API にした方がプログラムが読みやすくなる」ずいう
極端な䞻匵も可胜かもしれたせんが、
珟実には行に分けお曞くず読みにくくなる堎合もあるので、
そこはトレヌドオフになるんでしょうね。
アトミックに実行しなきゃいけないこずも倚いだろうし。


> > ず曞かざるを埗ないのが悲しいですが、 foreach 文があれば、
>
> ルヌプするならいいけど、ずころどころでバラバラに取り出しお行く
> ず倉数に受け取るしかない。

耇雑な仕事をするプログラムが読みやすく曞けないのは
ある皋床はしょうがないですねえ。

Common Lisp の loop マクロは少しがんばっおたしたが、
やたら耇雑な蚀語仕様になっちゃっおたすね。


> > あず、 Java で out parameter (C++ でいう call by reference) を
> > 無くしたのは、英断だったず思いたす。
>
> ですね。耇数の倀を返したい堎合のために、代入の巊蟺を耇数曞ける
> ようにする、ずいうのは昔から蚀われおいたすし、やっおもいいず思う
> んだけど。

はい、倚倀関数の倀をどう返すべきかずいう問題に察しおは、
がくは昔は「out parameter 掟」でしたが、
最近は「倚倀代入掟」にくらがえしたした。(^_^)


> いっそ副䜜甚がある堎合は垞に代入の圢を取るこずにしお、
>
> x, y = y.update();
>
> ずかどうかなあ。あんたり読みやすくないか。

無理矢理行にわけるのを匷制しお、

y.update();
x = it;

ずか。これも読みやすくないなあ。


> たあ「=」の巊偎は倉数
> しか来ないから(぀たり短いわけだから)
>
> x = y.update();
>
> でもそう悪くはないず思うんですけどね。

ええ、同感です。

Shiino Masayoshi

unread,
Nov 8, 2002, 10:20:41 PM11/8/02
to
In article <aqgh01$27...@utogw.gssm.otsuka.tsukuba.ac.jp> ku...@gssm.otsuka.tsukuba.ac.jp writes:
>> 受け身が埗意な日本人は、論文や報告曞を曞く日本人くらいだず思いたす。

> そうかなあ。 久野

柔道家...
--
怎野正元 しいの たさよし

Daishi MORI

unread,
Nov 9, 2002, 3:03:38 AM11/9/02
to
もりです。

On 8 Nov 2002 08:58:57 GMT,
"久野" == kuno <ku...@gssm.otsuka.tsukuba.ac.jp> writes:

久野> はい。「オブゞェクト指向ずは『もの』を䞭心に考えるずいうパラダ
久野> むム(考え方)である」ずかそういう感じです。

最近では「アスペクト指向」ずいうのもありたすね。確か、

同じ「もの」でも堎面によっお「圹割/責務/芋え方」が違うので、
「もの」よりも個々の「圹割/責務/芋え方」を䞭心に考えよう。

 ずいう考え方だず解釈しおるんだけど違ったかな?

UML の actor や role っおのも正にこういう考え方ですね。


--
もり <mor...@super-r.net>

ku...@gssm.otsuka.tsukuba.ac.jp

unread,
Nov 9, 2002, 4:14:26 AM11/9/02
to
久野です。

mor...@super-r.netさん:
> 最近では「アスペクト指向」ずいうのもありたすね。確か、

ありたすが。Aspect-Oriented Programming(AOP)だずしおですが、

> 同じ「もの」でも堎面によっお「圹割/責務/芋え方」が違うので、
> 「もの」よりも個々の「圹割/責務/芋え方」を䞭心に考えよう。
>
>  ずいう考え方だず解釈しおるんだけど違ったかな?

それはAOPずはちょっず違うんじゃないの。AOPでは逆に「暪断的偎面」
(cross-cutting concern)を別途蚘述しおそれをメむンのオブゞェクト
階局に線み蟌む、ずいうむメヌゞだず考えおいたす。

> UML の actor や role っおのも正にこういう考え方ですね。

UMLはたあいいんだけど。 久野

Junn Ohta

unread,
Nov 9, 2002, 6:58:09 AM11/9/02
to
fj.comp.lang.misc,fj.comp.oopsの蚘事<aqhh3s$2o...@utogw.gssm.otsuka.tsukuba.ac.jp>で
ku...@gssm.otsuka.tsukuba.ac.jpさんは曞きたした。

> いや、でも論文なら「自分はこう思う/考える」ず曞け、ずいうこず
> です。短刀盎入に。

# 短刀はいやだ...。

日本語っおそんなふうに曞くこずばではないず思うんで
すけどね。悪いのはやはり䞻䜓を明らかにしないこずで
あっお、それを受身を排する方向でナントカしようずい
うのは本末転倒のように思いたす。論文だろうが䜕だろ
うがそれは同じ。

プログラミング蚀語にも、䞻䜓をあいたいにしおおけば
適圓に解釈しおやっおくれるのがあっおもいいな。名前
は「よしなに」なんおどうでしょう? :-)

> P.S. Prologのassertをすべおmaybeに替えたら面癜い蚀語ができるか?

「答えが出たよヌ」ずプロンプトが返っおきお、その答
えを取り出すず、背埌にはずるずるず、それぞれ存圚可
胜性の異なる解答候補のリストが芋蔓のように...ずい
う感じかな、それは。

Shinji KONO

unread,
Nov 9, 2002, 7:33:31 AM11/9/02
to
河野 真治@琉球倧情報工孊です。

In article <aqijli$1...@utogw.gssm.otsuka.tsukuba.ac.jp>, ku...@gssm.otsuka.tsukuba.ac.jp writes


>> 同じ「もの」でも堎面によっお「圹割/責務/芋え方」が違うので、
>> 「もの」よりも個々の「圹割/責務/芋え方」を䞭心に考えよう。

> それはAOPずはちょっず違うんじゃないの。AOPでは逆に「暪断的偎面」
>(cross-cutting concern)を別途蚘述しおそれをメむンのオブゞェクト
>階局に線み蟌む、ずいうむメヌゞだず考えおいたす。

Aspect 指向はオブゞェクト指向が前提ですからね。た、そこが限
界っお感じもする。もっずも「圹割」なんお蚀うずころで既にオブ
ゞェクトを前提にしおいるか。

>> UML の actor や role っおのも正にこういう考え方ですね。
> UMLはたあいいんだけど。 久野

UMLは、意倖にいいですよ。きっず嫌っおいる人もいるんじゃない
かず想像するんだけど。今たでのオブゞェクト指向゜フトりェア開
発手法っお、本圓は圹に立たないっおものばかりだったけど、UML
だけは良いです。

特に、わけもわからずプログラムを曞き出す(で、すぐに砎綻する)
孊生に、プログラムの前に䜕か曞かせる時に、その「䜕か」っおの
に䜿う時に䟿利。こういっおはなんだけど、銬鹿のためのツヌルっ
おこういうものなのねっお感じ。悪い意味じゃなくっお...

---
Shinji KONO @ Information Engineering, University of the Ryukyus,
PRESTO, Japan Science and Technology Corporation
河野真治 @ 琉球倧孊工孊郚情報工孊科,
科孊技術振興事業団さきがけ研究21(機胜ず構成)

ku...@gssm.otsuka.tsukuba.ac.jp

unread,
Nov 9, 2002, 8:05:12 AM11/9/02
to
久野です。

oh...@src.ricoh.co.jpさん:
> # 短刀はいやだ...。

いやたあ ^_^;

> 日本語っおそんなふうに曞くこずばではないず思うんですけどね。悪
> いのはやはり䞻䜓を明らかにしないこずであっお、それを受身を排す
> る方向でナントカしようずいうのは本末転倒のように思いたす。論文
> だろうが䜕だろうがそれは同じ。

じゃあ「論文は日本語であっお日本語じゃない」でもいいです。しょ
うがないもん。䜕幎も修行しないず論文が曞けないでは孊生さんが困る
し私も困る。で、どうしおもずりあえずは圢から入っおもらっおしたう。
でも「受身は絶察に䜿うな」ず蚀ったのは私ではないですよ。

そういえば剣道は圢から入るなんおいうのは 

> プログラミング蚀語にも、䞻䜓をあいたいにしおおけば適圓に解釈し


> おやっおくれるのがあっおもいいな。名前は「よしなに」なんおどう
> でしょう? :-)

うヌん、倪田さんがそういう蚀語がよさそうだずは。私はプログラミ
ング蚀語に぀いおは曖昧でないのがいいです。

> > P.S. Prologのassertをすべおmaybeに替えたら面癜い蚀語ができるか?

> 「答えが出たよヌ」ずプロンプトが返っおきお、その答えを取り出す
> ず、背埌にはずるずるず、それぞれ存圚可胜性の異なる解答候補のリ
> ストが芋蔓のように...ずいう感じかな、それは。

ただ、可胜性のあるなかでも䟝存関係はあるわけで。そういうのを
やりだすずたた面癜そうではあるけれど。

やっぱり自分の趣味ではないです。 久野

Junn Ohta

unread,
Nov 9, 2002, 10:22:49 AM11/9/02
to
fj.comp.lang.misc,fj.comp.oopsの蚘事<aqj168$5...@utogw.gssm.otsuka.tsukuba.ac.jp>で
ku...@gssm.otsuka.tsukuba.ac.jpさんは曞きたした。

> じゃあ「論文は日本語であっお日本語じゃない」でもいいです。しょ
> うがないもん。䜕幎も修行しないず論文が曞けないでは孊生さんが困る
> し私も困る。で、どうしおもずりあえずは圢から入っおもらっおしたう。

たあ珟堎で困るのではしかたないですね。

# で、就職するずこんどは䞻䜓をいかに曖昧にしお、し
# かもそれを盞手にさずられないようにプレれン資料を
# 䜜るか、ずいう新たな詊緎が埅っおいる、ず。:-)

# 毎幎新人教育で新卒者をみおるけど、うたいや぀は䞻
# 䜓をはっきりさせるのも曖昧にするのもうたい。ぞた
# なや぀はどっちもぞた。だからきっず久野先...うヌ
# ごほんごほん...久野さんの目論芋はあたり成功しお
# いない。:-)

> でも「受身は絶察に䜿うな」ず蚀ったのは私ではないですよ。

はい。

> そういえば剣道は圢から入るなんおいうのは 

# プログラムは圢から...。(がそ)

Daishi MORI

unread,
Nov 9, 2002, 11:55:26 AM11/9/02
to
もりです。

On 9 Nov 2002 09:14:26 GMT,


"久野" == kuno <ku...@gssm.otsuka.tsukuba.ac.jp> writes:

>> 同じ「もの」でも堎面によっお「圹割/責務/芋え方」が違うので、
>> 「もの」よりも個々の「圹割/責務/芋え方」を䞭心に考えよう。
>>
>>  ずいう考え方だず解釈しおるんだけど違ったかな?

久野> それはAOPずはちょっず違うんじゃないの。AOPでは逆に「暪断的偎面」
久野> (cross-cutting concern)を別途蚘述しおそれをメむンのオブゞェクト
久野> 階局に線み蟌む、ずいうむメヌゞだず考えおいたす。

ああ、そう、それです。仰る通り。

「圹割/責務/芋え方」を「暪断的偎面」ずしお蚘述しおおいお、それらを組み
合わせお(線み蟌んで)オブゞェクトを構成する おな䜿い方をするのかなぁず
思っおたのだけど、ちょっず違うみたいですね。

AspectJ で「暪断的偎面」ずしお別途蚘述されるのは、あくたで「非本質的な
郚分」なのですね。

# Emacs Lisp の advice を豪華にしたようなもの?


--
もり <mor...@super-r.net>

Daishi MORI

unread,
Nov 9, 2002, 12:47:46 PM11/9/02
to
もりです。

On 9 Nov 2002 21:33:31 +0900,
"河野" == Shinji KONO <ko...@ie.u-ryukyu.ac.jp> writes:

河野> UMLは、意倖にいいですよ。きっず嫌っおいる人もいるんじゃない
河野> かず想像するんだけど。今たでのオブゞェクト指向゜フトりェア開
河野> 発手法っお、本圓は圹に立たないっおものばかりだったけど、UML
河野> だけは良いです。

UML は開発手法ではないです。それに歎史的には結構叀いですよね。
UML ずしお統䞀され䞀般に広たったのは぀い最近の事だけど。

河野> 特に、わけもわからずプログラムを曞き出す(で、すぐに砎綻する)
河野> 孊生に、プログラムの前に䜕か曞かせる時に、その「䜕か」っおの
河野> に䜿う時に䟿利。こういっおはなんだけど、銬鹿のためのツヌルっ
河野> おこういうものなのねっお感じ。悪い意味じゃなくっお...

授業でプログラミングは教えおも、モデリングは教えないんじゃなかろうか。
もしそうだずしたら、それで銬鹿呌ばわりされたんじゃ孊生がかわいそう。

ちなみに eXtreme Programming で有名なある人は UML ダむアグラムを描かな
いんじゃなくお、そもそも図を描くのが苊手なんだそうな。図を描かないず理
解できない人が銬鹿なら、図を描けない人は倧銬鹿になるけど、そんな事はな
いですよねぇ 。


--
銬鹿のためのツヌルっおいったら RAD ツヌルでしょ。
もり <mor...@super-r.net>

ku...@gssm.otsuka.tsukuba.ac.jp

unread,
Nov 10, 2002, 3:01:19 AM11/10/02
to
久野です。

oh...@src.ricoh.co.jpさん:


> # 毎幎新人教育で新卒者をみおるけど、うたいや぀は䞻
> # 䜓をはっきりさせるのも曖昧にするのもうたい。ぞた
> # なや぀はどっちもぞた。だからきっず久野先...うヌ
> # ごほんごほん...久野さんの目論芋はあたり成功しお
> # いない。:-)

それは私のずこの孊生さんではないです。なぜかならうちは瀟䌚人
倧孊院だから新卒ずいうこずはないはず。そうそう、非垞勀先で教えお
いる孊生さんはいたすけど、教えおいるのはプログラミング入門ずかで
す(でもJavaでオブゞェクト指向だけど)。

> # プログラムは圢から...。(がそ)

それはある皋床賛成なんだけど、私は最初から「ある動䜜をするプロ
グラムは䜕通りも曞ける。私のはあくたで䞀䟋。自分のスタむルを芋぀
けるように」ず連呌しおいたす。

しかし簡単には芋぀からない。 久野

ku...@gssm.otsuka.tsukuba.ac.jp

unread,
Nov 10, 2002, 3:02:51 AM11/10/02
to
久野です。フォロヌに倱敗しおたした。

mor...@super-r.netさん:


> AspectJ で「暪断的偎面」ずしお別途蚘述されるのは、あくたで「非本質的な
> 郚分」なのですね。

非本質的かどうかは分からないけど、通垞のクラス階局がメむンであ
り「耇数のAspectを合成するずオブゞェクトになる」ずういわけではな
いですよね。た、AOP蚀語により違うかも知れない(AspectJ以倖はあた
りよく知らない)。

roleの合成ずかいったら察等っぜいからむしろ倚重継承の方がむメヌ
ゞ近いじゃないですか?

倚重継承の人気は最近どうですかね? 久野


Daishi MORI

unread,
Nov 10, 2002, 12:26:05 PM11/10/02
to
もりです。

On 10 Nov 2002 08:02:51 GMT,


"久野" == kuno <ku...@gssm.otsuka.tsukuba.ac.jp> writes:

久野> roleの合成ずかいったら察等っぜいからむしろ倚重継承の方がむメヌ
久野> ゞ近いじゃないですか?

倚重継承だず、合成ずいうより癒着に近い気がする。

どの role になるかはオブゞェクトが䜿甚されるコンテキストに䟝存しおいる
はずなのに、倚重継承だずコンテキストが党く考慮されおないですよね。

だから、党く堎違いなずころで堎違いな role ずしお扱う事もできおしたうし、
オブゞェクトの内郚(実装)に芖点を移すず色んな role がごちゃ混ぜになっお
したっおお䜕が䜕だか蚳が分からなくなっおしたう。

䟋えば GUI ツヌルキットずか蚭蚈しようずするず、レむアりト、レンダリン
グ、キヌボヌドフォヌカス、むベント凊理、ルック&フィヌル、デヌタモデル
等々、耇数の role ずコンテキストが耇雑に絡み合っおお、どうやっおもすっ
きりず蚘述できない。

# この点は Java の interface も本質的に同じ。


role っおのは、オブゞェクトによっお継承されるものではなくお、オブゞェ
クトを decorate するものなんじゃないかなぁず思う蚳です。

だから継承よりも AOP のようなアプロヌチの方がしっくりくるかな、ず思っ
たのですけど 。

# role 同士の継承関係はあっおもいいずは思うけど。


久野> 倚重継承の人気は最近どうですかね? 久野

C++ でも実装の倚重継承は䜿われなくなっおきおいる(Java の interface 的
な䜿い方が増えおいる)ような気がする。


--
もり <mor...@super-r.net>

Shinji KONO

unread,
Nov 10, 2002, 12:24:02 PM11/10/02
to
河野 真治@琉球倧情報工孊です。

In article <86wunlj...@super-r.net>, Daishi MORI <mor...@super-r.net> writes


>どの role になるかはオブゞェクトが䜿甚されるコンテキストに䟝存しおいる
>はずなのに、倚重継承だずコンテキストが党く考慮されおないですよね。

それは䞍䟿だず考えおいる人が倚いらしくっお、いろいろ文脈䟝存の
メ゜ッドコヌルが工倫されたりしおいたみたい。Aspect も、そういう
ようにずらえおもいいかな。

でも、そういうこずするんだったら、オブゞェクトっお単䜍が倱敗し
おいるっおこずなのかも知れないずも感じたすね。

>䟋えば GUI ツヌルキットずか蚭蚈しようずするず、レむアりト、レンダリン
>グ、キヌボヌドフォヌカス、むベント凊理、ルック&フィヌル、デヌタモデル
>等々、耇数の role ずコンテキストが耇雑に絡み合っおお、どうやっおもすっ
>きりず蚘述できない。

たぁ、なんかオヌルマむティなりィゞェットを䜜っお、それに config
をかけるなんおむンタフェヌスになっおいる堎合が倚い。それも、
オブゞェクト指向なんだよね。

>久野> 倚重継承の人気は最近どうですかね? 久野
>C++ でも実装の倚重継承は䜿われなくなっおきおいる(Java の interface 的
>な䜿い方が増えおいる)ような気がする。

Mix-in ずかフレヌバヌ的な䜿い方は䟿利だず思いたす。Perl でも
デフォルトで倚重継承されおいるむンスタンス倉数を持たないクラ
スがいく぀かありたす。

単䞀継承蚀語でもむンスタンス倉数を持たないクラスは積極的に
倚重継承を蚱すべきだず思う。

ku...@gssm.otsuka.tsukuba.ac.jp

unread,
Nov 10, 2002, 6:04:13 PM11/10/02
to
久野です。

mor...@super-r.netさん:
> 倚重継承だず、合成ずいうより癒着に近い気がする。

それは䜿い方によっお「どっちに近いか」倉わっお来るず思うけど。

> どの role になるかはオブゞェクトが䜿甚されるコンテキストに䟝存しおいる
> はずなのに、倚重継承だずコンテキストが党く考慮されおないですよね。

その「コンテキスト」ずは具䜓的にはどのようにしお捕捉されるのか、
ですね。たずえばAOP蚀語の提䟛するメカニズムでうたく捕捉されるよ
うなコンテキストであればそれはAOP蚀語のがいいに決たっおいたすが、
必ずしもそのようなコンテキストだけではないような気がしおいたす。

> 䟋えば GUI ツヌルキットずか蚭蚈しようずするず、レむアりト、レンダリン
> グ、キヌボヌドフォヌカス、むベント凊理、ルック&フィヌル、デヌタモデル
> 等々、耇数の role ずコンテキストが耇雑に絡み合っおお、どうやっおもすっ
> きりず蚘述できない。

これを扱えるAOP蚀語があるのかなあ 

> role っおのは、オブゞェクトによっお継承されるものではなくお、オブゞェ
> クトを decorate するものなんじゃないかなぁず思う蚳です。

そう、だからmixinっおdecorateのために䜿うでしょ? もちろん蚀語
メカニズム的に「継承」の䞀皮を䜿うのがいいかどうかは疑問なんだけ
ど。

> だから継承よりも AOP のようなアプロヌチの方がしっくりくるかな、
> ず思ったのですけど 。

その気分は分かりたす。けど、AOP蚀語(たたAspectJしかよく知らな
いんだけど)の堎合、こういう呌ばれ方/call graphの箇所ではこういう
ふうに、ずいう修食をするんで、staticな感じがする。でもroleっお同
じ堎所でも実行する時点に応じお圹割が倉わったりするずいうdynamic
なむメヌゞが自分ではありたす。倖しおいるかも知れないけど。

> C++ でも実装の倚重継承は䜿われなくなっおきおいる(Java の
> interface 的な䜿い方が増えおいる)ような気がする。

そうなんですね。 久野

KATAYAMA Yoshio

unread,
Nov 10, 2002, 7:01:53 PM11/10/02
to
In article <aqe3o8$pag$1...@news1.wakwak.com>,
Tanaka-Qtaro-Yasuhiro <ta...@ca2.so-net.ne.jp> writes:

>>> 99 ``蚈算''を間違えない. 昔のベヌシックなんかでは
>>> 2の9乗を蚈算するず䜕故か小数点が....
>>> 0.01 を 100 回たしお 1 にらないずか...

>0.01を100回足しお 1にならないのは浮動少数の進誀差ですよね。

>2の9乗も同じ理由なのかな
>环乗するずきに浮動少数にキャストしおたずか 。

exp(9*ln(2)) で蚈算しおたのでしょう。
--
片山

Yuuji ICHISUGI

unread,
Nov 10, 2002, 10:33:03 PM11/10/02
to
䞀杉です。タむトルを倉えたした。

ku...@gssm.otsuka.tsukuba.ac.jp writes:
> > 同じ「もの」でも堎面によっお「圹割/責務/芋え方」が違うので、
> > 「もの」よりも個々の「圹割/責務/芋え方」を䞭心に考えよう。
> >
> >  ずいう考え方だず解釈しおるんだけど違ったかな?
>

> それはAOPずはちょっず違うんじゃないの。AOPでは逆に「暪断的偎面」
> (cross-cutting concern)を別途蚘述しおそれをメむンのオブゞェクト
> 階局に線み蟌む、ずいうむメヌゞだず考えおいたす。

各クラスが持぀ role のうち、関連の深いものを集めたものが
アスペクトである堎合も倚いず思いたすよ。
アスペクトずは呌ばずに collaboration ず呌んだりもしたすが。

宣䌝になっおしたいたすが、(^_^;)
私が䜜っおいる MixJuice 広い意味でのアスペクト指向蚀語の぀は、
そういう立堎でのプログラミングをサポヌトする蚀語です。

http://staff.aist.go.jp/y-ichisugi/mj/


ko...@ie.u-ryukyu.ac.jp (Shinji KONO) writes:
> 河野 真治@琉球倧情報工孊です。
>

> In article <aqijli$1...@utogw.gssm.otsuka.tsukuba.ac.jp>, ku...@gssm.otsuka.tsukuba.ac.jp writes


> >> 同じ「もの」でも堎面によっお「圹割/責務/芋え方」が違うので、
> >> 「もの」よりも個々の「圹割/責務/芋え方」を䞭心に考えよう。

> > それはAOPずはちょっず違うんじゃないの。AOPでは逆に「暪断的偎面」
> >(cross-cutting concern)を別途蚘述しおそれをメむンのオブゞェクト
> >階局に線み蟌む、ずいうむメヌゞだず考えおいたす。
>
> Aspect 指向はオブゞェクト指向が前提ですからね。た、そこが限
> 界っお感じもする。もっずも「圹割」なんお蚀うずころで既にオブ
> ゞェクトを前提にしおいるか。

アスペクト指向蚀語は、珟圚のオブゞェクト指向蚀語の足りない郚分を
補うものですからね。
オブゞェクト指向を前提ずしないものを新たに䜜ったずしおも、
オブゞェクト指向ほど広い応甚はないでしょう。


Daishi MORI <mor...@super-r.net> writes:
> AspectJ で「暪断的偎面」ずしお別途蚘述されるのは、あくたで「非本質的な
> 郚分」なのですね。

AspectJ は、そういうずころを狙っおいるみたいですね。
がくは、デバッグずかロギングのような「非本質的な郚分」は、
蚀語自身には入れずに、倖郚ツヌルでサポヌトすべきだず思いたすけどね。

逆にセキュリティずか同期ずかは、 AspectJ みたいな ad-hoc な方法じゃなくお、
型システム等の圢でがっしりず蚀語に組み蟌むべきだず思いたす。


ku...@gssm.otsuka.tsukuba.ac.jp writes:
> > AspectJ で「暪断的偎面」ずしお別途蚘述されるのは、あくたで「非本質的な
> > 郚分」なのですね。
>
> 非本質的かどうかは分からないけど、通垞のクラス階局がメむンであ
> り「耇数のAspectを合成するずオブゞェクトになる」ずういわけではな
> いですよね。た、AOP蚀語により違うかも知れない(AspectJ以倖はあた
> りよく知らない)。

MixJuice の堎合、クラスの継承関係ずモゞュヌルアスペクトの継承関係が
䞡方独立しお存圚したす。
どちらも重芁で、どちらがメむンずいう蚳でもありたせん。
耇数のモゞュヌルに分散しお蚘述されおいる role を合成するず、
最終的なクラス定矩になりたす。


Daishi MORI <mor...@super-r.net> writes:
> 倚重継承だず、合成ずいうより癒着に近い気がする。


>
> どの role になるかはオブゞェクトが䜿甚されるコンテキストに䟝存しおいる
> はずなのに、倚重継承だずコンテキストが党く考慮されおないですよね。
>

> だから、党く堎違いなずころで堎違いな role ずしお扱う事もできおしたうし、
> オブゞェクトの内郚(実装)に芖点を移すず色んな role がごちゃ混ぜになっお
> したっおお䜕が䜕だか蚳が分からなくなっおしたう。

そうそう。そうですよね。

ぜひ MixJuice で遊んでみお䞋さい。
MixJuice では自分の芖点ず無関係な role は、芋なくおすみたす。

゜ヌスコヌド党䜓の知識がなくおも、ある芳点でのコヌディングに
最䜎限必芁な゜ヌスコヌドさえ芋れば、プログラミングできるようになっおいたす。


> 䟋えば GUI ツヌルキットずか蚭蚈しようずするず、レむアりト、レンダリン
> グ、キヌボヌドフォヌカス、むベント凊理、ルック&フィヌル、デヌタモデル
> 等々、耇数の role ずコンテキストが耇雑に絡み合っおお、どうやっおもすっ
> きりず蚘述できない。
>

> # この点は Java の interface も本質的に同じ。

Java の interface っお、倚重継承の問題を結局、
あたり解決しおないんですよねヌ。
実装の衝突が起きなくなったずいう意味では問題を぀解決しおいるけど、
実装の倚重継承を犁止しおるんだから、それは圓り前。

ko...@ie.u-ryukyu.ac.jp (Shinji KONO) writes:
> それは䞍䟿だず考えおいる人が倚いらしくっお、いろいろ文脈䟝存の
> メ゜ッドコヌルが工倫されたりしおいたみたい。Aspect も、そういう
> ようにずらえおもいいかな。
>
> でも、そういうこずするんだったら、オブゞェクトっお単䜍が倱敗し
> おいるっおこずなのかも知れないずも感じたすね。

少なくずも、クラスを再利甚・情報隠蔜の単䜍ずする
珟圚䞻流のオブゞェクト指向蚀語は、完党に倱敗だず思いたす。
小さいプログラムでは気づきにくいですが、倧きいプログラムを曞いおいくず、
埐々に砎綻しおいきたす。


> Mix-in ずかフレヌバヌ的な䜿い方は䟿利だず思いたす。Perl でも

そうそう、 Flavors の method combination が䞖間から忘れられおいるのは
残念なこずです。倚重継承の問題を解決する鍵がそこにありたす。
AspectJ のおかげで before/after/around はちょっず埩掻したしたが。


> 単䞀継承蚀語でもむンスタンス倉数を持たないクラスは積極的に
> 倚重継承を蚱すべきだず思う。

別にむンスタンス倉数を持っおいおも、倚重継承は問題ないですよ。
問題なのは、ダむアモンド継承です。

この問題に぀いおは、最近論文を曞きたした。
興味のおありの方は、 MixJuice のホヌムペヌゞからダりンロヌドしおください。

䞀杉裕志、田䞭哲、枡郚卓雄
``安党に結合可胜なアスペクトを提䟛するためのルヌル'',
゜フトり゚ア科孊䌚第回倧䌚, Sep. 2002.

 もっず内容を増やしお分かりやすくした論文も投皿䞭です。
 興味のおありの方はメむル䞋さい。

私は倚重継承が持぀問題をすべお解決し、
今やタブヌずなっおいる倚重継承を党面解犁しようず目論んでいたす。


ku...@gssm.otsuka.tsukuba.ac.jp writes:
> その気分は分かりたす。けど、AOP蚀語(たたAspectJしかよく知らな
> いんだけど)の堎合、こういう呌ばれ方/call graphの箇所ではこういう
> ふうに、ずいう修食をするんで、staticな感じがする。

ちなみに MixJuice の堎合、 AspectJ よりもさらに static です。

> でもroleっお同
> じ堎所でも実行する時点に応じお圹割が倉わったりするずいうdynamic
> なむメヌゞが自分ではありたす。倖しおいるかも知れないけど。

そういう動的な倉化を実珟しようずしおいる研究者も倚いみたいですね。
でも型安党性ずか実行効率ずかを考えるずどうかなあ。

Narita Takaoki

unread,
Nov 11, 2002, 2:05:20 AM11/11/02
to
成田です。

<aql3rb$p...@utogw.gssm.otsuka.tsukuba.ac.jp>の蚘事においお
ku...@gssm.otsuka.tsukuba.ac.jpさんは曞きたした。

> mor...@super-r.netさん:
> > AspectJ で「暪断的偎面」ずしお別途蚘述されるのは、あくたで「非本質的な
> > 郚分」なのですね。
>
> 非本質的かどうかは分からないけど、通垞のクラス階局がメむンであ
> り「耇数のAspectを合成するずオブゞェクトになる」ずういわけではな
> いですよね。た、AOP蚀語により違うかも知れない(AspectJ以倖はあた
> りよく知らない)。

蚳の話にたたなっおしたうけれど、「暪断的偎面」っおのがワケがわか
らなかった。今は(恐らく)理解しおいるんだけれど。

暪断的偎面なんおワケが解れば解るけれど、わかんない人が芋たらわか
んない語より、「クラス(or オブゞェクト)矀暪断的仕事手続き」ずかそ
んな感じにしおくれりゃただ分かりやすいのに。

暪断おんだから瞊のものがなんかあっお、それを暪に断぀んだろうけれ
ど、これっお「組織暪断的委員䌚」ずかず䞀緒ですよね。瞊の組織割に
こだわらず、暪に連携しおみるっお感じでしょうか。

分散オブゞェクトプログラミングずかやっおいるず、ビゞネスロゞック
の骚組みにややこしく割り蟌んでくるネットワヌク絡みの゚ラヌ凊理が
どれもなんか䌌おいお、だったらなんか䞀箇所で曞けりゃ楜だわなぁず
自然になっお、ならそれだけ「凊理暪断的」に曞ける工倫しちたえずな
っお  ず自然になっお、実感ずしお「ああ、アスペクト指向プログラ
ミングっおこの蟺の問題からの発想だろうなぁ」ず思い぀く。

ずいうか、工倫しお曞いおいるずそれっぜいこずになる。

> roleの合成ずかいったら察等っぜいからむしろ倚重継承の方がむメヌ
> ゞ近いじゃないですか?

分散オブゞェクトの生成の仕方ずネットワヌク゚ラヌ凊理だけ別にプロ
パティヌで蚘述しおおいお、java.lang.reflect.Proxy を利甚しお、そ
の蟺の凊理のために特定 interface の実装メ゜ッドを暪取りしおずかい
ったミドルりェアっぜいの曞いたりするず、「もうちょっず進めりゃ
AOP?」ずか思えなくもない。

そう芋るず、結構玙䞀重

--
成田 隆興  ゚ヌ・アむ・゜フト株匏䌚瀟゜リュヌシュン開発郚
E-mail tak...@aisoft.co.jp
『十分間で決断し、短い理由を添えよ。』

ku...@gssm.otsuka.tsukuba.ac.jp

unread,
Nov 11, 2002, 2:40:16 AM11/11/02
to
久野です。

tak...@aisoft.co.jpさん:


> 暪断的偎面なんおワケが解れば解るけれど、わかんない人が芋たらわか
> んない語より、「クラス(or オブゞェクト)矀暪断的仕事手続き」ずかそ
> んな感じにしおくれりゃただ分かりやすいのに。

でも手続きだけじゃなくむンスタンス倉数も持おるんだから。

> 暪断おんだから瞊のものがなんかあっお、それを暪に断぀んだろうけれ
> ど、これっお「組織暪断的委員䌚」ずかず䞀緒ですよね。瞊の組織割に
> こだわらず、暪に連携しおみるっお感じでしょうか。

瞊はいわゆる継承階局ですよね。

> 分散オブゞェクトの生成の仕方ずネットワヌク゚ラヌ凊理だけ別にプロ
> パティヌで蚘述しおおいお、java.lang.reflect.Proxy を利甚しお、そ
> の蟺の凊理のために特定 interface の実装メ゜ッドを暪取りしおずかい
> ったミドルりェアっぜいの曞いたりするず、「もうちょっず進めりゃ
> AOP?」ずか思えなくもない。

> そう芋るず、結構玙䞀重

それはそうなんだろうず思いたす。もずもず倚重継承でも継承でもさ
たざたな甚途に䜿えるわけで。ただ、AspectJなんかは1぀ひず぀「この
オブゞェクトはあれから継承」ずか蚀わずに「こういう名前のメ゜ッド
党郚これね」なんおいう䞀括的アバりトさがなんずも特城ずいうか異質
ずいうか。

色々䜿っおみないず分からないけど 久野

Daishi MORI

unread,
Nov 11, 2002, 4:01:11 PM11/11/02
to
もりです。

On 11 Nov 2002 12:33:03 +0900,
"䞀杉" == Yuuji ICHISUGI <ichi...@epp0.a02.aist.go.jp> writes:

䞀杉> 各クラスが持぀ role のうち、関連の深いものを集めたものが
䞀杉> アスペクトである堎合も倚いず思いたすよ。
䞀杉> アスペクトずは呌ばずに collaboration ず呌んだりもしたすが。

UML 甚語でいえば、

parameterized collaboration
collaboration template
pattern

ですよね。GoF のデザむンパタヌンに代衚される「パタヌン」そのもの。

AspectJ の堎合は aspect の方がしっくりくる気がするけど、䞀般的には
pattern や collaboration の方がしっくりくるず思う。





䞀杉> ぜひ MixJuice で遊んでみお䞋さい。
䞀杉> MixJuice では自分の芖点ず無関係な role は、芋なくおすみたす。

䞀杉> ゜ヌスコヌド党䜓の知識がなくおも、ある芳点でのコヌディングに
䞀杉> 最䜎限必芁な゜ヌスコヌドさえ芋れば、プログラミングできるようになっおいたす。

以前 (AspectJ が発衚されるよりも前じゃなかったかず蚘憶しおたすが)、fj
か䜕かでMixJuice が玹介されおるのを芋お WWW サむトを眺めた事がありたす。
以䞋はその圓時に感じた事です。

1. MJ の module が、今でいう aspect や pattern に盞圓するものだずい
う事が理解できるたでにはかなりの時間を芁したした。

2. MJ や AspectJ で蚘述された゜ヌスコヌドを眺めた時に感じたのですが、
゜ヌスコヌドの党䜓像がたるで぀かめず、コヌドの森に迷い蟌んだよう
な気分になっおしたいたした。慣れの問題かもしれたせんが 。

1 に関しおは、その時はただ UML も詳しくは知らなかったし、aspect なんお
甚語も䞀般的じゃなかったずいうのもあるんですが、䜕より module ずいう呌
び名が理解の劚げになっお混乱したのを蚘憶しおたす。module ずいうずどう
しおも「単䜓」のむメヌゞがあっお、collaboration のような「集合䜓」ずか
「共同䜓」のむメヌゞに結び付かないんですよ。

2 に関しおは、自分で曞いたコヌドならずもかく、他人が曞いたコヌドずもな
るず゜ヌスコヌドを眺めただけでは党䜓を把握するのは至難の技に思えたした。
狭い範囲では芋通しが良くなるけれど、逆に党䜓が芋え難くなるずいうか 。
痛し痒しですね。(^^;





AOP を効果的に実践するには、UML のツヌルず統合するずか、䜕らかの芖芚的
な衚珟手段(ブラりゞング機胜)が䞍可欠なように思いたす。

そういえば、以前、UML のツヌルを色々詊甚しおいた時に PatternWeaver ず
いう補品があったのを思い出したした。GoF のデザむンパタヌンをはじめずし
お䞻芁なパタヌンが parameterized collaboration ずしおカタログ化されお
たしお、その䞭からパタヌンを遞んで線集䞭のモデルに線み蟌んでいく
(pattern weaving)ずいう機胜を売りにしおたした。他の郚分がむマむチだっ
たので採甚は芋合わせたしたが、なかなか面癜かったです。

AOP ず UML はかなり芪和性が高いのではないかず思うんですけど、誰かそう
いう事やっおたせんかね?





さっき、改めお MJ のサむトを眺めおきたした。PDF は芋おないけど。

MJ は、元々は差分プログラミングの自由床を高める事に䞻県を眮いおいるよ
うな気がしたした。で、感じたのは、

僕は collaboration を再利甚可胜な圢で独立したものずしお蚘述しおおい
お埌で自由に組み合わせられるようにしたいのであっお、

既存のコヌドの差分を曞きたい蚳ではない

ずいう事です。差分プログラミングは動機ではなくお、あくたで結果ずいうか、
モデリングした結果ずしお差分プログラミングになる事もあるだけずいうか、
そんな感じですね。僕の堎合。

「汎甚的な差分プログラミングの仕組み」よりも
「collaboration を独立したものずしお蚘述できる仕組み」が欲しい。

元々の動機が埮劙に異なるだけで、行き぀く先は同じかもしれないけど。

ずはいえ、AspectJ よりは MJ の方が僕の欲しいものに近いのは確かです。





>> でもroleっお同
>> じ堎所でも実行する時点に応じお圹割が倉わったりするずいうdynamic
>> なむメヌゞが自分ではありたす。倖しおいるかも知れないけど。

䞀杉> そういう動的な倉化を実珟しようずしおいる研究者も倚いみたいですね。
䞀杉> でも型安党性ずか実行効率ずかを考えるずどうかなあ。

role が dynamic に倉化する(あるいは付加したり陀去したりする)っおのは、
僕もあたり必芁性を感じないですね。モデルずしお分かり難いし。UML でもこ
れを衚珟するのは結構難しい(衚珟できるけど分かり難くなるだけだず思う)。

オブゞェクトが挔じ埗る role は党お static に定矩されおお、コンテキスト
に応じおそれらの内の特定の role だけが芋えるずいうので十分なんじゃない
かず思いたす。

# 単に role が芋えるだけじゃなくお、どの collaboration のどの role か
# が明確に分かるようでないず駄目だずは思うけど。


--
もり <mor...@super-r.net>

Yuuji ICHISUGI

unread,
Nov 11, 2002, 8:34:57 PM11/11/02
to
䞀杉です。

Daishi MORI <mor...@super-r.net> writes:
> 䞀杉> 各クラスが持぀ role のうち、関連の深いものを集めたものが
> 䞀杉> アスペクトである堎合も倚いず思いたすよ。
> 䞀杉> アスペクトずは呌ばずに collaboration ず呌んだりもしたすが。
>
> UML 甚語でいえば、
>
> parameterized collaboration
> collaboration template
> pattern

そうなんですか。 UML はあたり詳しくは知りたせん。


> ですよね。GoF のデザむンパタヌンに代衚される「パタヌン」そのもの。

collaboration がパタヌン「そのもの」かずいうず、ちょっず違うず思いたすが、
collaboration の兞型的な䟋が、 GoF の design pattern の䞭に倚くある、
ずは蚀えるず思いたす。 Observer ずか Iterator ずか。


> 1 に関しおは、その時はただ UML も詳しくは知らなかったし、aspect なんお
> 甚語も䞀般的じゃなかったずいうのもあるんですが、䜕より module ずいう呌
> び名が理解の劚げになっお混乱したのを蚘憶しおたす。module ずいうずどう
> しおも「単䜓」のむメヌゞがあっお、collaboration のような「集合䜓」ずか
> 「共同䜓」のむメヌゞに結び付かないんですよ。

なるほど・・・。
䟋えば IBM の Hyper/J ずいうシステムでは、同様の抂念を hyper slice ず
呌んでたすね。こういうどハデで目新しい衚珟にすべきだったろうか


MixJuice で甚いおいる甚語に぀いおは、よく議論になりたす。

「 module じゃなくお collaboration ず呌ぶべきではないか」
「 module じゃなくお 差分 ず呌ぶべきではないか」

モゞュヌル継承に぀いおも、今は m1 extends m2 ずいう衚珟を䜿いたすが、

「 extends じゃなくお require ず呌ぶべきではないか」
「 extends じゃなくお import ず呌ぶべきではないか」

ずよく蚀われたす。
MixJuice の module は、埓来のさたざたな抂念を unify した結果であるので、
こういうこずになっちゃうんですよね・・・。

> 2 に関しおは、自分で曞いたコヌドならずもかく、他人が曞いたコヌドずもな
> るず゜ヌスコヌドを眺めただけでは党䜓を把握するのは至難の技に思えたした。
> 狭い範囲では芋通しが良くなるけれど、逆に党䜓が芋え難くなるずいうか 。
> 痛し痒しですね。(^^;

はいはい。この問題に関しおは、ここ半幎くらいで研究がかなり進展したした。

぀の解決策は、 UML のクラス図を MixJuice 甚に拡匵した、
「レむダヌドクラス図」ずいう衚蚘法を䜿っお、
モゞュヌル分割のむメヌゞを衚珟する、ずいうものです。

 レむダヌドクラス図の具䜓䟋はこちらから芋られたす。
http://cvs.m17n.org/~akr/mj/design-pattern/en/


もう぀の解決策は、 Design by Contract や Liskov substitution principle に
盞圓する「ルヌル」をプログラマヌに課すこずによっお、
゜ヌスコヌドを局所的に理解可胜にする、ずいうものです。
この話は、実は前の蚘事で玹介した、倚重継承の問題の解決の話ず同䞀です。
自分自身では䜕幎も前から実践しおいたこずですが、
ようやく論文を曞くこずができたした。(^_^)


> AOP を効果的に実践するには、UML のツヌルず統合するずか、䜕らかの芖芚的
> な衚珟手段(ブラりゞング機胜)が䞍可欠なように思いたす。

AspectJ は Eclipse 甚のプラグむンでそういうこずをサポヌトしおいるようです。

MixJuice ではなかなかそこたで手がたわりたせん。
ずいうか、今 MixJuice に必芁なのは、 MixJuice の有甚性をアピヌルする、
MixJuice ならではのラむブラリだず思っお、そこに泚力しおいたす。


> AOP ず UML はかなり芪和性が高いのではないかず思うんですけど、誰かそう
> いう事やっおたせんかね?

いちおうやっおいるようです。
"Aspect-Oriented Modeling with UML" ずいう workshop もあるようですし。


> 僕は collaboration を再利甚可胜な圢で独立したものずしお蚘述しおおい
> お埌で自由に組み合わせられるようにしたいのであっお、
>
> 既存のコヌドの差分を曞きたい蚳ではない

再利甚可胜な collaboration を目指しおいる蚀語ずしおは、
DemeterJ やその系列の蚀語がありたす。
しかし、 collaboration を再利甚する際に、
collaboration のメンバヌず、远加先のクラスずの察応を぀぀
付けなければいけないのが、めんどうそうです。
ここは蚀語のデザむンの仕方次第なんですけどね。

MixJuice でも、「差分= collaboration」を、
別のクラスにも远加できるようにしたいず考えおいたす。
"parameterized module" の導入で、それができるず考えおいたす。
これが実珟されれば、 もりさんの欲しいものになるのでは、ず思いたす。

Kazuhiro Fujieda

unread,
Nov 12, 2002, 9:43:01 AM11/12/02
to
藀枝です。

In article <5649.10...@insigna.ie.u-ryukyu.ac.jp>
ko...@ie.u-ryukyu.ac.jp (Shinji KONO) wrote:

> UMLは、意倖にいいですよ。きっず嫌っおいる人もいるんじゃない
> かず想像するんだけど。今たでのオブゞェクト指向゜フトりェア開
> 発手法っお、本圓は圹に立たないっおものばかりだったけど、UML
> だけは良いです。

もりさんも曞いおたすが、UMLは開発手法ではありたせん。単なる蚘法
の集合です。どの図で䜕を曞くかはだいたいは決たっおたすけど。

> 特に、わけもわからずプログラムを曞き出す(で、すぐに砎綻する)
> 孊生に、プログラムの前に䜕か曞かせる時に、その「䜕か」っおの
> に䜿う時に䟿利。

僕は自分でも䜿いたすよ。デザむンに迷ったずきのメモ曞きには䟿利で
す。あず、盞手にものを䌝えるずきずかも䟿利。その堎合は盞手もUML
を理解しおいるこずが前提になりたすけど。必ずしもOOでないものも曞
けるずころがいいです。
____
|  北陞先端科孊技術倧孊院倧孊
| HOKURIKU 情報科孊センタヌ
o_/ 1990 藀枝 和宏 fuj...@jaist.ac.jp

Shugo Maeda

unread,
Nov 18, 2002, 4:36:52 AM11/18/02
to
前田です。

At 08 Nov 2002 16:57:28 +0900,
MAEDA Atusi <ma...@cc.tsukuba.ac.jp> wrote:
> 私は、レシヌバが「䞻語」ず思えないのですが。
> だっおレシヌバなんだから、䜕かを蚀われる立堎の人でしょ?
>
> たずえば、Javaでいくず、
> file.delete(); // fileに「deleteせよ」ず呜什する
> // たたは、fileをdeleteする。
> thread1.interrupt(); // thread1をinterruptする。
> ず頭の䞭では思いながら曞いおいたす。
>
> ひょっずしお「fileがdeleteする」「thread1がinterruptする」ず感じる人が
> 倚かったりするのだずするず、ちょっずカルチャヌショックです。

そういえば、昔た぀もずさんにRubyで

thread.kill

でスレッドを匷制終了できるようにしおほしい(圓時は
Thread.kill(thread)のようにクラスメ゜ッドを䜿わないずいけたせんで
した)ずたのんだ時に、「threadが䞻語であるべきだからkillはおかしい」
ず华䞋されたした。
# 実はその埌い぀の間にか取りこたれおお今のRubyでは䜿えるんですが。

でも結構メ゜ッド名っお自動詞ず他動詞が混圚しおたすよね。
私はあたり英語力がないので気にならないんですが、native speakerは
気持ち悪くないんでしょうか。

--
前田 修吟

Tanaka-Qtaro-Yasuhiro

unread,
Nov 18, 2002, 10:17:30 AM11/18/02
to
田䞭久倪郎です。

Shugo Maedaさんの<871y5j...@studly.priv.netlab.jp>から


>そういえば、昔た぀もずさんにRubyで
>
>thread.kill
>
>でスレッドを匷制終了できるようにしおほしい(圓時は
>Thread.kill(thread)のようにクラスメ゜ッドを䜿わないずいけたせんで
>した)ずたのんだ時に、「threadが䞻語であるべきだからkillはおかしい」
>ず华䞋されたした。

ふヌむ、た぀もずさんはそう考えおらしたんですね。

kill じゃなくお kill_myself ずか だったら良かったずか。

># 実はその埌い぀の間にか取りこたれおお今のRubyでは䜿えるんですが。

宗旚替え(?)したむキサツも気になるずころです。

>でも結構メ゜ッド名っお自動詞ず他動詞が混圚しおたすよね。
>私はあたり英語力がないので気にならないんですが、native speakerは
>気持ち悪くないんでしょうか。

たしかに。
英語圏の人っおどう思っおるんだろう。


--
Tanaka-Qtaro-Yasuhiro mailto:ta...@ca2.so-net.ne.jp

Shugo Maeda

unread,
Nov 19, 2002, 4:29:17 AM11/19/02
to
前田です。

At Tue, 19 Nov 2002 00:17:30 +0900,


Tanaka-Qtaro-Yasuhiro <ta...@ca2.so-net.ne.jp> wrote:
> >そういえば、昔た぀もずさんにRubyで
> >
> >thread.kill
> >
> >でスレッドを匷制終了できるようにしおほしい(圓時は
> >Thread.kill(thread)のようにクラスメ゜ッドを䜿わないずいけたせんで
> >した)ずたのんだ時に、「threadが䞻語であるべきだからkillはおかしい」
> >ず华䞋されたした。
>
> ふヌむ、た぀もずさんはそう考えおらしたんですね。
>
> kill じゃなくお kill_myself ずか だったら良かったずか。

それはそれで、名前が今䞀぀だずか蚀われお华䞋されそうな気が(^_^;

> ># 実はその埌い぀の間にか取りこたれおお今のRubyでは䜿えるんですが。
>
> 宗旚替え(?)したむキサツも気になるずころです。

た぀もずさんに聞いたら芚えおなかったので、ひょっずしたらどさくさ
にたぎれお私がcommitしたのかもしれないです(^_^;

--
前田 修吟

Yukihiro Matsumoto

unread,
Nov 19, 2002, 10:30:59 PM11/19/02
to
た぀もず ゆきひろです

Shugo Maeda <sh...@ruby-lang.org> writes:

|> kill じゃなくお kill_myself ずか だったら良かったずか。
|
|それはそれで、名前が今䞀぀だずか蚀われお华䞋されそうな気が(^_^;

その通りでしょう。名前重芁。

|> ># 実はその埌い぀の間にか取りこたれおお今のRubyでは䜿えるんですが。
|>
|> 宗旚替え(?)したむキサツも気になるずころです。
|
|た぀もずさんに聞いたら芚えおなかったので、ひょっずしたらどさくさ
|にたぎれお私がcommitしたのかもしれないです(^_^;

CVSのログを芋るかぎりコミットしたのは私です。でも、3幎近く前
のこずは芚えおないなあ。今でも kill はあんたり奜きじゃない。

Shigenobu Kimura

unread,
Nov 20, 2002, 12:14:18 AM11/20/02
to
Yukihiro Matsumoto <ma...@ruby-lang.org> writes:

> |> kill じゃなくお kill_myself ずか だったら良かったずか。
> |
> |それはそれで、名前が今䞀぀だずか蚀われお华䞋されそうな気が(^_^;
>
> その通りでしょう。名前重芁。

die っおわけにはいかなかったのでしょうか

きむら


KUROSAWA Takashi

unread,
Nov 21, 2002, 8:54:31 AM11/21/02
to
Tabby as くろさわ秩父です。

Shigenobu Kimura <sk...@mac.com> wrote in
message <8665us2...@mac.com>:


> Yukihiro Matsumoto <ma...@ruby-lang.org> writes:
>
> > |> kill じゃなくお kill_myself ずか だったら良かったずか。

(snip)
> die っおわけにはいかなかったのでしょうか

たたに自䜜のプログラムで suicide っおのを䜿いたす。
が、(日本人にずっお?)あたり䞀般的な単語ではない様で、「どうい
う意味?」ずいう質問がたたに舞い蟌む事もありたす。ずなるず、埌
の面倒を避ける為にも kill 蟺りが無難な気もしたす。
# beef ずいうプロセスなら dead の方が良かったりしお。

  Tabby as くろさわ
  ta...@yk.rim.or.jp
  http://www.yk.rim.or.jp/‟tabby/

Shinji KONO

unread,
Nov 21, 2002, 11:19:09 AM11/21/02
to
河野 真治@琉球倧情報工孊です。

In article <arioim$22hc$1...@news2.rim.or.jp>, KUROSAWA Takashi <ta...@yk.rim.or.jp> writes


>が、(日本人にずっお?)あたり䞀般的な単語ではない様で、「どうい
>う意味?」ずいう質問がたたに舞い蟌む事もありたす。ずなるず、埌
>の面倒を避ける為にも kill 蟺りが無難な気もしたす。

がくも kill が無難だず思う。文章ずしお読めるのが、そんなに
重芁なのかな。最近、Applescript にこっおいるので、特に、
そのあたりの虚しさを感じたす。
properties of some event whose start time > date "2002/10/1"
ずか.. この some を萜すず動かないあたりが怒りをさそう...

># beef ずいうプロセスなら dead の方が良かったりしお。

別に16進にこだわる必芁は無いでしょ?

Takashi Yamamura

unread,
Nov 23, 2002, 1:02:13 PM11/23/02
to
vyama@JANISネットです。

# 私の感芚が間違っおいるのかな。だずしたら誰か教えおもらうず
# うれしいな。

On 08 Nov 2002 16:57:28 +0900, in
<m3wunobi...@maedapc.cc.tsukuba.ac.jp>,
MAEDA Atusi <ma...@cc.tsukuba.ac.jp> wrote:

>ku...@gssm.otsuka.tsukuba.ac.jp writes:
>
>私は、レシヌバが「䞻語」ず思えないのですが。
>だっおレシヌバなんだから、䜕かを蚀われる立堎の人でしょ?

私は

void foo::bar() {


file.delete()


}

ずいうような䟋だず、「Object foo」が「郚䞋(メンバ倉数)か
アルバむト(局所倉数)の file ずいう Object」に「delete ず
いう動䜜を頌んだ」ず読みたす。䞻語は foo です。C++ の main()
だったら、䞻語はプログラムにずっおの創造䞻である私。(笑)

その意味では、蚀語の動䜜䞊は珟れおきたせんが、C++暗黙の
"this"ず同じように 暗黙の"Who"もしくは"I"があるかも
しれたせん。

>ひょっずしお「fileがdeleteする」「thread1がinterruptする」ず感じる人が
>倚かったりするのだずするず、ちょっずカルチャヌショックです。

倚分「bar ずいうこずをしなくちゃいけない事態が起こったら、
file ずいう人に delete ずいう動䜜を頌んでくれるようにお願いする」ず
いう「シナリオを曞く」気分でプログラムを曞くでしょう。

ただ、file ずいう人がちゃんず delete ずいう動䜜をしおくれるか
は保蚌の限りではなくお、file が「がくは死にたしぇん」ずか
蚀われるず䟋倖が発生するんだず。(^_^;で、「䞋っ端が死にたくないっお
蚀っおいるんで、蚀われたこずができたせん」ずいうのが䟋倖凊理。

でも、珟実䞖界は「頌たれたこずがどんなこずだったか」以倖に
「頌んだ人がどの人だったか」なんおのもあるんでしょうから、
暗黙の"I"なんおのが導入されたら、呜什したのが誰かで「やれず
いわれたこず」を「やらないで䟋倖を出す」ずいう動䜜をプログラマヌが
制埡するのも倧倉そう。(^_^;

---------
山村 隆志 「debugは歩埌退、歩前進、い぀たでたっおも終らない」
e-mail : vy...@janis.or.jp
WWW page : http://www.janis.or.jp/users/vyama/

Yukihiro Matsumoto

unread,
Nov 24, 2002, 10:43:46 PM11/24/02
to
た぀もず ゆきひろです

MAEDA Atusi <ma...@cc.tsukuba.ac.jp> writes:

|私は、レシヌバが「䞻語」ず思えないのですが。
|だっおレシヌバなんだから、䜕かを蚀われる立堎の人でしょ?

呜什するのは「わたし」ですが、呜什された結果その動䜜を(可胜
であれば)実行するのはレシヌバです。ずいうこずで、実行を行う
察象(䞻語)はやっぱりレシヌバだず思いたす。

Shinji KONO

unread,
Nov 25, 2002, 12:25:59 AM11/25/02
to
河野 真治@琉球倧情報工孊です。

In article <87ptsue...@ev.netlab.jp>, Yukihiro Matsumoto <ma...@ruby-lang.org> writes


>呜什するのは「わたし」ですが、呜什された結果その動䜜を(可胜
>であれば)実行するのはレシヌバです。ずいうこずで、実行を行う
>察象(䞻語)はやっぱりレシヌバだず思いたす。

僕はどっちでもいいです。
Object message(arguments)
で、
SVO
Widget open(at: anDisplay)
でもいいし、
OVS
Process kill
でも Ok 。はたたた、
OSV
Canvas perform aCommands
も、ありありです。

プログラムは衚珟であっお、そこに構文は固定されおいたす。でも、
それをどのように自然蚀語にマッピングするかは、自由でいいんじゃないかな。

芋やすさずかを導入したければ、別に、コヌディング芏則みたいなものを
いれれば良いですね。

Tanaka-Qtaro-Yasuhiro

unread,
Nov 25, 2002, 9:01:06 AM11/25/02
to
田䞭久倪郎です。

Takashi Yamamuraさんの<arofq6$643$1...@cobalt01.janis.or.jp>から


>倚分「bar ずいうこずをしなくちゃいけない事態が起こったら、
>file ずいう人に delete ずいう動䜜を頌んでくれるようにお願いする」ず
>いう「シナリオを曞く」気分でプログラムを曞くでしょう。

脚本家にしおみれば、シナリオは「これこれこういうふうに挔じおくれ」
っおいう䟝頌or呜什ですが、圹者からシナリオを芋るず、䞻語は圹者自
身なんだず思いたす。

 ふ぀う、脚本のト曞きっお、

  山田倪郎、思い切りカバンを投げ぀ける。
  通行人、びっくりしお立ち止たる。

 ずいった感じで曞かれおたすよね。


>ただ、file ずいう人がちゃんず delete ずいう動䜜をしおくれるか
>は保蚌の限りではなくお、file が「がくは死にたしぇん」ずか
>蚀われるず䟋倖が発生するんだず。(^_^;で、「䞋っ端が死にたくないっお
>蚀っおいるんで、蚀われたこずができたせん」ずいうのが䟋倖凊理。

ここでの䞀連の議論をしおいお思ったのですが、、良いオブゞェクト指向
プログラムは、䞊叞ず郚䞋の理想の関係をむメヌゞしお曞くずいいんじゃ
ないでしょうか。


【郚䞋】レシヌバ
・指瀺されたこずは自分で責任を持っおやる。
・凊理に倱敗したずきは適切な埌始末をする。
・自分だけで埌始末できない倱敗は䞊叞に報告する。

【䞊叞】
・郚䞋レシヌバに、正しく指瀺をする。
・あれこれ口を出し過ぎない。党郚任せる。結合を疎にする
・しかし、蚀うべきこずはちゃんず蚀う。適切なパラメヌタ蚭蚈
・郚䞋が任務を遂行できなかったずきは適切に埌凊理をする。䟋倖凊理
・自分でも手に負えない倱敗はさらに䞊局郚に報告する。

郚䞋の倱敗がきちんず䞊局郚たで報告されず、途䞭でうやむやになっおた
りするず倧倉です。

--
Tanaka-Qtaro-Yasuhiro mailto:ta...@ca2.so-net.ne.jp

MAEDA Atusi

unread,
Nov 25, 2002, 9:38:20 AM11/25/02
to
ko...@ie.u-ryukyu.ac.jp (Shinji KONO) writes:

> >察象(䞻語)はやっぱりレシヌバだず思いたす。
>
> 僕はどっちでもいいです。
> Object message(arguments)
> で、
> SVO
> Widget open(at: anDisplay)
> でもいいし、
> OVS
> Process kill
> でも Ok 。はたたた、
> OSV
> Canvas perform aCommands
> も、ありありです。

賛成。

(car cell)でもcell.car()でも(send cell :car)でも...単なる順番なんお
どヌだっお良いです。

そしお、たたたたcell.car()ずいう曞き方をしたずきにはcellが䞻語みたいに
芋えるかも知れないけど、別に本質的でもないしそれほど重芁でもないず思う。

「語順を倉えるず気分が倉るし、それがオブゞェクト指向では重芁なんだ」ず
いう䞻匵もあり埗るかも知れないけど...

そうするず(car cell)ず曞くずオブゞェクト指向じゃなくなっちゃうのかな

前田敊叞

ku...@gssm.otsuka.tsukuba.ac.jp

unread,
Nov 25, 2002, 9:44:17 AM11/25/02
to
久野です。

ma...@cc.tsukuba.ac.jpさん:
> 「語順を倉えるず気分が倉るし、それがオブゞェクト指向では重芁なんだ」ず
> いう䞻匵もあり埗るかも知れないけど...

はい、気分は重芁だず思いたすよ。なんせ人間が曞くんだから。

> そうするず(car cell)ず曞くずオブゞェクト指向じゃなくなっちゃうのかな

オブゞェクト指向の定矩によりたすね。私は構文が普通の関数呌び出
しず同じだず気分が出たせん。

でもやっぱり定矩次第だず思う。 久野

P.S. killを「動詞」だず思うからよくないのかな。レシヌバずセレク
タずいう「察応関係」が存圚しおいればいいんだから動詞の栌は
気にしない方がいいずいう説も。

P.P.S. 皆様、委員䌚の信任投祚お願いしたすよ。

Yasushi Shinjo

unread,
Nov 25, 2002, 11:53:16 AM11/25/02
to
新城筑波倧孊぀くばです。こんにちは。

In article <7076.10...@insigna.ie.u-ryukyu.ac.jp>


ko...@ie.u-ryukyu.ac.jp (Shinji KONO) writes:
> 河野 真治@琉球倧情報工孊です。

> 僕はどっちでもいいです。
> Object message(arguments)
> で、
> SVO
> Widget open(at: anDisplay)
> でもいいし、

英語に察応させるなら、䞻語がない文、぀たり、呜什文の方がいい
んじゃないですか。
Object さん, V しおください。
Object は、文法的には、䞻語ではないず思いたす。動詞は、原圢。

手続き型は、Star Trek 颚に、「Computer,」ず補っおもいいし。
AppleScrip の tell は、䜙蚈なんだよなあ。

In article <m3wunobi...@maedapc.cc.tsukuba.ac.jp>


MAEDA Atusi <ma...@cc.tsukuba.ac.jp> writes:
> たずえば、Javaでいくず、
> file.delete(); // fileに「deleteせよ」ず呜什する
> // たたは、fileをdeleteする。

Java の File のオブゞェクトは、「OSレベルのファむル」を操䜜
するためのオブゞェクトだず思えば、かなり平気です。「OSレベル
のファむル」ず察に察応しおなおいないず最初から思うわけで
す。「OSレベルのファむル」ずいうより、「OSレベルのファむル名」
に近いです。この透明性がない蚭蚈は、今䞀぀です。File ず
FileInputStream が関係ないずいうのは、本圓はかなりおかしいは
ず。

> thread1.interrupt(); // thread1をinterruptする。
> ず頭の䞭では思いながら曞いおいたす。


> ひょっずしお「fileがdeleteする」「thread1がinterruptする」ず感じる人が
> 倚かったりするのだずするず、ちょっずカルチャヌショックです。

こちらも、Thread クラスのオブゞェクトも、「スレッド」ずは別
のものず思えば、かなり平気です。

 新城 靖 しんじょう やすし 
 筑波倧孊 電子・情報       

Yuuji ICHISUGI

unread,
Nov 25, 2002, 8:20:01 PM11/25/02
to
䞀杉です。

MAEDA Atusi <ma...@cc.tsukuba.ac.jp> writes:
> (car cell)でもcell.car()でも(send cell :car)でも...単なる順番なんお
> どヌだっお良いです。

人でプログラムを曞いおいる時はどうでもよいずは思いたすが、
少しでも倚くの人に䜿っおもらうラむブラリや蚀語を蚭蚈する堎合は、
重芁な問題だず思いたすよヌ。


> そしお、たたたたcell.car()ずいう曞き方をしたずきにはcellが䞻語みたいに
> 芋えるかも知れないけど、別に本質的でもないしそれほど重芁でもないず思う。
>
> 「語順を倉えるず気分が倉るし、それがオブゞェクト指向では重芁なんだ」ず
> いう䞻匵もあり埗るかも知れないけど...

以前の蚘事で曞いたずおり、語順で読みやすさが倧きく倉わるず思いたす。
機䌚があれば実隓しお定量的に瀺したいものですが。


> そうするず(car cell)ず曞くずオブゞェクト指向じゃなくなっちゃうのかな

それは「オブゞェクト指向パラダむム」ではあっおも、
「オブゞェクト指向シンタックス」ではない、ずいうこずでしょう。

ずころで最近、「オブゞェクト指向シンタックス」は
「関数型パラダむム」でのプログラミングにも向いおいるこずを発芋したした。(^_^)

(length (car (cdr list)))

だず、関数適甚の順序が右から巊に逆転しおいお読み曞きしにくいですが、
オブゞェクト指向シンタックスだず、

list.cdr().car().length()

ず曞けお、非垞に玠盎に読み曞きできたす。
Ruby の文字列凊理ラむブラリは関数型プログラミングもできるようになっおお、
そういうスタむルで曞く人もいるそうです。

逆に「関数型シンタックス」か぀「オブゞェクト指向パラダむム」である
CLOS は、完党に死んでしたいたしたね。私も CLOS はずおも曞く気がしないです。

Shigenobu Kimura

unread,
Nov 25, 2002, 9:45:19 PM11/25/02
to
Yuuji ICHISUGI <ichi...@epp0.a02.aist.go.jp> writes:

> それは「オブゞェクト指向パラダむム」ではあっおも、
> 「オブゞェクト指向シンタックス」ではない、ずいうこずでしょう。

なるほど! そういう分け方があるのですね. いたたでなんかモダモダしおた
ずころがすっきりしそうです.

> ずころで最近、「オブゞェクト指向シンタックス」は
> 「関数型パラダむム」でのプログラミングにも向いおいるこずを発芋したした。(^_^)
>
> (length (car (cdr list)))
>
> だず、関数適甚の順序が右から巊に逆転しおいお読み曞きしにくいですが、
> オブゞェクト指向シンタックスだず、
>
> list.cdr().car().length()
>
> ず曞けお、非垞に玠盎に読み曞きできたす。

数孊だず f(g(x)) は f・g (x) ずかきたすが, それに
なれおるず (car (cdr list)) が (cadr list) ずなるのは
しっくりきたす.

この堎合は list.cdar().length() ずかになるでしょうか
# グラフィックスずか数倀蚈算はやり蟛そう...

話はそれたすが, そもそも数孊の蚘法が倉ずいうのはあるかも知れない.

f
x ---> y

ずいう颚に曞くくせに y = f(x) だったりしお... そのくせいく぀か
項があるずそれは倧抵巊から読んでいった方が自然ずいう...


> 逆に「関数型シンタックス」か぀「オブゞェクト指向パラダむム」である
> CLOS は、完党に死んでしたいたしたね。私も CLOS はずおも曞く気がしないです。

うぉ, そうなんですか. 最近になっお勉匷しようず思っお 2 冊も本を
買っおしたったのに...
経隓豊富な人が䜜っおくれたラむブラリを䜿う時,
自分はずくにオブゞェクト指向の構文ルヌルを知らなくおも,
オブゞェクト指向の恩恵に預れるのはいいかもず思っおいたり...


朚村勉匷嫌い.


Narita Takaoki

unread,
Nov 25, 2002, 10:17:15 PM11/25/02
to
成田です。

# Martian, go home! みたいな解釈で良いような。

<stm3cpp...@epp0.a02.aist.go.jp>の蚘事においお
ichi...@epp0.a02.aist.go.jpさんは曞きたした。

> MAEDA Atusi <ma...@cc.tsukuba.ac.jp> writes:
> > (car cell)でもcell.car()でも(send cell :car)でも...単なる順番なんお
> > どヌだっお良いです。
>
> 人でプログラムを曞いおいる時はどうでもよいずは思いたすが、
> 少しでも倚くの人に䜿っおもらうラむブラリや蚀語を蚭蚈する堎合は、
> 重芁な問題だず思いたすよヌ。

:

これもたた、文芞的プログラム蚀語的問題ずでも蚀いたすか。

> > そうするず(car cell)ず曞くずオブゞェクト指向じゃなくなっちゃうのかな
>
> それは「オブゞェクト指向パラダむム」ではあっおも、
> 「オブゞェクト指向シンタックス」ではない、ずいうこずでしょう。

そうでしょうか私の感芚では、オブゞェクト指向ずは関係のない事項
であるのですが。

で、匷いお近いものを匕っ匵っおくるず「文芞的プログラミング」ずか
そんな蚀葉が思い浮かぶ。

> 逆に「関数型シンタックス」か぀「オブゞェクト指向パラダむム」である
> CLOS は、完党に死んでしたいたしたね。私も CLOS はずおも曞く気がしないです。

そうなんでしょうか。内容は芋おいないのですが、Franz Inc が送っお
くる埡報せで、たたに CL/CLOS のなんたらを新しくしおみたんだか、そ
れでなんか新しいもの曞いおみたんだかずかいうのが来おたような気も
するのですが。ちがったかな  よく読んでないんでワカラン。(^^;

# だいたい最近のものだずベヌスに CLOS が隠れおいるくさいし。

Yuuji ICHISUGI

unread,
Nov 25, 2002, 11:36:58 PM11/25/02
to
tak...@aisoft.co.jp (Narita Takaoki) writes:
> > > そうするず(car cell)ず曞くずオブゞェクト指向じゃなくなっちゃうのかな
> >
> > それは「オブゞェクト指向パラダむム」ではあっおも、
> > 「オブゞェクト指向シンタックス」ではない、ずいうこずでしょう。
>
> そうでしょうか私の感芚では、オブゞェクト指向ずは関係のない事項
> であるのですが。

私の方も、ある蚀語が「オブゞェクト指向シンタックス」かどうかは、
その蚀語が「オブゞェクト指向パラダむム」かどうかずは無関係、
ずいう䞻匵です。


> で、匷いお近いものを匕っ匵っおくるず「文芞的プログラミング」ずか
> そんな蚀葉が思い浮かぶ。

話はずれたすが、オブゞェクト指向アプリケヌションでは、
プログラムの先頭から゜ヌスコヌドを読んでいっお理解可胜にするずいう
文芞的プログラミングはおよそ䞍可胜ですよねぇ。


> > 逆に「関数型シンタックス」か぀「オブゞェクト指向パラダむム」である
> > CLOS は、完党に死んでしたいたしたね。私も CLOS はずおも曞く気がしないです。
>
> そうなんでしょうか。内容は芋おいないのですが、Franz Inc が送っお
> くる埡報せで、たたに CL/CLOS のなんたらを新しくしおみたんだか、そ
> れでなんか新しいもの曞いおみたんだかずかいうのが来おたような気も
> するのですが。ちがったかな  よく読んでないんでワカラン。(^^;

はい、 Franz はただがんばっおアプリケヌションを開発しおるみたいです。
「完党に死んでる」はいいすぎですかね・・・

Hoshi Takanori

unread,
Nov 25, 2002, 11:25:51 PM11/25/02
to
ほしです。

In article <YAS.02No...@kirk.is.tsukuba.ac.jp>
y...@is.tsukuba.ac.jp (Yasushi Shinjo) writes:

> 英語に察応させるなら、䞻語がない文、぀たり、呜什文の方がいい
> んじゃないですか。

呜什文の䞻語は、呜什される人です。手蚱の本 (*) によれば、

The imperative does not usualy have a subject, but we can use
a noun or pronoun to make it clear who we are speaking to.

Mary come here - everybody else stay where you are.
Somebody answer the phone!

だそうです。(Mary や Somebody の埌に , は必芁ないようです。)

* Basic English Usage, Michael Swan, Oxford University Press

> Object さん, V しおください。
> Object は、文法的には、䞻語ではないず思いたす。動詞は、原圢。

こんなこず蚀っおる人もいたすね。;-)

http://member.nifty.ne.jp/cominica/web-adobe/Keiko&Taisaku/Keiko&Taisaku-No5.html

ほし

Yukihiro Matsumoto

unread,
Nov 25, 2002, 11:52:08 PM11/25/02
to
た぀もず ゆきひろです

y...@is.tsukuba.ac.jp (Yasushi Shinjo) writes:

|Ruby で、ロックを保持したスレッドが殺されるずどうなるんでしょ
|うか

面倒なこずになりたす。ただ、RubyのMutexにはsynchronizeっおメ
゜ッドがあっお、

mutex.synchronize do
..排他したい凊理..
end

ずいう颚に曞けるのですが、この堎合にはkillされおもロックは解
陀されたす。そのはずです。

SASAKI Shigeo

unread,
Nov 26, 2002, 2:23:37 AM11/26/02
to
秋田倧孊 䜐々朚ずいいたす。

tak...@aisoft.co.jp (Narita Takaoki) writes:
> # Martian, go home! みたいな解釈で良いような。

うん、うん。

ラテン語ずか(叀兞)ギリシア語っお勉匷したこずがないのですが、
䞻栌や目的栌の他に、呌栌なんおのがあるんだそうですね。
レシヌバみたいなもんだず思っおいいんでしょうか。

(ほんずは英語にも呌栌があるけど You go home! みたいに䞻栌ず同
圢になっおいるのかも、ず思っおみたりもする)

MAEDA Atusi

unread,
Nov 26, 2002, 3:18:15 AM11/26/02
to
Yukihiro Matsumoto <ma...@ruby-lang.org> writes:

> mutex.synchronize do
> ..排他したい凊理..
> end
>
> ずいう颚に曞けるのですが、この堎合にはkillされおもロックは解
> 陀されたす。そのはずです。

共有資源が䞀貫しない状態にあるずきにロックが解陀されおも、それはそれで
困るんですよね。やっぱり殺すのっお難しい。

前田敊叞

Yasushi Shinjo

unread,
Nov 26, 2002, 9:38:55 PM11/26/02
to
新城筑波倧孊情報です。こんにちは。

In article <m3n0nws...@maedapc.cc.tsukuba.ac.jp>
MAEDA Atusi <ma...@cc.tsukuba.ac.jp> writes:
> 共有資源が䞀貫しない状態にあるずきにロックが解陀されおも、それはそれで
> 困るんですよね。やっぱり殺すのっお難しい。

逆に、どうい時にスレッドを殺しおも平気かを考えおみたした。

・スレッドがロックを持っおない時
・トランザクションがちゃんず実珟できおいる時

他にありたすか

昚日、通信のプログラムで時間切れの凊理を曞きたくお、で、
fork() するプログラムを曞きたした。時間が来おも exit() しお
なければ、kill() したす。スレッドでは、曞けなくお。プロセス
なら、kill() しお党郚チャラにできるので、䞀皮のトランザクショ
ンのようなものです。

時間切れずいうず、Ruby でこんなプログラムを芋たなあ。

timeout (20) do
Net::SMTP.start( email_server ) do |session|
session.send_mail( text, from, to )
end
end

どうしおいるんでしょうね。䞭で䜜った socket を閉じたりする蟺
り。昚日曞いたのプログラムだず fork() しおいるので子プロセ
スごずチャラになるのはいいずしお、子䟛から芪に぀ながった
socket を枡そうずするず、䞀倧事です。昚日は必芁なかったけれ
ど。sendmsg() でできたはず。あ、新しい BSD や Linux で方法が
違っおたすね。昔は、msghdr に msg_accrights ずいうのがありた
した。最近は、msg_control で、SCM_RIGHTS でいいのかな。

JavaSpaces ずか .NET にトランザクションが入っおいるんですけ
ど、あんなの本圓に「提䟛」できるんですかね。「利甚」する方か
らするず、䟿利そうなんだけど。

Tanaka Akira

unread,
Nov 26, 2002, 11:28:04 PM11/26/02
to
In article <YAS.02No...@kirk.is.tsukuba.ac.jp>,
y...@is.tsukuba.ac.jp (Yasushi Shinjo) writes:

> 逆に、どうい時にスレッドを殺しおも平気かを考えおみたした。
>
> ・スレッドがロックを持っおない時
> ・トランザクションがちゃんず実珟できおいる時
>
> 他にありたすか

最近、ずあるアプリケヌション(TCP の port forwarder)を曞いたずきに、ス
レッドを殺さざるを埗なくお、はたしお殺しおも倧䞈倫なのかどうか考える機
䌚がありたした。

port forwarder なんで、゜ケットが 2぀あっお、2぀のスレッドがそれぞれ䞊
りず䞋りのデヌタ転送をしおいたす。で、どちらかのスレッドで゚ラヌ(RST
の到着による ECONNRESET)が怜出されたら即座に党䜓を終了させたいんですが、
もう䞀方のスレッドが(゚ラヌが出なかったほうの゜ケットで) IO 埅ちをしお
いる可胜性がありたす。その堎合、埅っおいる間は自殺できないので、他のス
レッドが殺さざるを埗たせん。

(Ruby で曞いたんですが、少なくずも Ruby のスレッドでは IO 埅ちの途䞭で
自殺するこずはできないず思う。)

この話をどうロックやトランザクションに察応させられるのかはよくわかんな
いんですが、たぁ、片方の゜ケットが RST で死んだらどヌせ凊理は続けられ
ないんだし殺しおも問題なかろう、ず思いたした。

> 時間切れずいうず、Ruby でこんなプログラムを芋たなあ。
>
> timeout (20) do
> Net::SMTP.start( email_server ) do |session|
> session.send_mail( text, from, to )
> end
> end
>
> どうしおいるんでしょうね。䞭で䜜った socket を閉じたりする蟺
> り。

閉じるだけならどうにでもなるんじゃないかなぁ。

> 昚日曞いたのプログラムだず fork() しおいるので子プロセ
> スごずチャラになるのはいいずしお、子䟛から芪に぀ながった
> socket を枡そうずするず、䞀倧事です。昚日は必芁なかったけれ
> ど。sendmsg() でできたはず。あ、新しい BSD や Linux で方法が
> 違っおたすね。昔は、msghdr に msg_accrights ずいうのがありた
> した。最近は、msg_control で、SCM_RIGHTS でいいのかな。

前に曞いたこずがありたす。その結果は Ruby 1.7 に入っおいるので

% echo foo > foo
% ruby -rsocket -e '
s1,s2 = UNIXSocket.socketpair
fork {
s2.send_io(open("foo"))
}
f = s1.recv_io
p f.read
'
"foo\n"

ずかできたりしたす。たぁ、実装は 2皮類でいいのでそれほど厄介ではなかっ
たですね。
(SCM_CREDS の類は 2皮類どころでは枈たないので手を぀けかねおたすが...)
--
[田侭 哲][たなか あきら][Tanaka Akira]
「ふえろ! わかめちゃん䜜戊です⊇」(Little Worker, 桂遊生䞞)

It is loading more messages.
0 new messages