上手く伝わる自信がないんだけど、
呼び出しって言葉にはどういう意味があるの?
例えば、手続き実行とは言わずになんで呼び出しなの?
メソッドは実行?
実行時にメモリ空間上に常駐させるから呼び出し?
なんか概念の話ではなく、言語仕様の話なの?
Javaだとメソッド呼び出しじゃあないよね?
ずっと疑問なんだ。
助けて。
手続き「呼び出し」ってどういう意味?
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2021/05/20(木) 15:40:57.78ID:kdHhkFdS2021/05/20(木) 15:41:45.71ID:46+G9eEq
callやろ
3デフォルトの名無しさん
2021/05/20(木) 15:48:00.57ID:92Zuh7PO4デフォルトの名無しさん
2021/05/20(木) 15:56:35.03ID:92Zuh7PO すみません、自分の疑問は、
メソッド呼び出しという言葉は適切なのか?です!
メソッド呼び出しという言葉は適切なのか?です!
2021/05/20(木) 15:59:47.22ID:/JYGZP1E
適切
専門用語なんだから国語辞典的な意味に引っ張られるな
専門用語なんだから国語辞典的な意味に引っ張られるな
2021/05/20(木) 16:13:31.49ID:SZkXAUOU
他の場所にあるプログラムを実行する様子が、処理を呼び出しているように見えるから...とか?
2021/05/20(木) 17:29:06.19ID:XA+o92qv
メッセージでええやん
8デフォルトの名無しさん
2021/05/20(木) 17:42:34.74ID:92Zuh7PO callは、別プログラムに制御を移して実行するんですよね?
手続き指向で考えてもこれは矛盾がないので、手続き呼び出しという言葉に違和感はないです。
ただ、オブジェクト指向で言えば、待ち状態になるだけで制御は独立した別物ではないんですか?(もちろん、言語仕様とは別で)
メッセージによるメソッド実行ならいいんですけど、メソッド呼び出しじゃなくね?って言うのが疑問です。
手続き指向で考えてもこれは矛盾がないので、手続き呼び出しという言葉に違和感はないです。
ただ、オブジェクト指向で言えば、待ち状態になるだけで制御は独立した別物ではないんですか?(もちろん、言語仕様とは別で)
メッセージによるメソッド実行ならいいんですけど、メソッド呼び出しじゃなくね?って言うのが疑問です。
9デフォルトの名無しさん
2021/05/20(木) 17:50:02.74ID:92Zuh7PO callは、プログラムの話をしてるのに、概念の話とごっちゃにしてしまってますね...
プログラミング言語の話をしている時に、メソッド呼び出しは良いけど、概念の話をしている時にメソッド呼び出しは間違ってると思うんですがどうでしょうか!?
というのが自分の疑問って整理できました!
プログラミング言語の話をしている時に、メソッド呼び出しは良いけど、概念の話をしている時にメソッド呼び出しは間違ってると思うんですがどうでしょうか!?
というのが自分の疑問って整理できました!
2021/05/20(木) 17:58:05.90ID:/JYGZP1E
プログラムの話と概念の話をどう分けてるんだ
元から概念の話しかしてないだろ
元から概念の話しかしてないだろ
2021/05/20(木) 18:08:15.32ID:46+G9eEq
英語の話だよ。callは日本語でなんと言う?
12デフォルトの名無しさん
2021/05/20(木) 18:12:56.06ID:92Zuh7PO ???メモリ空間とかどう動くかは概念の話じゃないですよね?なんでそんな怖い口調でいうん...
2021/05/20(木) 18:20:57.01ID:IqiuDW4q
callとinvokeの違い
2021/05/20(木) 18:27:53.40ID:yxa1m0L9
function call
procedure call
method call
みんな同じ
function execution
procedure execution
method execution
これも使うけどニュアンスが微妙に違う
callはcaller/calleeの関係性を含んでる
procedure call
method call
みんな同じ
function execution
procedure execution
method execution
これも使うけどニュアンスが微妙に違う
callはcaller/calleeの関係性を含んでる
2021/05/20(木) 19:21:24.45ID:905fVrUH
アセンブラを知らないとサブルーチンコールがどういう仕組みなのか分からないのかも知れないね
そもそもサブルーチンが何なのかの話もあるかも知れないが
サブルーチンとはいわゆる一つの関数の事なのだが
当然だがそれらの関数の処理は実際には今現在処理しているアドレスとは別の場所(アドレス)に並んでいる
そのサブルーチンを呼ぶ際に普通にジャンプするとサブルーチンを終了したときに元の場所に戻れない
なのでサブルーチンを呼んだ後にその次のアドレスに戻れるようにその情報(復帰するアドレス)をスタックに格納する
(アセンブラではjsrやcallみたいな命令になっている。実態は復帰アドレスをスタックにpushしてサブルーチンにジャンプする命令)
サブルーチン側では処理が終わればそのスタックに格納されているアドレスを取り出しジャンプする
(アセンブラではretやrtsみたいな命令だったりする。実態はスタックからpullしてそのアドレスにジャンプする命令)
だから、クラスのメソッドや単なる関数は実態はサブルーチンを利用することになるが
日本語だとサブルーチンを呼ぶみたいな言い方されているので呼び出しで特に問題は無いと思う
サブルーチンに飛ぶという風に言っても意味としては通用するが
サブルーチンというものが処理が終われば戻ってくるものなので
呼び出しの方がニュアンスとしては的確な気がする
単なる条件、無条件ジャンプ(Cだとif elseやgoto等)は呼び出しとは言わないしね
そもそもサブルーチンが何なのかの話もあるかも知れないが
サブルーチンとはいわゆる一つの関数の事なのだが
当然だがそれらの関数の処理は実際には今現在処理しているアドレスとは別の場所(アドレス)に並んでいる
そのサブルーチンを呼ぶ際に普通にジャンプするとサブルーチンを終了したときに元の場所に戻れない
なのでサブルーチンを呼んだ後にその次のアドレスに戻れるようにその情報(復帰するアドレス)をスタックに格納する
(アセンブラではjsrやcallみたいな命令になっている。実態は復帰アドレスをスタックにpushしてサブルーチンにジャンプする命令)
サブルーチン側では処理が終わればそのスタックに格納されているアドレスを取り出しジャンプする
(アセンブラではretやrtsみたいな命令だったりする。実態はスタックからpullしてそのアドレスにジャンプする命令)
だから、クラスのメソッドや単なる関数は実態はサブルーチンを利用することになるが
日本語だとサブルーチンを呼ぶみたいな言い方されているので呼び出しで特に問題は無いと思う
サブルーチンに飛ぶという風に言っても意味としては通用するが
サブルーチンというものが処理が終われば戻ってくるものなので
呼び出しの方がニュアンスとしては的確な気がする
単なる条件、無条件ジャンプ(Cだとif elseやgoto等)は呼び出しとは言わないしね
2021/05/20(木) 19:56:57.21ID:/JYGZP1E
>>12
メモリ空間とかの話じゃなくてもcallは使う
プログミング言語のパラダイムのような概念的な話でも、例えば "call by need" のように、callという語は使われる
その疑問やアイディアが生まれた根拠がわからないから全然共感できない
何がどう疑問なのかがさっぱりわからない
どういうアイディアやイメージがあってわざわざそのような使い分け方をしようと思ったの?
メモリ空間とかの話じゃなくてもcallは使う
プログミング言語のパラダイムのような概念的な話でも、例えば "call by need" のように、callという語は使われる
その疑問やアイディアが生まれた根拠がわからないから全然共感できない
何がどう疑問なのかがさっぱりわからない
どういうアイディアやイメージがあってわざわざそのような使い分け方をしようと思ったの?
2021/05/20(木) 20:32:47.28ID:MNzWSTCi
ちなみにOracleの公式マニュアルでは
「メソッドをコールする」
と書いてあるな
Oracleの公式とその辺の教科書とかでは用語が違うことに注意
例えばOracle公式では「拡張for文」という言い回しは使わずに
「foreach文」という言い方を一貫して使っている
「メソッドをコールする」
と書いてあるな
Oracleの公式とその辺の教科書とかでは用語が違うことに注意
例えばOracle公式では「拡張for文」という言い回しは使わずに
「foreach文」という言い方を一貫して使っている
2021/05/20(木) 21:02:58.23ID:XFBfV2CC
日本語の直訳なだけで、意味はあってる
19デフォルトの名無しさん
2021/05/20(木) 22:30:00.36ID:92Zuh7PO20デフォルトの名無しさん
2021/05/20(木) 22:37:00.82ID:92Zuh7PO >>16
自分はちゃんと説明出来てないですし、違和感でモヤモヤしてて、ちょっとその原因について助言を貰いに来ました!たぶん、イライラさせてすみません!
アセンブラとかのcallがもとで、呼び出しと言っているなら、手続き呼び出しは理解出来るし、プログラムが動く仕組みをするときにメソッド呼び出しと言うのも理解出来ます!これは、アセンブラのcallと同じだからです。
ただ、オブジェクト指向のモデルについて説明する時にも、メソッド呼び出しって言っていますが、メッセージを送って、受け取ったら対応するメソッドを実行するって言うのは語源のcallでいう呼び出しとは全然違うじゃんと思うのです!
自分はちゃんと説明出来てないですし、違和感でモヤモヤしてて、ちょっとその原因について助言を貰いに来ました!たぶん、イライラさせてすみません!
アセンブラとかのcallがもとで、呼び出しと言っているなら、手続き呼び出しは理解出来るし、プログラムが動く仕組みをするときにメソッド呼び出しと言うのも理解出来ます!これは、アセンブラのcallと同じだからです。
ただ、オブジェクト指向のモデルについて説明する時にも、メソッド呼び出しって言っていますが、メッセージを送って、受け取ったら対応するメソッドを実行するって言うのは語源のcallでいう呼び出しとは全然違うじゃんと思うのです!
21デフォルトの名無しさん
2021/05/20(木) 22:39:38.40ID:92Zuh7PO 訳がどうというのは、
英語でcallって言うからには、そのように言う意味があるわけで、そのもともとの意味と、メソッドを実行するというのは違うんじゃないかなって言うのが自分の悩みです!
英語でcallって言うからには、そのように言う意味があるわけで、そのもともとの意味と、メソッドを実行するというのは違うんじゃないかなって言うのが自分の悩みです!
2021/05/20(木) 22:54:59.44ID:yxa1m0L9
言語化できないのは仕方がないとして
「オブジェクト指向のモデルの話をするときに、メソッド呼び出しと言うのが理解出来ない」と実際に感じた実例を2~3あげたら?
このサイトのこの説明を読んで・・・とかさ
「オブジェクト指向のモデルの話をするときに、メソッド呼び出しと言うのが理解出来ない」と実際に感じた実例を2~3あげたら?
このサイトのこの説明を読んで・・・とかさ
2021/05/21(金) 10:03:41.31ID:QhlqoCTd
>>19
そもそもObject指向の方が後から生まれたものだからさ
そんなこと言ったら上で書かれていたJsrのニーモニックなんてJump SubRoutineの略だぞ?
後からスタックエリアから呼び出しアドレス末尾+1で戻るにも関わらず、だ
「厳密にはこう言った方が正しいけど余計なこと言い出すとみんな混乱すんじゃね?」みたいなときは
そんな感じになることが多いのさ
そもそもObject指向の方が後から生まれたものだからさ
そんなこと言ったら上で書かれていたJsrのニーモニックなんてJump SubRoutineの略だぞ?
後からスタックエリアから呼び出しアドレス末尾+1で戻るにも関わらず、だ
「厳密にはこう言った方が正しいけど余計なこと言い出すとみんな混乱すんじゃね?」みたいなときは
そんな感じになることが多いのさ
2021/05/21(金) 12:51:44.58ID:J3ITD3+f
メッセージ送信の方がメソッド呼び出しよりも広い意味をもつ
メソッド呼び出しはメッセージパッシングの実装の一形態でしかない
例えばRPC(遠隔手続き呼び出し)やRMI(遠隔メソッド呼び出し)もメッセージパッシングの一形態でしかない
だから、特定の言語についてではなくoop全般について話すような文脈では、メソッド呼び出しと言うよりもメッセージ送信と言うほうが正確
実際 smalltalk や objective c ではメッセージ送信とは言うがメソッド呼び出しとはあまり言わない
って感じの主張がしたいんだろうか
メソッド呼び出しはメッセージパッシングの実装の一形態でしかない
例えばRPC(遠隔手続き呼び出し)やRMI(遠隔メソッド呼び出し)もメッセージパッシングの一形態でしかない
だから、特定の言語についてではなくoop全般について話すような文脈では、メソッド呼び出しと言うよりもメッセージ送信と言うほうが正確
実際 smalltalk や objective c ではメッセージ送信とは言うがメソッド呼び出しとはあまり言わない
って感じの主張がしたいんだろうか
2021/05/21(金) 12:53:39.78ID:Un7Xn0rW
メソッドとかを実行する主体(cpu,pc)と、pcとかが実行する内容(メソッド、関数、手続き)を分けて考えればいい。
CPUがメソッドを実行するときは、CPUの手元にはメソッドの詳しい内容が無いから、CPUはまずメソッドの内容を呼び出して手元に持ってきてから実行する。
実際にはCPUはメソッドの書かれているアドレスに読みに行くんだけど、CPUを主体に考えればcall(手元に持ってくる)になる。
まあ、オブジェクト指向はこのあたりごちゃごちゃだよな。
CPUがメソッドを実行するときは、CPUの手元にはメソッドの詳しい内容が無いから、CPUはまずメソッドの内容を呼び出して手元に持ってきてから実行する。
実際にはCPUはメソッドの書かれているアドレスに読みに行くんだけど、CPUを主体に考えればcall(手元に持ってくる)になる。
まあ、オブジェクト指向はこのあたりごちゃごちゃだよな。
2021/05/21(金) 14:55:54.93ID:HEzO3EYM
>>1
頼むからそういう話はマ板でやってくれ
頼むからそういう話はマ板でやってくれ
2021/05/21(金) 15:12:49.83ID:IHGXJo1X
実装レベルではなくオブジェクト指向分析時などの概念レベルでは
メッセージ呼び出しではなくメッセージパッシングとして捉えるほうが適切だと思うって主張したいんでしょ
わからなくはないけど
OOP言語の場合はSmalltalkやObjective-Cを含めて実体はメソッド呼び出しなので
他人がメソッド呼び出しと呼ぶのにいちゃもんつけても意味ない
メッセージ呼び出しではなくメッセージパッシングとして捉えるほうが適切だと思うって主張したいんでしょ
わからなくはないけど
OOP言語の場合はSmalltalkやObjective-Cを含めて実体はメソッド呼び出しなので
他人がメソッド呼び出しと呼ぶのにいちゃもんつけても意味ない
2021/05/21(金) 15:54:00.04ID:xNO9nRMY
単なる関数だと、戻るアドレスと引数をスタックにpushするけど
クラスだったらそれにクラスのインスタンスもpushするだけぐらいなもんだしなぁ
実態はメソッドだろうが関数だろうがサブルーチンで呼んで終わったら
呼んだ次の行の実行をするのは同じだしね
クラスだったらそれにクラスのインスタンスもpushするだけぐらいなもんだしなぁ
実態はメソッドだろうが関数だろうがサブルーチンで呼んで終わったら
呼んだ次の行の実行をするのは同じだしね
2021/05/21(金) 21:56:21.67ID:KKZ6UG4J
抽象データ型とメッセージ・パッシングー2つのオブジェクト指向
https://togetter.com/li/1477056
https://togetter.com/li/1477056
2021/05/21(金) 22:06:34.06ID:lBWNuKf5
>>1
あなたはX=X+1(数式としてはナンセンスな表現)でずっと悩んでいるべきだw
あなたはX=X+1(数式としてはナンセンスな表現)でずっと悩んでいるべきだw
2021/05/22(土) 06:34:55.87ID:Fxu4ZmVZ
>>21
関数ポインタとかで悩みそうね
関数ポインタとかで悩みそうね
2021/05/24(月) 08:08:08.88ID:Jnh461kb
引用符は`もあるのになぜ'しか使わないのか
ch='A'じゃなくてch=`A'のほうが正しいんじゃない
ch='A'じゃなくてch=`A'のほうが正しいんじゃない
2021/05/24(月) 09:48:15.87ID:ZzLA6YH5
正しくはということなら
`はアクセント符号であって左シングルクォートでは無いし
'はかつてアポストロフィであったものであって右シングルクォートでは無い
クォート記号として使われるのは代用でしかない
`はアクセント符号であって左シングルクォートでは無いし
'はかつてアポストロフィであったものであって右シングルクォートでは無い
クォート記号として使われるのは代用でしかない
2021/05/26(水) 14:46:44.96ID:DBCz7Yq/
概念やモデルを語る文脈では「メッセージパッシング」という用語を用いる方が適切で、実装・実現方法を表す「呼び出し」という用語を用いるのは違和感があるという主張でしょ。
違和感はわかるし、主張内容にも(どこまで徹底するかはともかくとして)一定の共感はできるよ。
ただ、厳密に適切かはさておき、「呼び出し」という語も慣用的に受け入れられているわけだし、それを潔癖に排除するまでの必要は、少なくとも現時点ではないかなと思う。
1と同じ感覚で用語法に拘る人が増えてくれば情勢は変わるのかもしれないけれど、そもそもオブジェクト指向的なモデルにそこまで拘る必要があるかというのも一つの問題。「(モデルとしてはメッセージパッシングかもしれないけれど、)実際には呼び出しなんだから呼び出しでいいじゃないか」という感覚は根強いだろうし、それをバッサリ切り捨てるのもどうかと思うな。
違和感はわかるし、主張内容にも(どこまで徹底するかはともかくとして)一定の共感はできるよ。
ただ、厳密に適切かはさておき、「呼び出し」という語も慣用的に受け入れられているわけだし、それを潔癖に排除するまでの必要は、少なくとも現時点ではないかなと思う。
1と同じ感覚で用語法に拘る人が増えてくれば情勢は変わるのかもしれないけれど、そもそもオブジェクト指向的なモデルにそこまで拘る必要があるかというのも一つの問題。「(モデルとしてはメッセージパッシングかもしれないけれど、)実際には呼び出しなんだから呼び出しでいいじゃないか」という感覚は根強いだろうし、それをバッサリ切り捨てるのもどうかと思うな。
2021/05/26(水) 15:23:58.27ID:8NIluYSN
2021/05/26(水) 18:10:58.25ID:VFoFD49u
go homeとcome homeみたいに視点の置き方ひとつでどうにでもなる感じ
2021/05/26(水) 18:32:49.58ID:rgCCVIaL
>>34
呼び出しは実装・実現方法に限られた用語じゃないと思うけどな
呼び出しは実装・実現方法に限られた用語じゃないと思うけどな
2021/05/26(水) 22:48:02.19ID:lzHVbuEY
>>37
1はオブジェクト指向のモデリングを前提としているみたいだから、それとの関係ではでは「呼び出し」は実装・実現方法の方に属する概念じゃない?
そもそもオブジェクト指向でモデリングする必要があるのか自体が問題だけど。
1はオブジェクト指向のモデリングを前提としているみたいだから、それとの関係ではでは「呼び出し」は実装・実現方法の方に属する概念じゃない?
そもそもオブジェクト指向でモデリングする必要があるのか自体が問題だけど。
2021/05/26(水) 23:43:42.78ID:rgCCVIaL
「ファイル新規作成メッセージ」を送る
「ファイル新規作成機能」を呼び出す
前者が概念レベルで後者が実装レベル?
視点の違いであって抽象度の違いではないような
「ファイル新規作成機能」を呼び出す
前者が概念レベルで後者が実装レベル?
視点の違いであって抽象度の違いではないような
2021/05/27(木) 00:07:47.62ID:ru1l+Gvl
「呼び出し」をそこまで抽象的に捉えるなら、たしかに視点の違いに過ぎないとも言いうるけれど、その場合、オブジェクト指向のメッセージパッシングのモデリングと適合的に考えるのであれば、呼ばれるものはオブジェクトであるべきであって、メソッドが直接呼ばれるというのは違和感がある……というのが1が言いたいことなんじゃないかと(かなり推測だけど)。
あと、「呼び出し」という語は、やはり>>15みたいな具体的なイメージを伴って用いられることの方が多いのではないかとも思う。
あと、「呼び出し」という語は、やはり>>15みたいな具体的なイメージを伴って用いられることの方が多いのではないかとも思う。
41デフォルトの名無しさん
2021/05/27(木) 10:30:46.58ID:FO5QR3ui 呼び出しはcallを語源としているというのが前提としていて、
callの仕組みを抽象化すれば、例えばjavaの言語レベルの話をするさいには、
メソッド呼び出しという言い方は理解できる。
オブジェクト指向のモデルの話をするときには、
callの仕組みとは本質的に違うのだからメソッド呼び出しという言葉は適切ではないのではないか?
ということが言いたかったのです!
呼び出しという言葉が、実装レベルに限らない、抽象度の問題ではないというのは理解していますが、何を語源にするかという前提にたてば、メソッド呼び出しという用語の使い方は言語の仕組みレベルのときにのみ使うべきという主張です。
もちろん、callとは本質的に違うメソッド実行の実現が言語でされている場合には、その言語について話すさいにメソッド呼び出しという言葉は不適切だと思います!
callの仕組みを抽象化すれば、例えばjavaの言語レベルの話をするさいには、
メソッド呼び出しという言い方は理解できる。
オブジェクト指向のモデルの話をするときには、
callの仕組みとは本質的に違うのだからメソッド呼び出しという言葉は適切ではないのではないか?
ということが言いたかったのです!
呼び出しという言葉が、実装レベルに限らない、抽象度の問題ではないというのは理解していますが、何を語源にするかという前提にたてば、メソッド呼び出しという用語の使い方は言語の仕組みレベルのときにのみ使うべきという主張です。
もちろん、callとは本質的に違うメソッド実行の実現が言語でされている場合には、その言語について話すさいにメソッド呼び出しという言葉は不適切だと思います!
42デフォルトの名無しさん
2021/05/27(木) 10:35:39.43ID:2WTxyTqA 手続きはプロシージャで
値を返すプロシージャをファンクションプロシージャ、略してファンクションと言います
レシーバオブジェクトを介して実行されるプロシージャをメソッドプロシージャ、略してメソッドと言います
そのように考えるとメソッドも手続きの一種でしかないわけですね
値を返すプロシージャをファンクションプロシージャ、略してファンクションと言います
レシーバオブジェクトを介して実行されるプロシージャをメソッドプロシージャ、略してメソッドと言います
そのように考えるとメソッドも手続きの一種でしかないわけですね
43デフォルトの名無しさん
2021/05/27(木) 10:46:13.12ID:2WTxyTqA 手続きという概念の中に
ファンクションもメソッドも内包されるから呼び出しでもかまわない
メソッドの呼び出しはある特定の条件下でメッセージングとも呼ばれる
と、いうことだと僕は思いました
ファンクションもメソッドも内包されるから呼び出しでもかまわない
メソッドの呼び出しはある特定の条件下でメッセージングとも呼ばれる
と、いうことだと僕は思いました
2021/05/27(木) 11:17:21.37ID:kul3rGaF
>>41
呼び出しは英語のcallの訳語というだけで
CALL文やCALL命令のような実装を前提とはしていない
語源を考えるならCALL文やCALL命令に
なぜcallという単語があてられたのかを考えて
>callの仕組みとは本質的に違う
何が違うと思ってるの?
呼び出しは英語のcallの訳語というだけで
CALL文やCALL命令のような実装を前提とはしていない
語源を考えるならCALL文やCALL命令に
なぜcallという単語があてられたのかを考えて
>callの仕組みとは本質的に違う
何が違うと思ってるの?
45デフォルトの名無しさん
2021/05/27(木) 11:28:50.63ID:FO5QR3ui2021/05/27(木) 12:02:30.94ID:xtcmqae0
オブジェクトひとつひとつがスレッドだと思ってるのか
47デフォルトの名無しさん
2021/05/27(木) 12:06:54.98ID:FO5QR3ui2021/05/27(木) 12:15:14.91ID:o74jQiO4
>>41
Object指向のObjectを、主体客体(subject-object)のObjectとして捉えれば適切だろ。
プログラミングが「主体がソースコードを解釈して実行する」という枠組みになっている以上、主体を無視して解釈しようとすることのほうが適切じゃない。
Object指向のObjectを、主体客体(subject-object)のObjectとして捉えれば適切だろ。
プログラミングが「主体がソースコードを解釈して実行する」という枠組みになっている以上、主体を無視して解釈しようとすることのほうが適切じゃない。
49デフォルトの名無しさん
2021/05/27(木) 13:03:38.02ID:rDD7tIjX >>48
理解できます。
ソースコードを…と言っているように、オブジェクト指向の話でも、どのレベルの話をしているのか、によってメソッド呼び出しというかメッセージ通信というか分けるべきでは?という主張です。
理解できます。
ソースコードを…と言っているように、オブジェクト指向の話でも、どのレベルの話をしているのか、によってメソッド呼び出しというかメッセージ通信というか分けるべきでは?という主張です。
2021/05/27(木) 13:35:55.56ID:kul3rGaF
>>47
>オブジェクト指向のモデルの上では、それぞれ待機状態にあって、メッセージを受けたらこれに対応する処理を行なうのではないんですか?
オブジェクト指向といった場合には一般的にそういう前提ではないね
メッセージパッシングとオブジェクト指向を混同してるように見える
メッセージパッシング自体はオブジェクト指向だけに使われる用語ではないから
オブジェクト指向の文脈でどういう意味なのかを理解したらいいと思う
>オブジェクト指向のモデルの上では、それぞれ待機状態にあって、メッセージを受けたらこれに対応する処理を行なうのではないんですか?
オブジェクト指向といった場合には一般的にそういう前提ではないね
メッセージパッシングとオブジェクト指向を混同してるように見える
メッセージパッシング自体はオブジェクト指向だけに使われる用語ではないから
オブジェクト指向の文脈でどういう意味なのかを理解したらいいと思う
51デフォルトの名無しさん
2021/05/27(木) 13:55:50.32ID:rDD7tIjX >>50
メッセージパッシングがオブジェクト指向でのみ使われる用語ではないことはわかるのですが、オブジェクト指向がメッセージパッシングを前提としていると誤って理解をしていました。
オブジェクト指向から間違って理解していました。
お騒がせしてしまい、ごめんなさい。
メッセージパッシングがオブジェクト指向でのみ使われる用語ではないことはわかるのですが、オブジェクト指向がメッセージパッシングを前提としていると誤って理解をしていました。
オブジェクト指向から間違って理解していました。
お騒がせしてしまい、ごめんなさい。
52デフォルトの名無しさん
2021/05/29(土) 20:18:01.13ID:kfieFN1v オブジェクト指向設計ならオブジェクトそのものが呼び出しだろう(
53デフォルトの名無しさん
2021/05/29(土) 20:18:11.34ID:kfieFN1v オブジェクト指向設計ならオブジェクトそのものが呼び出しだろうに
54デフォルトの名無しさん
2021/05/30(日) 10:23:48.70ID:ssDmNHo+ オブジェクト指向の入門書でメッセージパッシングを強調し過ぎるのは
入門者にあらぬ誤解を抱かせる悪点だと思う
原理主義みたいなもん
smalltalkを否定する訳ではない
入門者にあらぬ誤解を抱かせる悪点だと思う
原理主義みたいなもん
smalltalkを否定する訳ではない
2021/05/30(日) 14:44:51.91ID:DbVDrryp
メッセージパッシングも関数呼び出しも
抽象化して考えれば、どっちも同じことだろ
抽象化して考えれば、どっちも同じことだろ
2021/05/31(月) 00:54:05.32ID:vbcL3D/k
オブジェクト指向と言う言葉でアクターモデルをイメージしていたら
手続き呼び出しとは言いにくいわな
手続き呼び出しとは言いにくいわな
57デフォルトの名無しさん
2021/05/31(月) 10:46:11.68ID:AP3os+rN アクターモデルはオブジェクト指向の一形態でしかないから
オブジェクト指向を矮小化するクソですわ、アラン・ケイはクソですわ
オブジェクト指向を矮小化するクソですわ、アラン・ケイはクソですわ
2021/05/31(月) 12:43:40.97ID:wHUeJvTE
2021/05/31(月) 13:55:35.23ID:vbcL3D/k
>>58
理念的には、アクターは自前の計算資源を持ち、個々が非同期に動作するものだから、
それが担当する機能(の一つ)の実行を依頼することに対して、
「手続き呼び出し」と言う歴史的な意味のついた言葉を使うのは違う感じがしない?
理念的には、アクターは自前の計算資源を持ち、個々が非同期に動作するものだから、
それが担当する機能(の一つ)の実行を依頼することに対して、
「手続き呼び出し」と言う歴史的な意味のついた言葉を使うのは違う感じがしない?
60デフォルトの名無しさん
2021/05/31(月) 14:07:10.12ID:AP3os+rN 呼び出しは同期を意味しないからなあ
61デフォルトの名無しさん
2021/05/31(月) 14:07:35.89ID:AP3os+rN アクターがなにか処理をするなら手続きだし
62デフォルトの名無しさん
2021/05/31(月) 14:08:37.47ID:AP3os+rN アクターはオブジェクトの一つでしかないので特別視する必要もない
63デフォルトの名無しさん
2021/05/31(月) 14:16:32.19ID:AP3os+rN 全部アラン・ケイが悪いんですわ、あとアラン・ケイ信者がクソ
2021/05/31(月) 21:33:21.44ID:nK3+fI7q
関数を利用することが手続きを呼び出すことだろ
違うの?
callback関数とか定義を決めて
説明するのは面倒だけど
違うの?
callback関数とか定義を決めて
説明するのは面倒だけど
2021/06/01(火) 08:33:05.90ID:F8uhV1ao
>>59
なんか違和感があるんだけど
オブジェクトが他人だったら「呼びだし」でいいんじゃない?
自分で実行するなら呼びだしとは言わないじゃない
歴史的経緯があるから変更しろ!というどっかのヒステリー国みたいw
なんか違和感があるんだけど
オブジェクトが他人だったら「呼びだし」でいいんじゃない?
自分で実行するなら呼びだしとは言わないじゃない
歴史的経緯があるから変更しろ!というどっかのヒステリー国みたいw
2021/06/01(火) 08:58:20.03ID:myvfkNHR
アクター界隈ではアクターの機能を呼び出すことを、アクターの独立性に鑑み
メッセージパッシングとわざわざ呼び、プロシジャーコールとは区別しているのだから
アクター的な計算モデルが念頭にあればプロシジャーコールに違和感があるのは無理のないことだと思うけどなあ。
>オブジェクトが他人だったら「呼びだし」でいいんじゃない?
>自分で実行するなら呼びだしとは言わないじゃない
と言うのは申し訳ないが自分には何を言われているのか判然としないな。
>歴史的経緯があるから変更しろ!!というどっかのヒステリー国みたいw
に関しては誰がこんなことを書いているのか???????って感じ。
アクターっぽいものをイメージしている時、プロシジャーコールという言葉に
違和感感じるのは自分的には理解できるって話だよ?
懐かしい言い回しで言うなら「妄想乙」
メッセージパッシングとわざわざ呼び、プロシジャーコールとは区別しているのだから
アクター的な計算モデルが念頭にあればプロシジャーコールに違和感があるのは無理のないことだと思うけどなあ。
>オブジェクトが他人だったら「呼びだし」でいいんじゃない?
>自分で実行するなら呼びだしとは言わないじゃない
と言うのは申し訳ないが自分には何を言われているのか判然としないな。
>歴史的経緯があるから変更しろ!!というどっかのヒステリー国みたいw
に関しては誰がこんなことを書いているのか???????って感じ。
アクターっぽいものをイメージしている時、プロシジャーコールという言葉に
違和感感じるのは自分的には理解できるって話だよ?
懐かしい言い回しで言うなら「妄想乙」
67デフォルトの名無しさん
2021/06/01(火) 09:10:00.38ID:Lmdhl1K7 アクターをオブジェクトの一つでしかない
わざわざ言い分ける必要なんてない
アラン・ケイとその信者がクソなだけ
わざわざ言い分ける必要なんてない
アラン・ケイとその信者がクソなだけ
68デフォルトの名無しさん
2021/06/01(火) 09:17:01.70ID:Lmdhl1K7 オブジェクト指向はSimulaで発明された
それで実現できる一形態であるアクターに焦点をあて
オブジェクト指向を矮小化したのがアラン・ケイというクソ野郎
C++のビヤーネはそれを修正した
それで実現できる一形態であるアクターに焦点をあて
オブジェクト指向を矮小化したのがアラン・ケイというクソ野郎
C++のビヤーネはそれを修正した
2021/06/01(火) 11:58:30.93ID:uwqmKkHK
>>65
他人の郵便受けに伝言を入れておくことを「呼び出し」とは言わないでしょ
召喚命令を入れてくることを呼び出しと言うことはあるかもしれないが
それはメッセージの中身の話で受け渡しする仕組みの話じゃない
他人の郵便受けに伝言を入れておくことを「呼び出し」とは言わないでしょ
召喚命令を入れてくることを呼び出しと言うことはあるかもしれないが
それはメッセージの中身の話で受け渡しする仕組みの話じゃない
2021/06/01(火) 12:38:45.23ID:Sn0WkXvt
71デフォルトの名無しさん
2021/06/01(火) 12:48:05.01ID:Lmdhl1K7 キューに入れる処理を呼び出してるわけだろ
非同期に処理が実行されるのなら非同期の呼び出しだよ
非同期に処理が実行されるのなら非同期の呼び出しだよ
72デフォルトの名無しさん
2021/06/01(火) 12:51:49.76ID:Lmdhl1K7 プログラムの処理は郵便受けにお手紙入れるのとは全く違うからな
これをこうしろっていう指令を出してるわけで、callつまり呼び出しなわけ
これをこうしろっていう指令を出してるわけで、callつまり呼び出しなわけ
2021/06/01(火) 13:44:31.60ID:uwqmKkHK
74デフォルトの名無しさん
2021/06/01(火) 15:03:57.60ID:Lmdhl1K7 何が言いたいんだよカス
2021/06/01(火) 16:09:40.54ID:3mehbzQU
>>73
アクターモデル使ったことがないからイメージできないのかもよ
アクターモデル使ったことがないからイメージできないのかもよ
2021/06/01(火) 18:23:48.62ID:2Y9mkBUH
callかexecuteかってことで
引数用意して関数呼び出して
なんらかのreturnをもらう
引数用意して関数呼び出して
なんらかのreturnをもらう
2021/06/01(火) 19:58:27.20ID:2Y9mkBUH
SQL.execute
のような文でも呼び出してる
SQLオブジェクトがexecuteしてる
のような文でも呼び出してる
SQLオブジェクトがexecuteしてる
78デフォルトの名無しさん
2021/06/01(火) 21:19:37.61ID:efqhq7n9 コンピューターとしてはCPU内のデータの移動、データの入れ替えだけど、アメリカ人がコールと呼んだから、呼び出しになっているだけ。
2021/06/02(水) 12:29:44.79ID:DADYKp1n
callは要求とか命令みたいな意味もあるし他者(外部)の存在が意識される
executeは自分で実行するイメージが強いからsystem callはいいけどsystem executionだと違和感がある
混乱が生じてるなら「呼び出し」がcallの訳語として不適切なんだろう
executeは自分で実行するイメージが強いからsystem callはいいけどsystem executionだと違和感がある
混乱が生じてるなら「呼び出し」がcallの訳語として不適切なんだろう
2021/06/02(水) 20:13:19.93ID:Oa9Zr9hk
2021/06/02(水) 20:27:42.23ID:PfB9ScmQ
2021/06/02(水) 20:38:36.79ID:RfLE0/Hl
83デフォルトの名無しさん
2021/06/02(水) 20:52:26.40ID:SnBKv6wO 内部でキューイングしてるだけだろ
やってることは赤紙による強制執行だろうが
やってることは赤紙による強制執行だろうが
84デフォルトの名無しさん
2021/06/02(水) 20:54:00.37ID:SnBKv6wO WebAPIさえ呼び出しと呼ばれるんだからアクターだろうがなんだろうが
何らかの命令が実行されるなら呼び出しなんだよ
何らかの命令が実行されるなら呼び出しなんだよ
85デフォルトの名無しさん
2021/06/02(水) 20:55:00.97ID:SnBKv6wO アクターが特別だと思うな、ただのオブジェクトただのメソッドだろうが
メソッドを使わずにアクターを実装できるんけ? あ? そこんとこよろしく!
メソッドを使わずにアクターを実装できるんけ? あ? そこんとこよろしく!
2021/06/02(水) 21:00:04.49ID:RfLE0/Hl
そうとしか思えないならそう
思ってたらいい
別物とわかってたら便利に利用できるのに
思ってたらいい
別物とわかってたら便利に利用できるのに
2021/06/02(水) 21:29:43.25ID:eT2sWM4E
88デフォルトの名無しさん
2021/06/02(水) 21:34:39.23ID:SnBKv6wO >>87
やってみろよ、おん?
やってみろよ、おん?
89デフォルトの名無しさん
2021/06/02(水) 21:34:53.43ID:SnBKv6wO ちなみに言語はJavaな
90デフォルトの名無しさん
2021/06/02(水) 21:35:46.73ID:SnBKv6wO >>86
同じものだから、別物と思えるのならオブジェクト指向の理解が浅いだけ
同じものだから、別物と思えるのならオブジェクト指向の理解が浅いだけ
91デフォルトの名無しさん
2021/06/03(木) 07:36:37.70ID:xk+QgXES しつこい
2021/06/03(木) 08:46:43.91ID:ZI8vcUaN
そもそもアクターモデルのプログラム言語て存在したっけ?
2021/06/03(木) 09:56:18.57ID:+ckkiaxk
ggrks
2021/06/03(木) 12:51:32.78ID:ZI8vcUaN
2021/06/06(日) 16:55:40.37ID:vQVSsWXH
単発質問でスレ立てる >>1 が悪い
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国国営メディア「沖縄は日本ではない」… ★6 [BFU★]
- 高市政権にパイプ役不在…日中高まる緊張 公明党の連立離脱影響、自民内にも懸念「自分でまいた種は自分で刈り取ってもらわないと」★2 [ぐれ★]
- 【速報】 日経平均の下落率3%超す、財政懸念で長期金利上昇 [お断り★]
- ナイツ塙が指摘のローソンコーヒーカップ、ロゴ「L」で誤解生みデザイン変更へ 在庫使い切る3か月後にリニューアル [muffin★]
- 【速報】 高市政権、「日本版DOGE」を立ち上げ 米国で歳出削減をした「政府効率化省(DOGE)」になぞらえたもの [お断り★]
- 清涼飲料水から麻薬成分東京都が注意喚起 [おっさん友の会★]
- 生活保護廃止、公務員の給与に最低賃金を適用⇦これをやるだけで国民の9割の不満が解消されるのにやらない理由 [218488394]
- 【悲報】早速高市首相のせいで全国の民泊でキャンセルラッシュwwwwwwwwwwww 経営者も嘆き「こんな事は初めてだ…」😲 [871926377]
- 【動画】男女混合レスリングのガチ試合の様子がこちら [738130642]
- 中国「高市が謝罪撤回しないとこれ全部なくなるけどどうする?」 [931948549]
- 【日刊】暇空茜、また敗訴🥸 [359965264]
- 台湾政党が高市首相「存立危機事態」発言に感謝の書簡「我々の心を強く奮い立たせるものでした」 [834922174]
