The ключова різниця між джерельною програмою та об'єктною програмою є те, що Джерельна програма - це читана людиною програма, написана програмістом, тоді як об'єктна програма - це машинно виконується програма, створена компіляцією вихідної програми.
Вихідні програми можуть бути складені або інтерпретовані для виконання. Декомпілятори допомагають конвертувати об'єктні програми назад у вихідні програми. Важливо зазначити, що терміни вихідна програма та об'єктна програма використовуються як відносні терміни. Якщо ви берете програму перетворення програм (наприклад, компілятор), то входить вихідна програма, а виходить об'єктна програма. Тому об’єктна програма, вироблена одним інструментом, може стати вихідним файлом для іншого інструменту.
1. Огляд та ключові відмінності
2. Що таке джерельна програма
3. Що таке об’єктна програма
4. Порівняльне порівняння - Програма-джерело та Об'єктна програма у табличній формі
5. Підсумок
Програміст записує вихідну програму, використовуючи мову вищого рівня. Тому людина легко читається. Програмні джерела зазвичай містять змістовні назви змінних та корисні коментарі, щоб зробити його більш читабельним. Машина не може безпосередньо виконати вихідну програму. Компілятор допомагає перетворити вихідну програму у виконуваний код, виконаний машиною. Як варіант, це використовувати перекладача. Він виконує вихідну програму рядок за рядком без попередньої компіляції.
Малюнок 01: Джерельна програма
Visual Basic - приклад компільованої мови, тоді як Java - приклад інтерпретованої мови. Вихідні файли Visual Basic (.vb файли) компілюються у .exe-код, тоді як вихідні файли Java (файли .java) спочатку компілюються (за допомогою команди javac) у байт-код (об'єктний код, що міститься у файлах .class), а потім інтерпретуються за допомогою інтерпретатор java (використовуючи команду java). Коли програми розповсюджуються, вони зазвичай не включають вихідні файли. Однак якщо програма є відкритим кодом, джерело також поширюється, і користувач також може бачити та змінювати вихідний код.
Об'єктна програма зазвичай - це машинно виконуваний файл, який є результатом компіляції вихідного файлу за допомогою компілятора. Крім машинних інструкцій, вони можуть включати інформацію про налагодження, символи, інформацію про стеки, інформацію про переїзд та профілювання. Оскільки вони містять інструкції в машинному коді, вони не легко читаються людьми. Але іноді об'єктні програми посилаються на проміжний об'єкт між вихідними та виконуваними файлами.
Інструменти, відомі як посилання, допомагають зв’язати набір об'єктів у виконуваний файл (наприклад, мова С). Як згадувалося вище, .exe і файли байт-кодів - це об'єктні файли, що створюються при використанні Visual Basic та Java відповідно. Файли .exe безпосередньо виконуються на платформі Windows, а файли байт-коду потребують інтерпретатора для виконання.
Більшість програмних програм розповсюджуються лише з об’єктом або виконуваними файлами. Можна конвертувати об'єкт або виконувані файли назад у його вихідні файли-вихідні файли шляхом декомпіляції. Наприклад, інструменти декомпілятора можуть декомпілювати файли java.class (байт-код) у свої оригінальні файли .java.
Джерельна програма - це програма для читання, написана людиною, написана програмістом. Він написаний мовами вищого рівня, такими як Java або C. Тому вихідна програма читається людиною. Це не зрозуміло машиною.
З іншого боку, програма "Об'єкт" - це машинно виконується програма, створена після компіляції вихідної програми. Він містить мови нижчого рівня, такі як збірка або код машини. Тому об’єктна програма не читається людиною. Це зрозуміло машиною.
Різниця між Програмою джерела та Об'єктною програмою полягає в тому, що програма "Програма" - це читана людиною програма, написана програмістом, а об'єктна програма - це машинна програма, створена компіляцією вихідної програми.
1. «Вихідний код». Вікіпедія, Фонд Вікімедіа, 17 травня 2018 р. Доступний тут
2. "Код об'єкта". Вікіпедія, Фонд Вікімедіа, 14 травня 2018 р. Доступний тут
1.'CodeCmmt002'By Dreftymac (CCBY 2.5) через Wikimedia Commons