Em linguagens compiladas, o código fonte é traduzido integralmente para código de máquina por um programa chamado compilador. Esse processo é chamado de compilação e resulta em um arquivo executável independente do código fonte original. Em linguagens interpretadas, o código fonte é executado linha por linha por um programa chamado interpretador. O interpretador traduz cada linha do código para instruções executáveis em tempo real, sem gerar um arquivo executável separado.