What is the sense of using word "argument", for inputs of a function?

In computer jargon, we refer to "inputs of a function" as "arguments". I was wondering what the sense is in doing so.


From the Wiktionary entry for argument...

Etymology:
From Middle English, from Anglo-Norman, from Old French,
from Latin argumentum (“proof, evidence, token, subject, contents”)


In which context it's worth noting Wiktionary definition #7

(programming) A parameter in a function definition; an actual parameter, as opposed to a formal parameter.

Effectively, the argument is the contents/value of a specific actual parameter as passed, rather than the name of the variable carrying the passed value into the function.


The computing use comes directly from mathematics, where, according to the OED, it is:

Math. and Computing. An independent variable of a function (e.g. x and y in z = f(x, y)).

Their first use in maths:

1865 W. T. Brande & G. W. Cox Dict. Sci., Lit. & Art I. 768 Any trigonometrical function of ϕ is termed an elliptic function, having the argument u and modulus k.

This meaning can be traced back to an earlier sense:

2. Astron. and Math. The angle, arc, or other mathematical quantity, from which another required quantity may be deduced, or on which its calculation depends.

It's first recorded in Chaucer around 1400. The third sense (also first recorded in the same Chaucer) is:

3. A statement or fact advanced for the purpose of influencing the mind; a reason urged in support of a proposition; spec. in Logic, the middle term in a syllogism. Also fig.

And for good measure, the first sense is:

  1. Proof, evidence, manifestation, token. (Passing from clear proof in early, to proof presumptive in later usage; cf. argue v. 3) arch.

There are some eight various senses altogether.

So, an argument is a fact or something that drives forward reasoning, or the output of a calculation, a mathematical function or computing function.


BTW, I feel this question would be more aptly asked in the Programmer's/Software engineering forum.

Who used it first - Mathematics or Linguistics?

Regardless of precedence, the use of the term argument certainly was inherited directly from computer science linguistics, which was both a significant benefactor and beneficiary to the field of linguistics.

An argument is a token that forms part of the syntax tree.

When computational linguists (mathematician Admiral Grace Hopper being a well-known one) design or analyse a computational language, they would construct a syntax tree. And guess what ... the term argument would be part of their consideration, wouldn't it?

Grace Hopper being a pioneer in the field of computational linguistics must have contributed significantly to the prevalent use of the term argument in computer programming, as we are well aware she had also given us the term debugging.

Since she was a mathematician, she would have leaned heavily on the meaning of arguments in Mathematics.

Avram Noam Chomsky introduced Phrase-Structural Analysis into linguistics. According to the Wikipedia article on him, he made major contributions to analytic philosophy, and "His work has influenced fields such as artificial intelligence, cognitive science, computer science, logic, mathematics, music theory and analysis, political science, programming language theory and psychology."

I would liken an argument in a syntax tree to a child node to a predicate node.

As example of arguments, while outmoded "Sauserrean" structured grammarians use the term transitive verbs, phrase-structural linguists use the more flexible term valency of a verb. Where, the valency of a verb is the number of arguments a verb would take, as explained in my (less than precise) argument at The subject is after the verb in this sentence?, where I confuse the use of arguments vs adjuncts.

I am sure the precision of my historical account of linguistics is left to desire, as it merely points to the areas of historical research. However, I believe it is accurate in pointing out that the use of the term argument has direct genealogy from computational linguistics which descended from structural analysis in Linguistics, which in turn cross contributed with Mathematics and Philosophy,