Відповіді:
"Будівництво" - досить загальний термін, і воно може посилатися на все, що потрібно, щоб перейти від редагованих вихідних матеріалів (вихідний код, сценарії, файли даних із сировиною тощо) до програмного продукту, який можна відвантажувати. Побудова може (і зазвичай це стосується) декількох етапів, таких як попередня обробка, збирання, з'єднання, перетворення файлів даних, запуск автоматизованих тестів, упаковка тощо.
"Компілювання" є більш конкретним і майже незмінно відноситься до процесу, який бере вихідний код як свій вхід і виводить щось запущене, як правило, машинний код для фізичної або віртуальної машини або вихідний код іншою мовою.
Ці терміни часто використовуються як взаємозамінні, але я б диференціював їх наступним чином:
Таким чином, складання - це дійсно підмножина побудови.
Компіляція проводиться компілятором, збірка може бути складнішим процесом.
Напр. в C ++ для складання проекту вам потрібен препроцесор (попередня обробка вихідних файлів); компілятор (компіляція вихідних файлів); Linker (об'єднання всього у виконуваний файл - компільований код, піктограми, рядки та інші ресурси разом)
Тому зазвичай компіляція - це переклад коду, написаного однією мовою на іншу (наприклад, машинний код).