1
resposta

Dúvida sobre Interpretadores e Compiladores nas linguagens

Olá! Para mim não ficou muito claro a questão de que uma mesma linguagem poder ter compiladores e interpretadores (4:54 do vídeo 06). Isso quer dizer que a linguagem C, por exemplo, pode vir a ser interpretada e/ou python compilado? Em que momento essa decisão é tomada? Ou isso se refere a linguagens como o Java?

1 resposta

Oi, Priscila! Tudo bem com você?

Agradeço por aguardar o nosso retorno.

Exatamente, a linguagem C** pode ser interpretada e **Python compilado, nada impede da maioria das linguagens de programação transitarem entre os processos: compilação e interpretação.

Os interpretadores traduzem e executam o código fonte, linha por linha, o que torna mais fácil e rápido encontrar possíveis erros. Os compiladores, por sua vez, é um agrupamento dos códigos fontes transformando-o em um código de máquina.

Um exemplo de uma linguagem que transita: a linguagem Python pode ser executada como um programa compilado ou como uma linguagem interpretada em modo interativo.

Sobre a decisão de quando usar, primeiramente, é preciso entender qual a necessidade da nossa aplicação para conseguir escolher a linguagem que melhor se adapta ao contexto em que ela será inserida, permitindo a otimização do processo e dos resultados.

O JIT (Just in time compilation ou compilação na hora certa) esse tipo de tradução também é conhecido como tradução dinâmica e consiste em traduzir o código em um formato intermediário que depois é interpretado por diversas máquinas.

Desse modo, temos a vantagem de um programa compilado que permite uma execução mais rápida e de uma linguagem interpretada que pode ser executada em diferentes máquinas, tudo isso simultaneamente num mesmo tipo de linguagem.

Utilizando o Java, que você mencionou como exemplo, ele é um sistema que traduz o código fonte utilizando um compilador para uma linguagem conhecida como Byte Code, que atua como uma linguagem intermediária. Em seguida essa linguagem intermediária é interpretada pelo JVM (máquina virtual Java) e executada.

Espero ter ajudado. Conte com a Alura para evoluir nos estudos!

Bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!