номер
Это определения, поэтому они могут быть любыми. Ваша ошибка - попытка найти семантическую ссылку в слове program
, где ее нет. Они, как вы заметили, не связаны.
То, что они говорят, это «так мы используем этот термин»; в принципе нет ничего плохого в выборе любого термина, если определения согласуются. foo
, bar
и baz
были бы такими же правильными, как и program instantiation
. Пока имена внутренне непротиворечивы, а определения верны, имена могут быть любыми. Они просто ярлыки.
Кто-то в Microsoft, очевидно, считал, что более важно, чтобы термин program instantiation
был отражен в его обычном использовании. Термин program
, вероятно, не получил такого же обращения, но, опять же, они просто имена. И названия «атомарные»: слово program
вовсе не связано с термином program instantiation
.
Поскольку они являются просто ярлыками, их термины можно заменить на что угодно. Одна из возможностей:
X
= ввод в компилятор.
Y
= сборка с точкой входа
Z
= исполнение Y
.
Замена любого из имен чем-либо другим не имеет значения в их использовании.
Если я заменю приведенное выше определение Z
новым термином XY
:
XY
= исполнение Y
это все еще сохраняется. Это просто ярлык, он получает семантическое содержание из определения, а не от его имени. XY
не имеет семантической связи с X
, а его отношение к Y
является лишь случайным.
Когда вы читаете определения вещей, особенно технические спецификации, важно помнить об этом. Часто не существует лучшего термина для чего-либо, поскольку часто существует несколько общих терминов для одной и той же вещи, и они не всегда определены достаточно строго, чтобы иметь смысл в точной спецификации.
Существует целая ветвь философии , посвященная таким вопросам, и вызывающая «конфликт» в том смысле, в котором вы цитируете, в значительной степени неизбежна.
Автор спецификации C # сделал свой выбор, и пока он внутренне непротиворечив, он «правильный».