Computadores leem comandos de linguagem de máquina em binário (zeros e uns). Embora leiam eficientemente, a maioria programadores não entendem. Por isso programam em linguagem compreensível, que traduzem para linguagem de máquina. Linguagens modernas usam interpretadores que traduzem durante execução; linguagens antigas usavam compiladores que traduziam totalmente antes da execução.
Programas compilados são unidades autocontidas prontas para execução. Já compilados em binários de máquina, não precisam de segunda aplicação/pacote para manter atualizado. Se compilado para Windows x86, usuário só precisa Windows em x86. Pacote pré-compilado roda mais rápido que interpretador compilando código-fonte em tempo real.
Como compilador traduz para linguagem de máquina específica, programas devem ser compilados especificamente para OS X, Windows ou Linux, e para arquitetura 32-bit ou 64-bit. Para programador/empresa querendo maior público, significa manter múltiplas versões do código-fonte. Mais tempo em manutenção e trabalho extra em atualizações.
Embora travar em hardware específico tenha desvantagens, compilar pode aumentar desempenho. Usuários enviam opções específicas ao compilador sobre hardware alvo. Compilador cria código de máquina que usa hardware da forma mais eficiente, vs código genérico. Usuários avançados otimizam desempenho em seus computadores.
Compilador deve compilar código-fonte. Pequenos programas de novatos compilam rápido, mas suítes grandes levam tempo significativo. Quando programadores só esperam compilador terminar, tempo acumula — especialmente em desenvolvimento, quando código recompila para testar e corrigir bugs.
Tecnologia Eletrônica © [www.351231.com]