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?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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)