Интерпретирани језик је програмски језик који користи тумач за извршавање програма. За разлику од компајлираних програмских језика, где се изворни код програма преводи у машински код једном пре извршења, интерпретирани језици се извршавају корак по корак од стране тумача док је програм покренут.

Примери интерпретираних језика укључују Питхон, ЈаваСцрипт, Руби и ПХП. У овим језицима програмски код се не компајлира унапред у машински код, већ тумач извршава команде директно током извршавања програма. Ово пружа флексибилност, али може смањити перформансе у поређењу са компајлираним језицима.

Ако сте икада програмирали, вероватно знате да постоје 2 различита типа програмских језика: компајлирани и интерпретирани језици. Када се користи компајлирани језик, код се своди на скуп инструкција специфичних за машину пре него што се сачува као извршна датотека. У интерпретираним језицима, код се чува у истом формату у којем је унет, и конвертује се у машинске инструкције током времена извршавања. Неки језици, као што је Басиц, доступни су у компајлираним и интерпретираним верзијама.

ПостСцрипт је језик, што се тумачи. Нема ПостСцрипт компајлера.

Дизајн за несметан рад

Састављени језици.

Преведени програмски језици су они у којима се изворни код програма претвара у машински или бајткод код пре извршавања програма. Ово се дешава током процеса компилације, где компајлер анализира сав изворни код и креира извршну датотеку која се може покренути директно на циљној платформи.

Ево неколико примера компајлираних програмских језика:

  • Ц и Ц++:

Ц и Ц++ језици се компајлирају у машински код, чинећи перформансе програма на овим језицима ефикасним. Често се користе за системско програмирање, развој оперативног система и уграђене системе.

  • Интерпретирани језик. Јава:

Иако се Јава иницијално компајлира у средњи бајт-код, овај бајт код се затим интерпретира помоћу Јава виртуелне машине (ЈВМ) или се компајлира у Јуст-Ин-Тиме (ЈИТ) машински код током извршавања програма.

  • Ц# (Ц-Схарп):

Ц# код се компајлира у средњи бајт код (ИЛ - Интермедиате Лангуаге), који се затим извршава у Цоммон Лангуаге Рунтиме (ЦЛР) виртуелној машини. Јуст-ин-тиме (ЈИТ) компилација може да конвертује ИЛ у машински код током извршавања.

  • Фортран:

Фортран је класични компајлирани програмски језик који се често користи у рачунарским научним апликацијама.

  • Интерпретирани језик. Иди (Голанг):

Го код се компајлира у машински код и не захтева виртуелну машину за покретање.

Предности компајлираних језика укључују веће перформансе, пошто је машински код обично ефикаснији од интерпретираног кода. Међутим, процес компилације захтева додатно време пре извршавања програма, а извршне датотеке могу да зависе од архитектуре и оперативног система.

Дефиниције и услови веб дизајна

Интерпретирани језик.ПостСцрипт код се тумачи

ПостСцрипт је интерпретирани језик: када креирате страницу у КуаркКспресс-у и одштампате је, КуаркКСПресс креира ПостСцрипт програм који описује садржај вашег ремек-дела и шаље га на изабрани излазни уређај. Овај излазни уређај, рецимо ласерски штампач, има сопствени рачунар који покреће програм који се зове РИП. Овај РИП програм чита ПостСцрипт упутства и затим их преводи у нешто што РИП процесор може да обради. Интерпретирани језик

Чињеница да се ПостСцрипт код увек тумачи има неколико изразитих предности:

ПостСцрипт код се тумачи и ово има неколико јасних предности:

  • Независност од платформе:

Пошто се ПостСцрипт код тумачи, а не компајлира у машински код, може да ради на различитим платформама без потребе за поновном компилацијом.

  • Интерпретирани језик. Креирање динамичког документа:

Интерпретација ПостСцрипт кода омогућава да се документи креирају динамички. То значи да можете да уносите измене у документ док се креира или излази.

  • Лако за отклањање грешака и тестирање:

Интерпретирани код чини отклањање грешака лакшим јер се промене могу извршити директно у изворном коду без потребе за поновним компајлирањем.

  • Флексибилност и динамизам:

Интерпретација вам омогућава да креирате сложене и динамичне графике и документе, што је посебно важно у областима компјутерске графике и издаваштва.

  • Интерпретирани језик. Обрада стрима:

ПостСцрипт код се може представити као ток команди које интерпретатор извршава једну по једну. Ово подржава стриминг обраду података и олакшава обраду великих количина информација.

  • Лакоћа проширења:

Пошто ПостСцрипт омогућава динамичко креирање докумената, његов код се може лако проширити и модификовати у складу са потребама.

Међутим, вреди напоменути да тумачење ПостСцрипт кода може имати утицај на перформансе у поређењу са прекомпајлирањем у машински код. У зависности од специфичних захтева и случаја употребе, ово може бити или предност или недостатак.

Наравно, тумачење има и своје недостатке:

Тумачење кода такође има своје недостатке, а они могу укључивати следеће:

  • Перформансе:

Тумачење је обично мање ефикасно са тачке гледишта перформансе у поређењу са компајлирањем у машински код. Тумач мора да извршава код корак по корак, што може успорити извршавање програма.

  • Интерпретирани језик. Захтеви за ресурсе:

Интерпретација може захтевати више ресурса, као што су ЦПУ време и меморија, него компилација. Ово је посебно критично када се изводе сложене операције које захтевају много ресурса.

  • Ограничена оптимизација:

Тумачи често не могу да изврше исте моћне оптимизације као компајлери, пошто се оптимизације могу изводити само током извршавања.

  • Интерпретирани језик. Нема статичке провере:

За разлику од компајлираних језика, где се грешке често откривају у фази компилације, у интерпретираним језицима грешке се могу открити само током извршавања кода.

  • Зависност тумача:

Интерпретирани језици захтевају тумача да изврши код. Ово може отежати дистрибуцију програма на различитим платформама.

  • Тешкоћа обрнутог инжењеринга:

Интерпретирани код има тенденцију да буде подложнији обрнутом инжењерингу јер се може читати и анализирати релативно лако.

  • Интерпретирани језик. Више кода:

Интерпретирани код може бити опширнији и обимнији од еквивалентног кода преведеног у машински код.

Иако интерпретација има своја ограничења, она остаје корисна и моћна техника у одређеним областима програмирања, као што су језици за скриптовање, где су флексибилност и динамика често важнији од перформанси.

Излаз

Интерпретирани програмски језици пружају флексибилност и погодност у развоју програма омогућавајући извршавање кода корак по корак док се покреће. Овај приступ олакшава отклањање грешака, побољшава динамички одзив програма и чини језике као што су Питхон, ЈаваСцрипт и Руби популарним међу програмерима.

Међутим, постоје и недостаци интерпретираних језика. Перформансе могу бити ниже у поређењу са компајлираним језицима због додатног времена потребног за тумачење кода. Такође, откривање грешака се дешава током рада, што може отежати рано идентификовање проблема. Упркос овим ограничењима, интерпретирани језици остају моћан алат у веб развоју, науци о подацима и другим областима где су употребљивост и флексибилност приоритети.

ПостСцрипт

АБЦ

Интерпретирани језик