Разлика између преводиоца и преводиоца

Компајлер вс Интерпретер

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

Главна разлика између преводиоца и преводиоца рађа још једну. Будући да је преводилац потребан када покрећете програм, морате имати инсталиран преводилац ако желите извршити програм на вашој машини. То није случај са преводиоцем. Након што се програм састави, потребан вам је само састављени програм, а не преводилац или оригинални код.

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

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

Одабир између преводиоца и преводиоца треба да зависи од тога да ли желите преносивост или перформансе.

Резиме:

  1. Интерпретер директно извршава код док преводилац не
  2. Преводитељ треба да буде доступан у циљној машини, док преводилац није
  3. Интерпретирани програм покренут ће се на више платформи док компајлирани програм неће
  4. Тумачени програм ће тећи спорије од компајлираног програма