Na aula foi dito que uma linguagem pode ser interpretada ou compilada. Fiquei um pouco confusa, pois Java é compilada, como ela pode ser interpretada também?
Na aula foi dito que uma linguagem pode ser interpretada ou compilada. Fiquei um pouco confusa, pois Java é compilada, como ela pode ser interpretada também?
Java é uma linguagem compilada para Bytecode. No momento da execuçao a JVM (Java Virtual Machine) pega esse bytecode e interpreta (traduz) para linguagem de máquina. Vantagem: Compila uma vez só para Bytecode e pode executar em qualquer sistema operativo. Desvantagem: a execuçao pode ser mais lenta devido à JVM
Uma linguagem compilada para linguagem de máquina diretamente (C ou C++) nao precisa dessa interpretacao e a execuçao é diretamente na maquina. Vantagem: Execuçao muito rapida porque esta na linguagem da maquina. Desventagem: Precisa compilar para diferentes arquiteturas (x86, x86_64, arm, etc)