上手く伝わる自信がないんだけど、
呼び出しって言葉にはどういう意味があるの?
例えば、手続き実行とは言わずになんで呼び出しなの?
メソッドは実行?
実行時にメモリ空間上に常駐させるから呼び出し?
なんか概念の話ではなく、言語仕様の話なの?
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等)は呼び出しとは言わないしね
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「1800万円の売り上げゼロに…」中国インバウンドに特化の宿の今 [蚤の市★]
- 「中国人の訪日熱は冷めた」 人気旅行先から日本外れる 14日で自粛呼びかけ1カ月 [蚤の市★]
- クリスマスの「予定なし」54% [少考さん★]
- 【話題】好きな鍋は?! 「寄せ鍋」「キムチ鍋」「水炊き」「もつ鍋」「豆乳鍋」「ちゃんこ鍋」「ごま坦々鍋」「トマト鍋」 [ひぃぃ★]
- 【STARTO ENTERTAINMENT】SUPER EIGHTの横山裕、フジ『ドッキリGP』ロケで全治2ヶ月の重傷 [Ailuropoda melanoleuca★]
- 地震 [Hitzeschleier★]
- 【実況】博衣こよりのえちえち機動戦士ガンダム逆襲のシャア🧪
- 【実況】博衣こよりのえちえち機動戦士ガンダム逆襲のシャア🧪★2
- 茶ぁしばこうや···
- J( 'ー`)し「で、アンタなんで働かないの?」 ワイ👶「理由は2つありまして~」🏡
- おさかなさんあつまれえ
- 【動画】全盛期マイク・タイソンのパンチ、思ったよりスローでケンモメンでもギリ避けられそう [738130642]
