Where does the word “argument” (in the programming sense) come from?
i.e. Why are actual parameters called “arguments”?
The meanings don’t seem related, and I haven’t found any explanation of it anywhere.
Note on the terminology:
-
“Formal” parameters (also known simply as “parameters”) are the “placeholder” names (say,
x
) — the declared parameters of a function. -
“Actual” parameters (also known as “arguments”) are the actual values which are passed to a function (say,
5
), hence I used this term above to prevent any confusion.
7
The term was adopted by computer scientists when they applied mathematical reasoning to programming in the mid 20th century.
The word argument has the general sense of something from which another thing may be deduced. It comes ‘from the L. arguere “make clear, make known, prove, declare, demonstrate,” from PIE *argu-yo-, from root *arg- “to shine, be white, bright, clear” ’, which root is also preserved in the words argent (“silvery white”) and Argentina (“[river] of silver”).¹
Its use in English to mean a “mathematical quantity from which another … quantity may be deduced, or on which its calculation depends” is attested as early as 1386:
Argument (ā·ɹgiuměnt). [a. F. argument (13th c.), ad. L. argūment-um, f. arguěre (or refashioning, after this, of OF. arguement, f. arguer): see ARGUE. For use of the L. form, see 3 c.]
2. Astr. and Math. The angle, arc, or other mathematical quantity, from which another required quantity may deduced, or on which its calculation depends.
c 1386 CHAUCER Frankl. T. 549 Hise othere geeris, As been his centris and hise Argumentz.
c 1391 — Astrol. xliv. 54 To knowe the mene mote and the argumentis of any planete.
1796 HUTTON Math. Dict. I. 141/2 Annual argument of the moon’s apogee . . is the distance of the sun’s place from the place of the moon’s apogee.
1879 THOMPSON & TAIT Nat. Phil. I. 1. § 54 An arc of the circle referred to . . is the Argument of the harmonic motion.²
According to Wiktionary, the originating Latin word was argumentum, which also means “token”. So you can see pretty easily how that term got used in mathematics, most of the texts of which were written in Latin for a long time.
A lot of terms used in mathematics, particularly around functions, naturally spread to programming.
4
This goes back to celestial mechanics in the pre-calculus days. Orbits, arcs, chords, sinus, periapsis, and so on.
The term “argument” was used since I don’t know how long ago, but it is described in the book “A philosophical and mathematical dictionary, containing an explanation of the terms, and an account of the several subjects, comprised under the heads mathemetics, astronomy, and philosophy both natural and experimental … also memoirs of the lives and writings of the most eminent authors, both ancient and modern” (that’s not the entire title) published in 1815 by Charles Hutton, 1737-1823.
(excerpt taken from Google Books)
The “argument” was an angle of some sort. Exactly how that term came to be, I haven’t found yet. At some point in science history, the astronomers realized that the sinus and cosinus, being thus far known only as geometric constructs associated with lines and ellipses, could be thought of as functions of the argument. “Function” was a new concept back in those days. The notation f(x) had been invented around the early 1700s.
Naturally, astronomers were thinking “sinus of the argument of the periapsis” == “sin(ω)” and later as more functions were found to be useful, any “f(x)” came to be thought of as “function f of argument x”. Even if x wasn’t an angle. Mathematicians of all flavors and stripes came to use such terminology in general.
In the mid 20th Century, it was only natural for computer scientists to borrow the same terminology for their different but similar idea of a function as a subroutine taking any number of input values.
(This is one of those unusual topics that is easier to dig up answers for in a musty university library, than on the internet.)
2