Mostrando postagens com marcador interpretador. Mostrar todas as postagens
Mostrando postagens com marcador interpretador. Mostrar todas as postagens

terça-feira, 10 de novembro de 2015

Curiosidades dos interpretadores

Na última postagem comentei sobre algumas curiosidades de um tradutor que estamos falando: o compilador. Hoje será diferente, comentaremos sobre os interpretadores. Creio que os nosso leitores já saibam o que é um e pra quê serve, caso não tenha visto é só clicar aqui e voltar a ler essa postagem.

Como visto anteriormente, o interpretador é bem diferente do compilador. Ele é mais lento, mais específico e consome menos memória do nosso PC. Você que quer ser um bom programador e quer seguir nesse ramo é bom saber todas as vantagens e desvantagens dos dois (clique aqui). O interpretador, como dito, ele executa o programa linha a linha e não faz uma análise léxica, sintática e semântica igual ao compilador, como já mostrei. Ele se divide apenas em duas: fase analítica e semântica. Pouco parecidas com as utilizadas nos compiladores, a diferença é que o interpretador cria uma base de dados (estrutura interna) para realizar suas operações. Todo esse processo pode ser feito apenas com os tipos de linguagens interpretadas, que são:

Claro que não existem só essas linguagens interpretadas. Há outras, essas são apenas as mais usadas e as mais conhecidas. Agora, para você ter uma noção da diferença de uma execução compilada para interpretada é só ver esses dois vídeos: 

Python 3.2 vs C++
https://www.youtube.com/watch?v=H_LHeGP_PtI
Python Vs C++ Speed Test
https://www.youtube.com/watch?v=mVvDb484uIs

Notou a diferença? Percebeu a rapidez? Então, agora cabe a você decidir qual tipo de linguagem quer usar, compilada ou interpretada. Fiquem em paz e até a próxima.

“Bons caminhos!”

sexta-feira, 16 de outubro de 2015

Compiladores vs Interpretadores: vantagens e desvantagens

Olá galera! Hoje dou as boas-vindas, novamente, aos nossos leitores. Essa é a 4ª postagem sobre “compiladores versus interpretadores” e caso você não se lembre do que é um interpretador ou compilador é só clicar aqui e verá todas as postagens das quais se referem ao tema que estamos debatendo. Portanto, para não ficar perdido(a) no assunto, é bom revisar tudo que falamos: o que é um compilador, interpretador e “pra” quê serve.

Sendo assim, hoje nós vamos falar sobre as vantagens e desvantagens de um compilador e um interpretador. Como já dissemos em postagens anteriores; eles fazem a mesma coisa, mas de formas diferentes, por isso há algumas vantagens e desvantagens na execução de cada tradutor. A seguir há uma tabela bem explicativa:




Como mostrado na tabela, vemos que uma das vantagens dos compiladores é a rapidez na operação, porém os interpretadores são mais lentos. Sendo assim, nem por isso o certo é usar um ou outro. O que realmente depende é em qual ramo será feito o programa e de quê forma quer produzir. Aguardo perguntas e complementações. Grande abraço!

terça-feira, 30 de junho de 2015

Compiladores vs Interpretadores: Diferenças


Hoje nós vamos falar sobre algumas semelhanças e diferenças desses dois tipos de tradutores. Em postagens anteriores nós falamos as definições de cada um, por isso não abordaremos o tema por completo, apenas focaremos nas diferenças. (interpretadores e compiladores)

Como vimos, compilador é um programa ou um grupo de programas que escrito por uma linguagem ao ser compilado gera outro código que é interpretado pelo computador. Este código compilado é chamado de código-objeto.  Os compiladores analisam o código em três partes: análise léxica, análise sintática e análise semântica. São nessas análises que verificam se há algum erro na código feito pelo programador e o informa ao usuário caso haja erro.

Já o interpretador ao contrário do compilador roda o código fonte escrito como sendo o código-objeto, ele traduz o programa linha a linha, o programa vai sendo utilizado na medida em que vai sendo traduzido. Cada execução do programa precisa ser novamente traduzido e interpretado, totalmente diferente do compilador.

Alguns compiladores contam com um pré-processamento. Este pré-processamento é responsável por modificar o código-fonte conforme necessidades que o compilador identifique que sejam necessárias, por exemplo, otimização de código. Em contrapartida, o interpretador analisa sintaticamente e semanticamente o código, se estas duas etapas forem realizadas e executadas de forma correta o código está pronto para o uso. Para melhor compreensão sobre a necessidade dos compiladores e interpretadores colocamos uma charge em espanhol abaixo a fim de melhor abstração:


Em próximas postagens falarei sobre as vantagens e desvantagens desses dois tipos de tradutores, então até lá. Abraço e até a próxima! 




segunda-feira, 8 de junho de 2015

Interpretadores


Chegamos a nossa segunda postagem do tema: Compiladores versus Interpretadores e falaremos hoje sobre o interpretador. Ele é outro tipo de tradutor um pouco diferente do que falamos na postagem anterior (compilador). Não vamos à definição formal do dicionário como mostrado na última vez, pois todos sabem (pelo menos superficialmente) o significado da palavra “interpretar”.

Os interpretadores, na computação, são softwares que leem um determinado código fonte de uma determinada linguagem de programação interpretada e os convertem em código executável. O interpretador, pelo contrário do compilador, lê linha-a-linha e converte em um código objeto à proporção que o programa está sendo executado ou lê o código fonte inteiro e depois o executa e o código fonte é executado assim que fornecido ao interpretador. Vejamos a figura a seguir:



A fase analítica e a semântica do interpretador são um pouco parecidas com as utilizadas nos compiladores, a diferença é que o interpretador cria uma base de dados (estrutura interna) para realizar suas operações. Existem vários tipos de interpretação, podendo ser do código fonte ou de um código intermediário. No do código fonte o interpretador necessita criar uma estrutura de dados chamada de árvore do programa para depois executar os comandos guardados nela. Já na interpretação do código intermediário o interpretador já tem um código otimizado que durante a geração do código há várias otimizações e percorre executando as instruções.

Agradeço pela atenção e leitura do blog. Na próxima postagem falarei sobre as diferenças dos dois tipos de tradutores. Dúvidas?! Fiquem em paz e até a próxima! Equipe Code Masters agradece.