Prévia do material em texto
Universidade Veiga de Almeida Matheus Ventura Gomes Organização e Arquitetura de computadores (AV2) Rio de Janeiro 2022 Compilação x interpretação Independentemente da arquitetura de computadores, e podemos tomar como base o modelo da arquitetura de Von Newmann, tanto o processo de compilação quanto o processo de interpretação são possíveis. É fato que programadores de computadores ficam em dúvidas quanto à diferenciação da compilação e da interpretação de programas. Muitas das vezes, isso ocorre por falta de conhecimento aprofundado acerca da arquitetura de computadores e de como os programas são executados nas máquinas. Tomando como base as etapas de um ciclo de máquina apresentadas por Corrêa (2016), faça a representação gráfica dos dois processos, compilação e interpretação, explicando, no final, a real diferença existente entre eles. Compilação x Interpretação Linguagem de programação é um conjunto de regras léxicas (ortografia) e sintáticas (gramatica) para se escrever um programa. Ide: software para editar e testar o programa Código fonte: e aquele escrito pelo programador em linguagem de alto nível. Código Objeto: Instruções em uma linguagem de computador, geralmente numa linguagem código de máquina (Linguagem de baixo nível). Método: Compilador A compilação e a transformação de código fonte em código objeto, durante a compilação o compilador faz a analise léxica e sintática do código, caso haja algum erro a compilação e interrompida e o programador e obrigado a corrigir o erro e iniciara o processo novamente, após o código fonte ser compilado e transformado em código objeto ele passa por um gerador de código para que seja feito um processo de construção (build) para que seja criado o código executável para que ele possa ser executado pelo sistema operacional Exemplos de linguagens que utilizam a compilação: C, C++ Vantagens: • Costumam ser mais rápidos pois toda a verificação léxica e sintática foi feita antes de criar o código executável. • O código executável ele roda diretamente em cima do sistema operacional. • Menos suscetível a bugs pois o compilador ajuda a verificar os erros antes de criar o executável. • Auxilio do compilador antes da execução. Desvantagens: • A portabilidade dos códigos compilados se torna um problema pois quando você criar um código executável será especifico para um sistema operacional e caso algum dia queira usar em outro sistema terá que fazer mudanças no código e compilar novamente. Na Compilação o código ele e escrito na linguagem fonte é transformado para código objeto e depois ligado e carregado para ser executado. Método: Interpretador Interpretação: O software chamado de interpretador vai ler o código fonte e vai realizar a analise léxica, sintática e gerar o código executável (sob demanda), ou seja, gradualmente o interpretador vai lendo o código fonte e traduzindo para o código executável e executando Exemplos de linguagens que utilizam a interpretação: PHP, Javascript, Python, Ruby Vantagens: • Flexibilidade de manutenção do programa, pois basta modificar os arquivos fontes que é necessário sem a necessidade de recompilar o programa. • Código fonte não precisa ser recompilado para rodas em outras plataformas. Desvantagens: • A linguagem interpretada é mais difícil de programar, pois elas são mais relaxadas a tipagem e mais fraca, pode ser uma brecha para bugs se não for escrita de uma forma correta. • A análise do código e a geração do executável e feita pelo modo Just in time, ou seja, no momento que você está executando tendem a ser mais lentos O interpretador vai lendo o código fonte e traduzindo para o código executável e executando image2.png image.png