Diferenças entre linguagem compilada e linguagem interpretada

Com a popularização de linguagens como Java e C#, e sua forte adoção no mercado de TI, é comum nos depararmos com debates sobre as diferenças entre linguagens interpretadas e linguagens compiladas.

Diferenças entre linguagem compilada e linguagem interpretada

Com a popularização de linguagens como Java e C#, e sua forte adoção no mercado de TI, é comum nos depararmos com debates sobre as diferenças entre linguagens interpretadas e linguagens compiladas. Mas na hora de classificar uma linguagem como interpretada ou compilada, a coisa esquenta e ninguém entra em acordo! Mas afinal, o que é uma linguagem interpretada e o que é uma linguagem compilada?

Antes de mais nada, vamos definir nosso glossário:

O dicionário da língua portuguesa define Compilar:

do Latim compilare
v. tr.
reunir; ajuntar


Enquanto a definição de Interpretar, é:
do Latim interpretare
v. tr.
tornar claro o sentido de; explicar; traduzir; fazer juízo a respeito de.


Pelas definições desses dois verbos, já podemos perceber que seus significados não se opõe, mas se complementam. Então como classificar uma linguagem de programação como sendo de um jeito ou de outro? Bem, a resposta é simples, definindo o contexto ou ponto de vista! E como estamos analisando linguagens de programação, nosso contexto é arquitetura de linguagens de programação.

Na computação, a compilação é o processo que reúne o código fonte e o transforma em algo que faça mais sentido para o computador. Do ponto de vista do código fonte, toda linguagem de programação é compilada.

O produto final do processo de compilação de uma linguagem diz muito sobre seu design. Linguagens como C e C são compiladas estaticamente, e seus códigos fontes são transformados diretamente em linguagem de máquina. Enquanto as linguagens mais modernas como Java, C# e Python têm seus códigos fontes transformados em uma linguagem intermediária (específica de cada linguagem), que será interpretada pela máquina virtual da linguagem quando o programa for executado.

Este processo de interpretação da linguagem intermediária durante a execução do programa, consiste na tradução dos comandos da linguagem intermediária para linguagem de máquina. Sendo assim, em tempo de execução, o código intermediário pode ser encarado como um ?código fonte? que será compilado dinamicamente pelo interpretador da linguagem em código de máquina.

Obviamente, ter este processo de compilação embutido na execução do programa tem um custo. E esse custo não é barato! Por isso, nos últimos anos muito foi investido para otimizar este processo, resultando em todas as técnicas de Just In Time Compiling e Ahead of Time Compiling que permitem as linguagens interpretadas alcançarem performance excepcionais.

Finalmente, com base nestas definições, podemos dizer que C e C são linguagens compiladas. Enquanto Java, C# e Python, mesmo com as técnicas de JIT e AOT, são linguagens interpretadas, afinal, esta é uma definição da arquitetura da linguagem de programação.

Henrique Bastos - Disponível também em: http://henriquebastos.net/

Review Notebook ASUS Zenbook 14 UX435: Duas telas, bateria top e muito bonito

O Zenbook 14 versão UX435E, acabou de ser lançado e, sim, a ASUS já nos enviou. Testei ele pelas últimas semanas trabalhando diretamente, minha vontade de mostrar essa segunda tela era tanta, mas não podia. Olha só que animal, o touchpad vira uma tela secundária, totalmente personalizável e útil. Vem ver o que o Zenbook 14 de 2021 tem para te oferecer, o que ele traz de novidades e claro, se vale a pena pagar o preço.

Conteúdo relacionado

Instalei a GCAM no Poco M3 E FICOU INCRÍVEL
Smartphones

Instalei a GCAM no Poco M3 E FICOU INCRÍVEL

Mais um smartphone que passa aqui pela redação do Oficina da Net e que instalamos a Gcam para ver se o resultado das fotos ficam maximizados com a ajuda do app do Google. Será que funcionou?

Os melhores salários por linguagem de programação 2018
Programação

Os melhores salários por linguagem de programação 2018

Se você está começando no ramo da programação e espera ganhar dinheiro com essa atividade seria ideal focar naquela que melhor remunera seus funcionários, certo? Então, confira conosco quais os melhores – e piores – salários daqueles que ficam por aí escrevendo linhas de códigos.

Confira tudo que rolou no Hackatour 2017
Programação

Confira tudo que rolou no Hackatour 2017

Nesta semana que passou aconteceu a 2ª edição do hackatour. Confira os projetos que participaram e a equipe vencedora.

Criando um cadastro de usuário em Java
Programação

Criando um cadastro de usuário em Java

O objetivo deste artigo é desenvolver uma aplicação em JSE (Java Standard Edition) de inserção de dados utilizando alguns padrões de projeto.

Qual a melhor linguagem de programação?
Programação

Qual a melhor linguagem de programação?

Se você iniciou recentemente a graduação em alguma área ligada à tecnologia, seja ciências da computação, engenharia de software, de hardware, segurança da informação, etc. aposto que já se perguntou qual a melhor linguagem de programação, certo?

Meu Site meu App - Como criar aplicativo de seu site
Programação

Meu Site meu App - Como criar aplicativo de seu site

Já imaginou ter seu site ou blog como app? Se até hoje você só imaginou, seus problemas acabaram. Vamos aprender de maneira muito fácil a criar um aplicativo Android para acessar seu site.