У овом чланку ћете научити разлике између тумача и компајлера.
Генерално пишемо рачунарски програм на језику високог нивоа. Језик на високом нивоу је онај који је разумљив нама, људима. Ово се зове изворни код .
Међутим, рачунар не разуме језик високог нивоа. Разуме само програм написан у 0 и 1 у бинарном облику, назван машинским кодом .
За претварање изворног кода у машински код користимо компајлер или тумач .
И компајлери и тумачи користе се за претварање програма написаног на језику високог нивоа у машински код који рачунари разумеју. Међутим, постоје разлике између начина на који раде тумач и компајлер.
Тумач против компајлера
Тумач | Састављач |
---|---|
Преводи програм по једну изјаву. | Скенира цео програм и преводи га као целину у машински код. |
Тумачима обично треба мање времена за анализу изворног кода. Међутим, укупно време извршавања је релативно спорије од компајлера. | Састављачима обично треба пуно времена да анализирају изворни код. Међутим, укупно време извршења је релативно брже од тумача. |
Не генерише се интермедијарни објектни код, стога су ефикасни у меморији. | Генерира интермедијарни објектни код који даље захтева повезивање, дакле захтева више меморије. |
Програмски језици попут ЈаваСцрипт, Питхон, Руби користе тумаче. | Програмски језици попут Ц, Ц ++, Јава користе компајлере. |
Рад компајлера и тумача
