Езиците за програмиране обикновено попадат в един от двата типа езици - компилирани или интерпретирани езици. Разликата обаче не е в езика; той е в изпълнението. Не е грешно да се каже, че и двете са свойствата на внедряването на даден език, но не и свойствата на самия език. Внедряването на език за програмиране означава преодоляване на разликата от мисленето на програмиста на високо ниво до нулите и тези на машината. Ако се правят ефективно, програмистите могат да се концентрират върху реалните проблеми, а не върху детайлите на машините. Така че, език за програмиране може да се компилира или интерпретира въз основа на изпълнението.

Е, и двата типа езици за програмиране имат своите силни страни. Някои езици изискват всички ваши кодове да бъдат компилирани, преди някой от кода да бъде изпълнен. Други езици интерпретират всяка инструкция по времето, когато се изпълнява кодът. Всъщност компилираните езици обикновено се компилират от програмист на компютъра на програмиста; когато програмистът споделя софтуера, той / тя споделя компилираните 0 и 1, но не и изходния код. Въпреки това, с интерпретиран език, кодът се запазва в същия формат, който сте въвели и трябва да бъде преведен по време на изпълнение. Нека разгледаме подробно сравнение между съставените и тълкуваните езици.

Какво е компилиран език?

Компютрите могат да изпълняват само езика на машината, който е езикът на централния процесор (CPU) и е много прост. Целта на всяка реализация на езика за програмиране е да преведе изходна програма на машинния език, така че да може да бъде изпълнена от процесора. Всички езикови реализации превеждат изходна програма в някакво междинно представяне, преди да преведат междинното представяне на машинен език. Най-прекият метод за превод на програма на машинен език се нарича компилация. Програма, написана на компилиран език, трябва да бъде преобразувана в различен формат, преди да бъде стартирана. Изходният код трябва да се трансформира в машинно четими инструкции преди изпълнението. Накратко, езиците, чиито реализации обикновено са компилатори, а не интерпретатори, се наричат ​​компилирани езици.

Какво е тълкуван език?

Интерпретаторът е програма, която е написана на някакъв друг език и компилирана в машинно четим език. Самият интерпретатор е машинната езикова програма и се пише, за да се четат програми с източник от интерпретирания език и да се интерпретират. Тълкуваният език, напротив, не компилира изходния код на машинен език преди стартиране на програмата. Той просто интерпретира кода в движение. Така че не получавате ползите или недостатъците на грешките при компилация. Интерпретираните езици изискват софтуер, наречен интерпретатор, който взема изходния код и изпълнява една инструкция наведнъж. Когато стартирате програма за интерпретиран източник, всъщност изпълните интерпретатора. Интерпретаторът е машинната езикова програма, която изпълнява всички програми, които пишете на интерпретирания език.

Разлика между съставен и тълкуван език

Основи на компилиран и тълкуван език

 - Програма, написана на компилиран език, трябва да бъде преобразувана в различен формат, преди да бъде стартирана. Изходният код трябва да се трансформира в машинно четими инструкции преди изпълнението. Тълкуваният език, напротив, не компилира изходния код на машинен език преди стартиране на програмата. Той просто интерпретира кода в движение. Интерпретираните езици изискват софтуер, наречен интерпретатор, който взема изходния код и изпълнява една инструкция наведнъж.

Съставител срещу преводач

- С компилираните езици има поне две стъпки за преминаване от изходния код до изпълнение, докато при интерпретираните езици има само едно - изпълнение. Програма, написана на интерпретиран език, не се компилира - тя се интерпретира от друга програма, докато тя работи. Програмата, написана на компилиран език, преминава през процес, за да я промени от текста, който може да се чете от хора, в машинно четим формат. Програма, наречена компилатор, прави този преход.

ползваемост

 - Компилираните програми се изпълняват по-бързо от интерпретираните програми, но интерпретираните програми могат да бъдат променяни, докато програмата работи. Това прави интерпретираните програми идеални за писане на софтуер за изпълнение на живо. Работата с компилирани езици може да бъде приятна, защото се откриват много грешки при компилиране на изходния код. Тези грешки, наречени компилационни грешки, пречат на кода да се компилира. Напротив, интерпретираните езици не се компилират, така че не получавате ползите или недостатъците на грешките при компилация.

Отстраняване на грешки

 - При тълкувани езици всички отстраняване на грешки се случват по време на изпълнение. Няма стъпка за компилация, по време на която можете да изгоните всички синтактични грешки във вашия код; вместо това трябва да стартирате програмата, за да намерите грешки в нея. Това се превръща в проблем, когато интерпретираната програма модифицира файлове или прави някакви промени в постоянните ресурси. Това прави някои грешки по-трудно за улавяне, тъй като кодът не е необходимо да се компилира. Тълкуваните езици също представляват някои опасения за сигурността в онлайн средата, тъй като злонамерен код може да бъде поставен в средата на изпълнение.

Съставен език спрямо тълкуван език: сравнителна диаграма

Обобщение на компилиран спрямо тълкуван език

С две думи, както съставените, така и тълкуваните езици имат своите силни страни. Някои езици изискват всички ваши кодове да бъдат компилирани, преди някой от кода да бъде изпълнен. Други езици интерпретират всяка инструкция по времето, когато се изпълнява кодът. Основната разлика между двете е, че има поне две стъпки за преминаване от изходния код до изпълнение с компилирани езици. При тълкуваните езици обаче има само една стъпка - изпълнение. Компилираните програми работят по-бързо от интерпретираните програми, но интерпретираните програми могат да бъдат модифицирани, докато програмата работи.

Препратки

  • Лий, Кент Д. Основи на езиците за програмиране. Берлин: Springer, 2015. Печат
  • Рейс, Кейси и Бен Фрай. Обработка: Наръчник за програмиране за визуални дизайнери и художници. Cambridge: MIT Press, 2014. Печат
  • Сиесла, Робърт. Най-вече безконтактно развитие на игри. Ню Йорк: Apress, 2017. Печат
  • Колбърн, Рейф. Самите учат себе си CGI за 24 часа. Индианаполис: Sams Publishing, 2002. Печат
  • Кредит за изображение: https://commons.wikimedia.org/wiki/File:Algorithms_v.s._Programming_Languages.jpg
  • Кредит за изображение: https://commons.wikimedia.org/wiki/File:R_setup1.JPG