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

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

Цомпилер | Интерпретер | |
Дефиниција | Инструкције високог нивоа у машинском језику | Инструкција високог нивоа у средњи код |
Извршење | Цијели програм одједном | Линију по линију |
Брзина | Брзо | Спор |
Цост | Лов-цост | Мање |
Употреба меморије | Више | Обично велика количина новца |
Унаутхоризед Модифицатион | Тешко (разумети ток програма је сложен задатак) | Лако (Разумети проток програма је једноставан задатак) |
Дебуггинг | Тешко | Лако |
Извршење резултирајућег кода | Би Цомпутер Хардваре | По другом програму |
Пример | Ц компајлер | БАСИЦ |
Руннинг Цомпутер | Било који | Интерпретер инсталлед |