FCG/Ciência da Computação


Conceitos de Linguagens de
       Programação
Interpretação Pura

Os programas podem ser interpretados por “outro programa” sem

precisar passar por nenhuma conversão, neste caso o programa passa
por um interpretador.

Este interpretador por sua vez age como uma simulação do software

que busca executar o programa numa linguagem de alto nível sem trazê-
la para linguagem de máquina.

Neste caso, não existe uma “tradução” do código-fonte do programa, o

interpretador faz uso de uma espécie de “máquina virtual” para executar
as instruções passadas pela linguagem de programação.
Interpretação Pura

Uma vantagem da Interpretação Pura está nas muitas opções de

depuração (usualmente conhecido como debug) do código-fonte,

permitindo ao programador uma melhor abordagem à erros.
Essa técnica permite que na saída, seja mostrado o erro em questão e até

mesmo a linha em que este se encontra.

Por outro lado, um das desvantagens é que a execução de algumas
linguagens pelo método da interpretação pura é de 10 a 100 vezes mais

lenta que em sistemas compilados.

A causa? O que acontece é que é muito mais complexo decodificar
instruções de linguagens de alto nível, bem mais que as de máquina.
Interpretação Pura


                    O código-fonte (podendo ou não receber
                    dados de entrada), passa pelo interpretador
 Código             que é encarregado de exibir a saída sem a
  Fonte             necessidade de compilarmos o código.




              Interpretador                      Saída




Entrada
Interpretação Pura

Existem   algumas   linguagens   de   programação   que   podem      ser

interpretadas como também compiladas, um exemplo é o Visual Basic.


✔C#
✔Javascript

✔Lua

✔PHP
✔Phyton

✔Ruby on Rails

✔Smalltalk
Sist. Implementação Híbridos

Entendidos também como meio-termo entre os compiladores e os
interpretadores, são responsáveis por levar linguagens de alto nível para

linguagens intermediárias.

Devido ao fato de as instruções da linguagem de programação serem
decodificadas uma única vez, este método se torna mais rápido.

Neste caso não existe de fato uma tradução do código para código de

máquina (bytecode) e sim, uma simples interpretação do código
intermediário.

Às vezes o implementador oferece tanto implementações compiladas
como interpretadas para uma certa linguagem de programação.
Sist. Implementação Híbridos

Uma vantagem da interpretação híbrida é a portabilidade, pois o código
intermediário pode ser executados em diferentes arquiteturas/ SOs,

desde que haja o interpretador.



Linguagens híbridas:


✔C#

✔Java
Sist. Implementação Híbridos


Código
                                  Código
Fonte              Tradutor       Intermediário




Código
Intermediário
                Máquina Virtual      Saída
Entrada
Ambientes de Programação

É um conjunto de ferramentas usadas no desenvolvimetno de software
que podem conter itens como: sistema de arquivos, editor de texto, um

compilador e um depurador (debugging).

Um dos mais antigos ambientes de programação conhecidos é o UNIX,

surgido na década de 70. Na época de seu lançamento o UNIX era
considerado difícil de usar devido não possuir uma interface uniforme,

porém hoje é largamente utilizado no meio da programação.

O Borland C++ é um ambiente de programação que contém um
compilador integrado, um editor, um depurador e um sistema de
arquivos.
Ambientes de Programação

O Smalltalk é uma linguagem e um ambiente de programação

integrados, bem mais elaborada que o Borland C++. Foi o primeiro a
fazer uso de um sistema de janelas e um dispositivo de indicação pelo

mouse.

É visível que a maior parte do desenvolvimento de software no futuro,
fará uso de ambientes de programação poderosos, o que aumentará a

produtividade do software e elevará sua qualidade.

Em resumo, um programa não roda isoladamente. Estão presente

elementos tanto no desenvolvimento quanto na execução que
caracterizam o ambiente onde este programa roda.

Paradigmas de Linguagem

  • 1.
    FCG/Ciência da Computação Conceitosde Linguagens de Programação
  • 2.
    Interpretação Pura Os programaspodem ser interpretados por “outro programa” sem precisar passar por nenhuma conversão, neste caso o programa passa por um interpretador. Este interpretador por sua vez age como uma simulação do software que busca executar o programa numa linguagem de alto nível sem trazê- la para linguagem de máquina. Neste caso, não existe uma “tradução” do código-fonte do programa, o interpretador faz uso de uma espécie de “máquina virtual” para executar as instruções passadas pela linguagem de programação.
  • 3.
    Interpretação Pura Uma vantagemda Interpretação Pura está nas muitas opções de depuração (usualmente conhecido como debug) do código-fonte, permitindo ao programador uma melhor abordagem à erros. Essa técnica permite que na saída, seja mostrado o erro em questão e até mesmo a linha em que este se encontra. Por outro lado, um das desvantagens é que a execução de algumas linguagens pelo método da interpretação pura é de 10 a 100 vezes mais lenta que em sistemas compilados. A causa? O que acontece é que é muito mais complexo decodificar instruções de linguagens de alto nível, bem mais que as de máquina.
  • 4.
    Interpretação Pura O código-fonte (podendo ou não receber dados de entrada), passa pelo interpretador Código que é encarregado de exibir a saída sem a Fonte necessidade de compilarmos o código. Interpretador Saída Entrada
  • 5.
    Interpretação Pura Existem algumas linguagens de programação que podem ser interpretadas como também compiladas, um exemplo é o Visual Basic. ✔C# ✔Javascript ✔Lua ✔PHP ✔Phyton ✔Ruby on Rails ✔Smalltalk
  • 6.
    Sist. Implementação Híbridos Entendidostambém como meio-termo entre os compiladores e os interpretadores, são responsáveis por levar linguagens de alto nível para linguagens intermediárias. Devido ao fato de as instruções da linguagem de programação serem decodificadas uma única vez, este método se torna mais rápido. Neste caso não existe de fato uma tradução do código para código de máquina (bytecode) e sim, uma simples interpretação do código intermediário. Às vezes o implementador oferece tanto implementações compiladas como interpretadas para uma certa linguagem de programação.
  • 7.
    Sist. Implementação Híbridos Umavantagem da interpretação híbrida é a portabilidade, pois o código intermediário pode ser executados em diferentes arquiteturas/ SOs, desde que haja o interpretador. Linguagens híbridas: ✔C# ✔Java
  • 8.
    Sist. Implementação Híbridos Código Código Fonte Tradutor Intermediário Código Intermediário Máquina Virtual Saída Entrada
  • 9.
    Ambientes de Programação Éum conjunto de ferramentas usadas no desenvolvimetno de software que podem conter itens como: sistema de arquivos, editor de texto, um compilador e um depurador (debugging). Um dos mais antigos ambientes de programação conhecidos é o UNIX, surgido na década de 70. Na época de seu lançamento o UNIX era considerado difícil de usar devido não possuir uma interface uniforme, porém hoje é largamente utilizado no meio da programação. O Borland C++ é um ambiente de programação que contém um compilador integrado, um editor, um depurador e um sistema de arquivos.
  • 10.
    Ambientes de Programação OSmalltalk é uma linguagem e um ambiente de programação integrados, bem mais elaborada que o Borland C++. Foi o primeiro a fazer uso de um sistema de janelas e um dispositivo de indicação pelo mouse. É visível que a maior parte do desenvolvimento de software no futuro, fará uso de ambientes de programação poderosos, o que aumentará a produtividade do software e elevará sua qualidade. Em resumo, um programa não roda isoladamente. Estão presente elementos tanto no desenvolvimento quanto na execução que caracterizam o ambiente onde este programa roda.