Compilatoarele sunt o parte esențială a setului de instrumente pentru un programator de calculator. Un compilator transformă un fișier text simplu care conține cod într-un program care poate fi rulat.
O concepție greșită este că calculatoarele înțeleg codul. Nu este adevarat. Computerele înțeleg doar codul mașinii, adică codul care este asamblat pentru arhitectura procesorului computerului. Unele programe provin atât în versiuni pe 32 de biți, cât și pe 64 de biți, iar cele care utilizează un sistem de operare pe 32 de biți nu pot rula programe pe 64 de biți. Compilatorii transformă codul pe care programatorul îl scrie în codul mașinii.
Nu toate limbile trebuie însă compilate. Unele limbi sunt cunoscute ca limbi interpretate; acestea sunt limbi care sunt compilate la timpul de execuție. Limbile interpretate trebuie încă să fie compilate în codul mașinii, dar acest lucru are loc în timp ce programul este rulat. Odată ce codul dintr-o limbă compilată este transformat într-un program compilat, nu este necesar ca utilizatorul final al acelui program să aibă compilatorul pe mașina lui. Cu toate acestea, este necesar ca utilizatorul unui program scris într-o limbă interpretată să aibă interpretul pe mașina sa. Câteva exemple de limbi compilate sunt C, C ++, C # și Obiect-C, în timp ce câteva exemple de limbi interpretate sunt Python, Ruby, PHP și JavaScript.