Чи завантажується інтерпретатор із програмою?

Вітаю, друзі.

Я програміст початківець, і у меня питання. Коли на комп’ютер завантажується якась програма, чи завантажується разом з нею інтерпретатор? Якщо так, то з кожною наступною програмою завантажується зайвий інтерпретатор? Якщо ні, то у комп’ютері є свій інтерпретатор, і навіщо тоді я завантажую його?

Може це безглузде питання, але я початківець.

Заздалегідь дякую!

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Почитайте з самого початку про різницю між компіляцією і інтерпретацією (хоча ця різниця не жорстка, буває багаторівневе розуміння, як у випадку проміжних представлень).

Компʼютер завжди виконує машинні команди. Якщо це не спец-випадок типу LISP-машини, вони специфічні для конкретної архітектури. Мови навіть рівня асемблера вже потребують якоїсь трансформації з виконанням потім отриманого машинного коду (при компіляції) або вибору готового (при інтерпретації). Інтерпретатор має бути завантаженим щоб виконати програму.
По конкретних запитаннях:

Коли на комп’ютер завантажується якась програма, чи завантажується разом з нею інтерпретатор?

Зазвичай, інтерпретатор вже має бути встановлений і підготовлений до роботи. Але доволі часто роблять комплекти, коли програма це інтерпретатор і код, що виконується під ним. Обидва варіанти можливі. Також буває, що інтерпретатор сам потребує іншого інтерпретатора (наприклад, інтерпретатор JavaScript, написаний на Java). Нічого не забороняє такі бутерброди, але треба памʼятати, що кожен такий рівень знижує швидкість і ККД роботи.

Якщо ні, то у комп’ютері є свій інтерпретатор, і навіщо тоді я завантажую його?

А дійсно, навіщо ви його завантажуєте? ;)
І чи впевнені, що завантажуєте?
Ось наприклад щоб запустити код на Python ви маєте встановити інтерпретатор Python. Але см. відповідь на першу частину.

В компʼютері зі старта нема інтерпретаторів (ну, якщо не вважати код для виконання EFI VM, чи ще чогось настільки ж спеціалізованого). Код в ПЗП (ROM) викликає запуск ОС, та в свою чергу — прикладних програм, і серед них уже є інтерпретатори. Ви можете їх не бачити, або вони можуть бути невідʼємною частиною ОС (як Powershell у Windows), але вони є.

Інтерпретатор сам по собі є програмою і у нього є різні версії. Якщо тобі потрібно запустити пітонівський скрипт то цілком можливо що один код потребуватиме версії 2.7, а іншій потребуватиме 3.10 — тоді тобі потрібні 2 інтерпретатора.

Підписатись на коментарі