Інтерпретація та компіляція мов програмування

Створи сам → Javascript → Компільовані та інтерпретовані мови

інтерпретація

Компільовані та інтерпретовані мови

Існує багато мов програмування, одні з них прості, інші дуже складні. Всі ці мови це компроміс, вони штучні і є своєрідним «мостом» між людиною та комп'ютером. Деякі мови програмування дуже близькі до машинного коду, найвідоміший з таких Assembly.

Мови низького та високого рівня

програмування

Чим ближче мова до машинного коду, тим складніше на ньому писати і потрібно добре знати обладнання. Такі мови називаються моваминизького рівня. Відповідно мови, що сильно відрізняються від машинного коду, мають назву — мови високого рівня, при роботі з якими можна менше турбуватися про роботу апаратної частини. Якщо сказати більш простою мовою, то всі мови високого рівня простіші для вивчення, на них простіше писати код і вони менш апаратно залежні.

Хоча ми і будемо працювати з JavaScript, а це мова високого рівня, перед запуском наш код має бути перетворений на машинний код, хоча сам машинний код нам не цікавий. Мови високого рівня, це мови вихідного коду, який згодом переводиться в машинну для його виконання. Коли ми говоримо, що пишемо код або програмуємо, ми насправді пишемо вихідний код, набір операторів та команд, які будуть запущені на комп'ютері.

Для того, щоб розпочати писати вихідний код мовою javascript, треба зрозуміти три речі:

  • Як і де писати
  • Розуміти, як наш код буде переведено до машинного коду
  • Як запустити наш код, нашу програму

Як писати вихідний код на javascript

Компіляція таінтерпретація коду

Як я і згадував вище, перед тим, як код буде запущений, він переводиться в машинний код. Існує два види цього перекладу, це компіляція та інтерпретація. Щоб зрозуміти краще в чому різниця, і як це працює, наведу вам просто наочний приклад.

Компілюваний тип мови

Є я та Ви, у нас обох є комп'ютер. Я збираюся написати програму для того, щоб потім її запустили у себе на комп'ютері. Якщо мова компилируемая, мені після написання вихідного коду, потрібно помістити його в так звану програму компілятор і за компілювати в машинний код або як часто кажуть код, що виконується (executable). Ви зможете відразу запустити виконання цієї програми, але ніколи не дізнаєтеся мій вихідний код, тому що я його скомпілював у себе, а вам відправив готову програму.

Інтерпретований тип мови

Що ж краще, інтерпретація чи компіляція? Обидва способи мають свої недоліки та плюси.

програмування

Існує і так званий третій вид мов, що виконуються, — проміжний, у ньому 50 на 50 компільованої та інтерпретованої мови. Працює він за наступним алгоритмом або принципом, якщо завгодно.

Вихідний код заздалегідь компілюємо в так звану проміжну мову, який може бути перетворений на машинний код і на додаток може бути переносним на різні платформи. Далі проміжний код відправляємо людям, яким він потрібен і вони вже перетворять його в машинний код. Хтось називає такий вид компіляцією на льоту, інші називають байт-кодом, але суть роботи його одна й та сама.

програмування

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