Já trabalhei com Delphi que é uma linguagem Compilada e realmente é bastante lenta comparada com um sistema desktop feito em java. Mais atualmente a maioria dos sistemas segue o desenvolvimento na WEB , onde grande parte são do tipo interpretadas.
Já trabalhei com Delphi que é uma linguagem Compilada e realmente é bastante lenta comparada com um sistema desktop feito em java. Mais atualmente a maioria dos sistemas segue o desenvolvimento na WEB , onde grande parte são do tipo interpretadas.
Oi, Moacir, tudo bem ?
Desculpa a demora em te responder!
Como você mencionou, para que linguagens compiladas possam ser executadas, é preciso ter um tempo para realizar a tradução do código fonte. O ato de compilar implica em unir tudo de uma única vez. São necessários alguns passos para compilar e isso pode levar alguns segundos ou minutos, mas feito isso, não é necessário fazer mais todo esse processo, a não ser que o código seja alterado. Para executar em outra máquina, é necessário traduzir em cada uma, pois os compiladores transformam todo o código-fonte em código de máquina.
Já no caso dos interpretadores podem traduzir e executar o código fonte sem a necessidade de gerar um novo arquivo, ou seja, a tradução acontece em tempo real, dessa forma os erros só podem ser percebidos ao executar o código e isso faz com que haja perdas na performance. Contudo, por possibilitar uma tradução simultânea eles conseguem ser executados em diferentes máquinas.
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.
Perceba que ao mesmo tempo e em uma mesma linguagem utilizamos tanto um compilador quanto um interpretador para podermos nos aproveitar das vantagens de cada um.
Vale ressaltar que a maioria das linguagens de programação pode ter implementações compiladas e interpretadas – a linguagem em si não é necessariamente compilada ou interpretada. Porém, para fins de simplicidade, elas são normalmente referidas deste modo.
Com isso, é 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, e ter experiência com diferentes linguagens é essencial para conseguir entender como cada uma delas atua no dia a dia de uma pessoa desenvolvedora.
Continue se dedicando em seus estudos para aprimorar ainda mais suas habilidades e desenvolver seus conhecimentos e caso tenha dúvidas, estarei à disposição.
Grande abraço!