Paradigmas de Linguagem

10
FCG/Ciência da Computação Conceitos de Linguagens de Programação

Transcript of Paradigmas de Linguagem

Page 1: Paradigmas de Linguagem

FCG/Ciência da Computação

Conceitos de Linguagens de Programação

Page 2: Paradigmas de Linguagem

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.

Page 3: Paradigmas de Linguagem

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

Page 4: Paradigmas de Linguagem

CódigoFonte

Interpretador

Entrada

Saída

Interpretação Pura

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

Page 5: Paradigmas de Linguagem

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

Interpretação Pura

Page 6: Paradigmas de Linguagem

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.

Page 7: Paradigmas de Linguagem

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

Page 8: Paradigmas de Linguagem

Sist. Implementação Híbridos

Tradutor

Máquina Virtual

CódigoFonte

CódigoIntermediário

Entrada

Saída

CódigoIntermediário

Page 9: Paradigmas de Linguagem

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.

Page 10: Paradigmas de Linguagem

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.