Vantagens e desvantagens de compiladores

Os programadores usam compiladores para converter o código-fonte em código de máquina.

Vantagem: autônoma e eficiente

Uma grande vantagem dos programas que são compilados é que eles são unidades autônomas prontas para serem executadas. Como eles já estão compilados em arquivos binários de linguagem de máquina, um segundo aplicativo ou pacote que o usuário deve manter atualizado não é necessário. Se um programa for compilado para o Windows em uma arquitetura x86, o usuário final precisará apenas de um sistema operacional Windows em execução em uma arquitetura x86. Além disso, um pacote pré-compilado pode executar mais rápido que um código-fonte do interpretador de compilador em tempo real.

Desvantagem: específica para um hardware

Como um compilador converte o código-fonte em uma linguagem de máquina específica, os programas devem ser compilados especificamente para o OS X, Windows ou Linux, bem como para arquiteturas de 32 ou 64 bits. Para um programador ou uma empresa de software que tenta fazer com que um produto atinja o maior público possível, isso representa a necessidade de ter várias versões do código-fonte para o mesmo aplicativo, o que resulta em uma quantidade maior de tempo gasto no produto. manutenção do código-fonte e problemas adicionais quando as atualizações são liberadas.

Vantagem: otimização de hardware

Embora estar restrito a um pacote de hardware específico tenha suas desvantagens, a compilação de um programa também pode aumentar o desempenho do último. Os usuários podem enviar opções específicas para compiladores, relacionadas aos detalhes do hardware em que o programa será executado. Isso permite que o compilador gere código em linguagem de máquina que faz uso mais eficiente do hardware especificado, em oposição ao código mais genérico. Isso também permite que usuários avançados otimizem o desempenho de um programa em seus computadores.

Desvantagem: tempos de compilação

Uma das desvantagens de ter um compilador é que você deve realmente compilar o código-fonte. Enquanto os pequenos programas que muitos desenvolvedores novatos codificam exigem quantidades triviais de tempo para serem compilados, grandes pacotes de aplicativos podem levar um tempo significativo para serem compilados. Quando os programadores não têm nada a fazer além de aguardar o término do compilador, esse tempo pode tornar o processo mais lento, especialmente durante o estágio de desenvolvimento, quando o código deve ser compilado para testar sua funcionalidade e resolver erros.