関数を「呼び出す」という概念はどこから来たのですか?


17

たとえば、実行するのではなく、なぜ関数を呼び出すのか疑問に思っていました。

Googleでの検索function call etymologyや類似の用語は有用ではありません。ウィキペディアでは言及されていません。オンライン辞書にはエントリがまったくない、語源セクションがありません

関数を「呼び出す」という概念はどこから来たのですか?


引数を処理するためのさまざまなセマンティクス-値による呼び出し、参照による呼び出し、名前による呼び出しなどに由来する可能性が高い。数学では、引数に関数を適用します。関数と呼ぶものはほとんどの場合、手続き/サブルーチンです(数学関数には副作用がないため)。
ドーバル14

@Doval:はい、しかし、なぜ「procedure call」で別の動詞の代わりにまさに「call」を使用しますか?
FrustratedWithFormsDesigner

2
@FrustratedWithFormsDesigner手掛かりはありませんが、歴史的に意味をなさない「関数呼び出し」よりも「サブルーチン呼び出し」または「プロシージャ呼び出し」の起源を見つけようとする方が幸運だと思いました。私はコメントが質問に答えないことを理解していますが、それがまさにコメントであり、答えではない理由です。
ドーバル14

2
ラムダ計算では、関数を適用します(ラムダ演算子は抽象化を行います)。一部の言語では、関数の呼び出しではなく呼び出しを説明しています。
バジルStarynkevitch 14

2
アセンブリ言語の一部の方言(x86アセンブリなど)では、オペコードに名前が付けられcallているretか、そのバリアントが使用されています。プログラミング言語が基礎となるハードウェアから用語を継承した可能性がありますが、それでもハードウェア設計者が操作のためにこれらの名前を選択した理由については疑問が残ります。
デビッドコンラッド14

回答:


15

単語呼び出しは、少なくとも最初に広く使用されているプログラミング言語であるFortranにまで遡ります。Fortranでは、CALLあるサブルーチンに制御を渡しキーワードジョン・バッカスがサブルーチンを呼び出すためにその単語を選んだ理由は明らかではありません-あなたはそれを発見するためにバッカスの1つ以上の伝記を読む必要があるかもしれません-しかし、Fortranでの使用が今日の単語呼び出しを使用する理由であると思われます関数、メソッドなどを尊重する

使用ことに注意してくださいコール機能や他のサブルーチンに関しては、いくつかの英語とよく合うの定義コール

  • 短い訪問をする
  • 何かを要求する
  • 寝かせる
  • 招待する

3
OPは、最初にCALLを行う理由を知りたいと考えています。
Tulainsコルドバ

5
デビッド・ウィーラーの1952 ACM紙は、プログラムでサブルーチンの使用は、概念を説明し、私は、との外観の間で進化用語「呼び出し」の使用賭けるだろうCALLRETURN、それが使用されなかった場合、1958年にFORTRAN IIでの論文自体に。(私はACMに15ドル払って調べるには安すぎます。)
Blrfl 14

2
@Timo用語の起源を指摘することはできませんが、この回答の私の目標は、そのポイントに近づけることです。CALLFortran(1954年に作成された)でこのコンテキストに現れることがわかっていると、原点の検索が大幅に絞り込まれます。上記のBlrflのコメントは、初期段階では適切に見えるため、この用語が使用されるようになった期間を数年にまとめました。
カレブ14

2
@Caleb: CALLFORTRANの最初のバージョンの一部ではありませんでした。IBM Fortran IIリファレンスマニュアルの 1ページを参照してください。
Blrfl 14

2
@Blrfl私は論文をざっと読みましたが、この用語callや他の用語は使用していませんuse of。ほとんどの場合はサブルーチンについてだけ話しています。
ラースヴィクルンド14
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.