なぜ引数はArgumentと呼ばれるのか

背景:引数とは

プログラマにとっては当たり前の知識ですが、関数(メソッド)へ呼び出し元から渡してあげる変数のことを引数といいます。

例えば、足し算する関数を呼び出す際には、AとBを足し算した結果をくださいな、という要領でAとBを引数として渡して、その答えを関数から渡してもらうことになります。

 

問題:引数とは英語でArgument

引数は、英語ではArgumentと呼ばれます。

プログラミングを初めて3年ほどになりますが、引数とArgumentという言葉が同じものを指すのか、と疑問に思いました。

WeblioによるとArgumentは高校2年生あたりで学習する単語のようです。

ejje.weblio.jp

 

上のリンクにでは、主な意味として「(事実や論理をもとにして行なう)議論、論争、口論、議論、主張、言い争い、(賛否の)論、論拠、論点、言い分」とあります。

どうして、このArgumentという単語が引数のことを指すのでしょうか。

議論?主張?引数の役割に当てはまるとは思えないのですが。。。

 

結論:Argumentの原義

Weblioでは「引数」という意味はコンピューター用語辞典を出店にする箇所で記載されていました。

以下、引用です。

argument

 

原義は「論拠」とあります。

なるほど、私の知っていた意味は原義の派生であったわけですね。

そうすると、関数が何かしらの処理をする「論拠」としてArgumentはしっくりきます。

Weblioが掲載している出典がどれほど正しいかはわかりませんが、なんともするりと納得してしまいました。

満足してしまって深く語源を調べる気になれないので、次の機会にします。

 

余談:言語の観点の違い

日本語の「引数」は、「引く」という漢字から「引用」、「引き渡す」という印象があります。つまり、関数を呼び出す側から見た言葉遣いに思えます。

英語の「Argument」は、「論拠」、「他の量を導出するもとになる量」と考えると、関数が戻してくれる値のことや、関数そのものの根拠となるものという印象を受けます。こちらは呼び出し側よりも、関数から見た言葉遣いのように私には感じられました。

自然言語はそのコミュニティの文化、社会を如実に表していますが、プログラミング用語でこういった文化の違いを発見したのは今回が初めてでした。

調べてみてよかったと思えた疑問でした。