Quais são as linguagens de programação interpretadas e quais são as linguagens compiladas?

Nesta aula, aprendi que podem existir dois tipos de linguagem: compiladas, interpretadas e as linguagens que tanto compilam quanto interpretam.

Em uma linguagem compilada, o tradutor busca traduzir o código fonte inteiro para o código de máquina, o que pode tornar o tempo de execução um pouco mais demorado porém é capaz de identificar erros para serem corrigidos antes de sua execução. Uma linguagem compilada também serve para programas robustos, grandes, e normalmente só podem ser executados em um tipo de máquina ou uma classe de máquinas específica. Exemplos de linguagem compilada são: C, C++, Go, Swift, Delphi e Rust.

Em uma linguagem interpretada, o tradutor traduz o código fonte para o código de máquina em tempo real, na hora da execução, o que pode tornar o tempo de execução mais ágil porém os erros só serão identificados na hora da execução. Uma linguagem interpretada também serve para programas que rodarão em múltiplos tipos de máquinas diferentes. Exemplos de linguagem interpretada são: Js, Phyton, Matlab, PHP, Ruby, Pearl e List.

Há também o caso das linguagens que tanto compilam quanto interpretam, juntando os dois mundos, como o caso do Java por exemplo, onde o código fonte primeiramente é compilado em um arquivo .class (byte code) e em seguida interpretado pela máquina a partir de um interpretador chamado JVM (Máquina Virtual Java). Isso é muito útil, pois permite que tipos de máquinas diferentes possam ler o mesmo programa, basta que essas máquinas tenham suporte ao Java, assim nós eliminamos a limitação das linguagens que apenas compilam, onde elas são apenas capazes de rodar em um tipo ou classe específica de máquinas. Outros exemplos desse tipo de linguagem são JavaScript e Phyton.

Sobre linguagens interpretadas e compiladas, nenhuma linguagem é 100% um ou outro. Python, por exemplo, compila pra bytecode igual a Java (os arquivos .pyc são compilados de bytecode) e interpretados pela PVM (CPython).

Existem varias outras formas de interpretação, como a JIT, que compila primeiro pra bytecode e depois pra código de máquina igual uma compilada. Por exemplo, se você rodar Java numa implementação do JVM chamado HotSpot, ele vai "assistir" e analizar seu código para ver quais as partes que mais executam e compilar essas partes direto pra código de máquina, então sua aplicação pode ser lenta no início e ter uma maior performance conforme o os "hotspots" forem identificados.

Além desses dois métodos de interpretação de programas, existem vários outros, como o AST que analisa a Árvore Sintática Abstrata diretamente ao invés de compilar pra bytecode ou machine code, isso faz com que o parsing e a análise de tokens seja mais fácil, já que esse tipo de interpretação consegue conservar a estrutura e relação do código. Muitas linguagens usam um passo de AST antes do bytecode, como Python.

E, pra exercicio mental, se existisse um processador capaz de ler as instruções do bytecode do Python diretamente sem precisar de VM, isso faria Python ser compilada ou interpretada?

Linguagens compiladas: C C++ C# Delphi Pascal

Linguagens interpretadas: Python; PHP; Ruby;

Linguagens JIT: .NET JAVA

Olá Matheus, tudo bem?

Gostei de ver! Além de pegar o conteúdo você pesquisou para aprender um pouco amis sobre as linguagens compiladas e interpretadas.

Uma coisa que achei interessante é que você separou um espaço específico para o Java e o C# (.NET é a plataforma que utilizamos para programar com a linguagem C#). Essas duas linguagens realmente diferem das que chamamos de compiladas ou interpretadas... isso porque ambas utilizam os dois métodos. Possuem um compilador e também possuem uma máquina virtual que faz o papel do que seria um interpretador... então temos aí o conceito de JIT.

Muito bem observado, parabéns!

Se precisar de ajuda, pode contar conosco!

Bons estudos!😄

Pré-requisito - Compilador vs Intérprete

Linguagem compilada:
uma linguagem compilada é uma linguagem de programação que geralmente é compilada e não interpretada. É aquele em que o programa, uma vez compilado, é expresso nas instruções da máquina de destino; este código de máquina é indecifrável por humanos. Tipos de linguagem compilada - C, C++, C#, CLEO, COBOL, etc.

Quais são as linguagens de programação interpretadas e quais são as linguagens compiladas?

Linguagem interpretada:
uma linguagem interpretada é uma linguagem de programação que geralmente é interpretada, sem compilar um programa em instruções de máquina. É aquele em que as instruções não são executadas diretamente pela máquina de destino, mas sim lidas e executadas por algum outro programa. Intervalos de linguagem interpretada - JavaScript, Perl, Python, BASIC, etc.

Quais são as linguagens de programação interpretadas e quais são as linguagens compiladas?

Vamos ver a diferença entre linguagem compilada e interpretada:

S.NO.IDIOMA COMPILADOIDIOMA INTERPRETADO
1 Uma linguagem compilada é uma linguagem de programação cujas implementações são tipicamente compiladores e não interpretadores. Uma linguagem interpretada é uma linguagem de programação cujas implementações executam instruções direta e livremente, sem antes compilar um programa em instruções em linguagem de máquina.
2 Nesta linguagem, uma vez que o programa é compilado, ele é expresso nas instruções da máquina de destino. Enquanto neste idioma, as instruções não são executadas diretamente pela máquina de destino.
3 Existem pelo menos duas etapas para ir do código-fonte à execução. Há apenas uma etapa para ir do código-fonte à execução.
4 Nessa linguagem, os programas compilados são executados mais rapidamente do que os programas interpretados. Enquanto estão neste idioma, os programas interpretados podem ser modificados enquanto o programa está em execução.
5 Nesta linguagem, os erros de compilação impedem a compilação do código. Nessas linguagens, toda a depuração ocorre em tempo de execução.
6 O código da linguagem compilada pode ser executado diretamente pela CPU do computador. Um programa escrito em uma linguagem interpretada não é compilado, ele é interpretado.
7 Esta linguagem oferece melhor desempenho. Esta linguagem oferece desempenho relativamente mais lento.
8 Exemplo de linguagem compilada - C, C++, C#, CLEO, COBOL, etc. Exemplo de linguagem interpretada - JavaScript, Perl, Python, BASIC, etc.

Quais linguagens são compiladas e interpretadas?

As linguagens que podem ter interpretações compiladas são: C, C++, C#, Java, Objective-C, Basic, entre outras. As compiladas puras são: C, C++, Erlang, Haskell, Rust e Go.

Quais são as linguagens de programação interpretadas?

Alguns exemplos de linguagens de programação que são interpretadas são o PHP, JavaScript e Python.

É uma linguagem de programação interpretada?

Linguagem interpretada é uma linguagem de programação em que o código fonte nessa linguagem é executado por um programa de computador chamado interpretador, que em seguida é executado pelo sistema operacional ou processador.

Qual é a diferença entre compilado é interpretado?

Ao utilizar o método de compilação, o compilador irá ler o código, fazer todas as análises sintáticas e demais processos, para, por fim, gerar um arquivo código-objeto ou um arquivo executável. Já na interpretação, nenhum arquivo ou código é gerado, e sim uma tradução instantânea, em tempo de execução.