Interpretirani jezik je vrsta programskog jezika koji se za pokretanje oslanja na drugi dio softvera koji se zove interpreter. Većina programskih jezika oslanja se na kompajler koji mijenja kod u skup uputa koje su posebno dizajnirane za određenu vrstu stroja i operacijskog sustava. Kada pišete programe koristeći interpretirani jezik, sam program je tekstualna datoteka s kodom, a tumač djeluje kao posrednik, prevodeći upute u nešto što stroj može razumjeti u hodu. Interpretirani jezici imaju nekoliko ograničenja u smislu izvedbe, ali su također lakši za rad i idealni su za određene vrste aplikacija.
Bilo je vremena kada je korištenje interpretiranog jezika često bilo vrlo upitno, ponajviše zbog brzine. Tijekom ere kada je moć računalne obrade bila na vrhuncu, interpretirani jezici imali su vrlo ograničenu upotrebu jer su bili znatno više gladni resursa. S kompiliranim jezicima sve je učinkovitije i izravnije jer su programi već prevedeni u strojno-prikladne upute. Proces kompajliranja mora se dogoditi svaki put kada osoba pokrene interpretirani program, a softver za tumačenje mora raditi stalno u isto vrijeme, što općenito stavlja veći naglasak na performanse.
Interpretirani jezici također imaju nekoliko prednosti. Neke od njih je vrlo lako naučiti, kao što je python. Programe napravljene s interpretiranim jezicima ponekad je lakše testirati jer se ne moraju stalno ispunjavati, a obično je lakše napraviti promjene u postojećem softveru. Općenito, proces rada s interpretiranim jezikom je jednostavniji, s kraćim razvojnim vremenom i često manje cjelokupnog posla.
Još jedna velika prednost za interpretirane jezike je laka prenosivost. Općenito govoreći, ako postoji verzija tumača za više različitih vrsta strojeva i operacijskih sustava, tada se svaki program napisan na tom jeziku može koristiti na raznim platformama. Na primjer, program napisan u interpretiranom jeziku mogao bi se moći izvoditi na Macintosh™, Windows® ili Linux® sustavu bez ikakvih izmjena.
Kako su se povećavale brzine računala, općenito se povećavala upotreba interpretiranih jezika, ali su i dalje postojala određena ograničenja. Čak i kod brzih računala, interpretirani jezik se ne smatra idealnim za određene vrste aplikacija, poput igara. Neki su programi izgrađeni kombinacijom interpretiranih i kompiliranih jezika. U ovakvim vrstama implementacija, interpretirani jezik može obrađivati samo mali aspekt funkcionalnosti, dok većina programa koristi prevedeni kod. Primjer bi bila igra s vlastitim ugrađenim tumačem za skriptni jezik koji krajnjim korisnicima omogućuje jednostavno stvaranje i mijenjanje sadržaja.