Почему фактические параметры называются «аргументами»?


44

Откуда происходит слово «аргумент» (в смысле программирования)?
т.е. почему фактические параметры называются «аргументами»?

Значения не кажутся связанными, и я нигде не нашел объяснения этому.


Примечание по терминологии:

  • «Формальные» параметры (также известные просто как «параметры») - это имена «местозаполнителей» (скажем, x) - объявленные параметры функции.

  • «Фактические» параметры (также известные как «аргументы») являются фактическими значениями, которые передаются функции (скажем, 5), поэтому я использовал этот термин выше, чтобы избежать путаницы.


1
Параметр означает объявление, аргументы и используемые значения.
Бумми

17
Это происходит от математики. Очевидно, что следующий вопрос: «Так откуда этот термин возник в математике?»
Энтони Пеграм,

1
Этот вопрос обсуждается здесь .
Роберт Харви

1
Просто примечание относительно редактирования, я поместил слово «фактический» там, чтобы отличить их от «формальных» параметров. Иначе миллионы людей, которые подумают, что я не понимаю разницы, попытаются ответить не на тот вопрос.
Мердад

5
Я думаю, что лучший вопрос был бы: почему аргументы называют «фактическими параметрами»? Этот бизнес формальных / фактических параметров, похоже, был создан кем-то, кто не знал, что название «фактического параметра» является аргументом .
Калеб

Ответы:


40

Термин был принят компьютерными учеными, когда они применили математическое мышление к программированию в середине 20-го века.

Слово « аргумент» имеет общий смысл чего-то, из чего может быть выведена другая вещь . Это происходит от L. arguere « проясни , сделай известным, докажи, заявь, продемонстрируй», от PIE * arguments-yo- , от root * arg- «сиять, быть белым, ярким, ясным» », корень которого также сохраняется в словах argent («серебристо-белый») и Argentina («[река] из серебра»). ¹

Его использование в английском языке означает в « математическое количество , от которого другое ... количество может быть выведены, или на котором его расчет зависит » засвидетельствовано еще в 1386:

Аргумент (· · ɹgi u měnt). [а. Ф. аргумент (13 в.), Объявление. Л. Аргумент-ум , ф. Аргумент (или перефразирование, после этого, О.Ф. Аргумент , е. Аргумент ): см. РГУ . Об использовании формы L. см. 3 c.]
2 . Astr. и математика. Угол, дуга или другая математическая величина, из которой может быть выведена другая необходимая величина или от которой зависит ее расчет.
c 1386 C HAUCER Frankl. T. 549 Hise Oter Geeris, Как был его Centris и Hise Argumentz.
c 1391 - Astrol.XLIV. 54 Знать суть и суть любой планеты.
1796 H UTTON Math. Dict. I. 141/2 Ежегодный аргумент апогея Луны. , расстояние от места солнца до места апогея луны.
1879 T HOMPSON & T AIT Nat. Фил. I. 1. § 54 Дуга окружности, о которой идет речь. , является аргументом гармонического движения. ²


42

Согласно Викисловарю , латинское слово было названо аргументум, что также означает «жетон». Таким образом, вы можете легко увидеть, как этот термин использовался в математике, большинство текстов которой были написаны на латыни в течение длительного времени.

Многие термины, используемые в математике, особенно в отношении функций, естественно распространяются на программирование.


Ничего себе, +1 для справки - другие определения также полезны: предмет, содержание.
Мердад

7
Слово аргументум не означает «знак», не в том смысле, в каком оно используется в математике и информатике (символ). В этом контексте токен означает «доказательство» (буквально «показ»), как вы могли бы увидеть в таких фразах, как «маленький знак моего уважения» или « поддержал предложение только в качестве маркера ».
MetaEd

2
@ MετάEd «Что-то, что служит указанием, доказательством или выражением чего-то другого» - я не понимаю, как я использовал это каким-либо другим способом. Мне нравится ваш ответ, хотя. +1 за это.
фунтовые

@pdr О, я не критикую твоё использование слова. Ваш ответ получил мой +1. Я просто вижу возможность путаницы, потому что токен часто используется в программировании в техническом смысле, означающем «символ».
MetaEd

13

Это восходит к небесной механике в дни до исчисления. Орбиты, дуги, хорды, пазухи, периапсис и т. Д.

Термин «аргумент» использовался, так как я не знаю, как давно, но он описан в книге «Философско-математический словарь, содержащий объяснение терминов и описание нескольких предметов, составленное под заголовками математика, астрономия и философия, как естественные, так и экспериментальные ... также воспоминания о жизни и трудах самых выдающихся авторов, как древних, так и современных »(это еще не весь заголовок), опубликованные в 1815 году Чарльзом Хаттоном, 1737-1823.

Отрывок, определяющий «аргумент» из книги Хаттона

(выдержка из Google Книг)

«Аргумент» был своего рода углом зрения. Как именно появился этот термин, я пока не нашел. В какой-то момент в истории науки астрономы поняли, что синус и косинус, будучи до сих пор известными только как геометрические конструкции, связанные с линиями и эллипсами, можно рассматривать как функции аргумента. «Функция» была новой концепцией в те времена. Обозначение f (x) было изобретено в начале 1700-х годов.

Естественно, астрономы думали «синус аргумента периапсиса» == «грех (ω)», и позже, когда было обнаружено, что больше функций было полезно, любой «f (x)» стал восприниматься как «функция f аргумент х ". Даже если х не было углом. Математики всех вкусов и мастей стали использовать такую ​​терминологию в целом.

В середине 20-го века для компьютерных ученых было естественным заимствовать одну и ту же терминологию для их различного, но похожего представления о функции в качестве подпрограммы, принимающей любое количество входных значений.

(Это одна из тех необычных тем, ответы на которые легче найти в затхлой университетской библиотеке, чем в Интернете.)


4
«Аргумент» был своего рода углом зрения ». О, вы имеете в виду на функции ( «агд») ?
Мердад

3
@Mehrdad и таким образом мы сделали полный круг (каламбур):
BarbaraKwarc
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.