Por que os parâmetros reais são chamados de "argumentos"?


44

De onde vem a palavra "argumento" (no sentido de programação)?
Por que os parâmetros reais são chamados de "argumentos"?

Os significados não parecem relacionados, e eu não encontrei nenhuma explicação sobre isso em nenhum lugar.


Nota sobre a terminologia:

  • Parâmetros "formais" (também conhecidos simplesmente como "parâmetros") são os nomes de "espaço reservado" (digamos x) - os parâmetros declarados de uma função.

  • Parâmetros "reais" (também conhecidos como "argumentos") são os valores reais que são passados para uma função (digamos 5), portanto, usei esse termo acima para evitar qualquer confusão.


1
parâmetros significa a declaração, argumentos e valores usados.
Bummi

17
Vem da matemática. Obviamente, a próxima pergunta é "então de onde o termo se originou na matemática?"
Anthony Pegram 07/02

1
Esta questão está sendo discutida aqui .
Robert Harvey

1
Apenas uma observação sobre a edição, coloquei a palavra "real" para distingui-los dos parâmetros "formais". Caso contrário, haverá um milhão de pessoas pensando que eu não entendi a diferença, que tentarão responder à pergunta errada.
Mehrdad 07/02

5
Penso que uma pergunta melhor seria: Por que os argumentos são chamados de "parâmetros reais"? Esse negócio de parâmetro formal / real parece ter sido criado por alguém que não sabia que o nome para "parâmetro real" é argumento .
Caleb

Respostas:


40

O termo foi adotado pelos cientistas da computação quando aplicaram o raciocínio matemático à programação em meados do século XX.

A palavra argumento tem o sentido geral de algo do qual outra coisa pode ser deduzida . Vem do L. argumentere “esclarecer, dar a conhecer, provar, declarar, demonstrar”, da PIE * argument-yo- , da raiz * arg- “brilhar, ser branco, brilhante, claro” ', qual raiz também é preservado nas palavras argent ("branco prateado") e Argentina ("[rio] de prata"). ¹

Seu uso em inglês para significar uma " quantidade matemática da qual outra ... quantidade pode ser deduzida ou da qual depende seu cálculo " é atestada desde 1386:

Argumento (ā · ɹgi u měnt). [uma. F. argumento (13a c.), Ad. L. argūment-um , f. argumentěre (ou remodelando, depois disso, OF. argument , f. arguer ): veja A RGUE . Para uso da forma L., consulte 3 c.]
2 . Astr. e matemática. O ângulo, arco ou outra quantidade matemática, da qual outra quantidade necessária pode ser deduzida ou da qual seu cálculo depende.
c 1386 C HAUCER Frankl. T. 549 Hise othere geeris, Como tem sido seus centris e hise Argumentz.
c 1391 - Astrol.xliv. 54 Conhecer o mene mote e os argumentos de qualquer planeta.
1796 H UTTON Math. Dict. I. 141/2 Argumento anual do apogeu da lua. . é a distância do lugar do sol ao lugar do apogeu da lua.
1879 T HOMPSON & T AIT Nat. Phil. I. 1. § 54 Um arco do círculo referido. . é o argumento do movimento harmônico. ²


42

Segundo o Wikcionário , a palavra latina de origem era argumentum, que também significa "token". Então você pode ver facilmente como esse termo foi usado em matemática, a maioria dos textos escritos em latim por um longo tempo.

Muitos termos usados ​​em matemática, particularmente em torno de funções, se espalham naturalmente para a programação.


Uau, +1 para a referência - as outras definições também são úteis: assunto, conteúdo.
Mehrdad 07/02

7
A palavra argumentum não significa "token", não no sentido usado em matemática e ciência da computação (um símbolo). Nesse contexto, token significa "evidência" (literalmente "uma exibição"), como você pode vê-lo em frases como "um pequeno token da minha estima" ou "deu à proposta apenas suporte ao token ".
MetaEd

2
@ MετάEd "Algo que serve como indicação, prova ou expressão de outra coisa" - não vejo como o usei de outra maneira. Eu gosto da sua resposta embora. +1 para isso.
pdr

@ pdr Oh, não estou criticando o uso da palavra. Sua resposta recebeu meu +1. Eu apenas vejo a possibilidade de confusão porque o token é muito usado na programação em um sentido técnico que significa "símbolo".
MetaEd

13

Isso remonta à mecânica celeste nos dias pré-cálculo. Órbitas, arcos, acordes, seio, periapsia e assim por diante.

O termo "argumento" foi usado desde que eu não sei há quanto tempo, mas está descrito no livro "Um dicionário filosófico e matemático, contendo uma explicação dos termos e um relato dos vários assuntos, compreendidos sob as cabeças matemática, astronomia e filosofia, tanto naturais quanto experimentais ... também memórias das vidas e escritos dos autores mais eminentes, antigos e modernos "(esse não é o título completo) publicado em 1815 por Charles Hutton, 1737-1823.

Trecho definindo "argumento" do livro de Hutton

(trecho extraído do Google Livros)

O "argumento" era um ângulo de algum tipo. Exatamente como esse termo surgiu, ainda não o encontrei. Em algum momento da história da ciência, os astrônomos perceberam que o seio e o cosseno, até agora conhecidos apenas como construções geométricas associadas a linhas e elipses, podiam ser considerados funções do argumento. "Função" era um novo conceito naquela época. A notação f (x) foi inventada por volta do início dos anos 1700.

Naturalmente, os astrônomos pensavam "sinus do argumento da periapsia" == "sin (ω)" e mais tarde, quando mais funções foram consideradas úteis, qualquer "f (x)" passou a ser pensado como "função f de argumento x ". Mesmo se x não fosse um ângulo. Matemáticos de todos os tipos e sabores passaram a usar essa terminologia em geral.

Em meados do século 20, era natural que os cientistas da computação emprestassem a mesma terminologia para sua idéia diferente, mas semelhante, de uma função como uma sub-rotina que recebesse qualquer número de valores de entrada.

(Esse é um daqueles tópicos incomuns, mais fáceis de encontrar em uma biblioteca universitária do que na internet.)


4
"O" argumento "era um ângulo de algum tipo". Ah, você está se referindo à função ("arg") ?
Mehrdad

3
@Mehrdad e desta forma fizemos um círculo completo (trocadilho intencional) :)
BarbaraKwarc
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.