Informática, perguntado por Viihbieber4180, 1 ano atrás

Explique os métodos de tradução das linguagens de programação de alto nível: compilação, interpretação e método híbrido.

Soluções para a tarefa

Respondido por bokomoko
0
compilação - o programa fonte é varrido do começo ao fim e os comandos são todos traduzidos para linguagem de máquina e gravados no que se chama de "programa executável" que é entendido diretamente pelo computador sem necessidade de software adicional. A vantagem é que o código gerado é muito rápido. O compilador consegue otimizar algumas coisas do código do programador. A desvantagem é que leva mais tempo para elaborar o programa e caso alguma nova situação aconteça o programa tem que ser modificado e recompilado inteiro. Outra desvantagens é que se o programa foi compilado para rodar numa certa plataforma ele nao vai rodar noutra plataforma que não seja compatível. O programa precisará ser recompilado, no mínimo e eventualmente alguns trechos precisarão ser modificados. Isso acaba gerando várias versões do programa de acordo com as plataformas para as quais o programa vai ter que rodar.
Linguagens como C (e suas filhas como C++, C#), Pascal, COBOL, Visual Basic, Delphi, são exemplos de linguagens compiladas.


interpretação - o programa é traduzido, comando a comando, pelo interpretador no momento em que o comando vai ser executado. O computador precisa do interpretador para executar o programa. O interpretador consome memória e leva mais tempo para interpretar e então executar. A vantagem é que o desenvolvimento de programas é bem rápido pois basta escrever o programa e rodá-lo na hora. Não precisa compilar. A desvantagem é que o computador, por ter que traduzir os comandos todas as vezes, perde tempo e memória fazendo isso. As linguagens interpretadas tendem a gerar programas mais lentos e que consomem mais memória. Por outro lado, são mais dinãmicos, podendo se ajustar a novas situações mais rapidamente, as vezes sem precisar mexer no programa. O programa mesmo se modifica. Linguagens como BASIC, PHP, Python, javascript, são linguagens interpretadas.

método híbrido -  o programa fonte é convertido para um código intermediário que é entendido por um outro programa chamado "runtime" ou "máquina virtual"(do Java). Para o programa executar precisa desse outro programa rodando no computador. Esse runtime, como é chamado, tem versões para cada plataforma suportada. Assim, o código intermediário, chamado de pseudocódigo, bytecode ou p-code, é interpretado pelo runtime, de forma muito semelhante aos interpretadores de linguagens interpretadas. Só que o p-code é otimizado para isso. A geração do p-code é feita num processo semelhante a compilação das linguagens compiladas. As novas gerações do Java inclusive analisam o código em tempo de execução e se chegarem a conclusào que um trecho de código é executado repetidamente, tal trecho é "compilado" para executar mais rápido e nào precisar ser reinterpretado todas vez. Exemplos de linguagens que usam essa técnica são Java (a rainha das linguagens), Turbo Pascal, Lua (a linguagem inventada no Brasil e que faz o maior sucesso), Visual FoxPro e outras.

Perguntas interessantes