実引数、仮引数。ParameterとArgument

TL;DR

発端はこれ。

これを正しい、間違っているという気はなくて、自分は逆に覚えていたので言語によって呼び方が違うのか? そもそもParameterとArgumentの違いってなんだろう?コンピューターサイエンスの世界では明確に区別しているのだろうか?と気になったので雑に調べたメモを残しておく。

調べたメモその1

2016年に書かれたブログ。 タイトルがズバリ知りたい内容だったので一読してみた。

hhsprings.pinoko.jp

なるほどなるほど〜と読んでいて、あ、これが正解じゃない?となったのが次の一文。

parameter は、もともとは数学での「媒介変数、助変数」。仮置きする変数、なのよね。

数学的にParameterと表記する際はどうやら仮置する変数として使われる、とのこと。 この出典元については記載がなかったが、体感と一致しておりなんとなく納得感があった。 が、さすがに学術的な裏付けではないのでもう少しだけ調べてみることにした。

調べたメモその2

次に見つけたのが京都産業大学の仮引数と実引数というページ。(どうでもいいけどいつまでHTTPなんだろう?と気になった) 対象言語はC言語だが、

プログラミング用語に,仮引数(parameter)と実引数(argument)という言葉がある.それについて解説する

とズバリな内容を記載してくれている。

www.cc.kyoto-su.ac.jp

仮引数とは関数定義時に使用される引数のことである。 実引数とはその関数を実際に使用するときに関数に引き渡される引数のことである

とあるので、仮引数はParameter、実引数がArgumentであると述べられている。 さすがに最高学府が公開している内容が誤っているわけではなかろうと考えたため、この時点で調査を終了とした。

まとめ

実引数はArgument、仮引数はParameterが言語に関わらずコンピューターサイエンス的には正しそうだと理解をした。 ちょっとした疑問だったがクイズを問いてるような感覚で楽しかったのでログとしてこの場に残す。 もし間違っていたら指摘してほしい、かなり雑に調べてふむふむと納得した内容なので正直自信はない。