Un limbaj compilat este un limbaj de programare pentru computer al cărui cod sursă este de obicei compilat, sau tradus în cod mașină, pentru a produce un program executabil. Compilatoarele sunt programe utilitare create pentru a traduce o implementare specifică a unui limbaj de programare într-un fișier binar executabil care este proiectat să ruleze sub un anumit sistem de operare. Acest fișier executabil autonom poate fi rulat pe orice platformă compatibilă fără asistență din partea unui alt program și fără a fi necesar să fie recompilat. Unele limbaje compilate comune sunt Ada, C++ și Fortran.
Programele de calculator pot fi scrise și într-un limbaj interpretat sau într-un limbaj de scripting. Decizia de a implementa un proiect într-un limbaj compilat este de obicei legată de viteza mult mai mare de execuție a programelor sale. Viteza crescută este considerată a compensa ceea ce este în general un proces de dezvoltare și întreținere mai complex. Sistemele de operare și utilitățile care au nevoie de acces direct la hardware necesită adesea eficiența unui limbaj compilat.
Limbile interpretate trebuie analizate, traduse și executate de un utilitar interpret de fiecare dată când programul este rulat. Dacă interpretul nu este rezident pe un computer, atunci programul nu poate fi executat. Într-un limbaj compilat, această analiză și traducere consumatoare de timp se efectuează o dată la momentul compilării, iar executabilul nu are nevoie de program utilitar pentru a rula. Atunci când viteza sau necesitatea unui acces hardware de nivel scăzut nu este un factor, relativa ușurință cu care poate fi implementat un program interpretat ar putea face din acesta o opțiune atractivă.
Limbajele de scriptare sunt adesea implementate pentru a oferi utilizatorilor un control mai mare asupra programelor în limbaj compilat sau pentru a oferi funcționalități suplimentare. Acest tip de limbaj trebuie interpretat și în timpul execuției. Cea mai familiară utilizare a limbajului de scriptare este pe paginile web de Internet, unde browserul acționează ca interpret de script. Astfel de limbaje au existat încă de pe vremea calculatoarelor mainframe timpurii, totuși, pentru a automatiza procesele simple.
Atunci când se dezvoltă un proiect software, există adesea alegeri de făcut între utilizarea eficientă a resurselor computerului și costul timpului de dezvoltare. Acest lucru poate duce la o combinație de limbaj compilat și limbaj interpretat sau de scripting în cadrul unui anumit proiect. Elementele critice de timp și resurse ale unui program sunt de obicei cel mai bine codificate într-un limbaj compilat. Interfețele și elementele care necesită mai puține resurse ar putea fi dezvoltate mai economic într-un limbaj interpretat. Chiar și elementele care vor fi implementate în cele din urmă într-un limbaj compilat ar putea fi prototipate mai rentabil ca program de limbaj interpretat.