Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

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.

share|improve this question
1  
parameters means the declaration, arguments then values used. –  bummi Feb 7 '13 at 19:36
13  
It comes from math. Obviously, the next question is "so where did the term originate in math?" –  Anthony Pegram Feb 7 '13 at 19:38
1  
This question is being discussed here. –  Robert Harvey Feb 7 '13 at 20:03
1  
Just a note regarding the edit, I put the word "actual" in there to distinguish them from "formal" parameters. Otherwise there are going to be a million people thinking I didn't understand the difference, who will try to answer the wrong question. –  Mehrdad Feb 7 '13 at 21:18
2  
I think a better question would be: Why are arguments called "actual parameters"? This formal/actual parameter business seems to have been made up by someone who didn't know that the name for "actual parameter" is argument. –  William Shakespeare Feb 7 '13 at 22:29

3 Answers 3

up vote 26 down vote accepted

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 amathematical quantity from which anotherquantity 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 1391Astrol. 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.²

share|improve this answer

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.

share|improve this answer
    
Wow, +1 for the reference -- the other definitions are helpful as well: subject, contents. –  Mehrdad Feb 7 '13 at 21:52
3  
The word argumentum does not mean “token”, not in the sense used in mathematics and computer science (a symbol). In this context, token means “evidence” (literally “a showing”), as you might see it in phrases such as “a small token of my esteem” or “gave the proposal only token support”. –  MετάEd Feb 8 '13 at 0:40
2  
@MετάEd "Something serving as an indication, proof, or expression of something else" - I don't see how I've used it any other way. I like your answer though. +1 for that. –  pdr Feb 8 '13 at 11:38
    
@pdr Oh, I'm not criticizing your use of the word. Your answer got my +1. I just see the possibility of confusion because token is used a lot in programming in a technical sense meaning “symbol”. –  MετάEd Feb 8 '13 at 14:46

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 defining "argument" from Hutton's book

(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.)

share|improve this answer
2  
"The "argument" was an angle of some sort." Oh, are you referring to the ("arg") function? –  Mehrdad Feb 8 '13 at 6:44

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.