A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Influencias sobre o Projeto da Linguagem

Apresentações semelhantes


Apresentação em tema: "Influencias sobre o Projeto da Linguagem"— Transcrição da apresentação:

1 Influencias sobre o Projeto da Linguagem

2 Arquitetura do Computador
A maioria das mais populares dos ultimos 40 anos foi projetada em função da arquitetura de Von Newman Essas linguagens são chamadas de imperativas Recursos centrais: variáveis, as quais modelam as células de memória, as instruções de atribuição e a forma iterativa de repetição.

3 Arquitetura do computador
A iteração é rapida nos computadores de Von Newman porque as instruções são armazenadas em celulas adjacentes da memória. Essa eficiência desencoraja o uso de recursão para repetição: Linguagens funcionais

4 Metodologias de Programação
As novas metodologias de desenvolvimento de software surgiram em consequencia das pesquisas da decada de 70 As principais deficiencias descobertas: Não verificação de tipos Insuficiencia de instruções de controle

5 Verificação de Tipos Testar se existem erros de tipo em determinado programa, ou por meio de compilador ou durante a execução do programa. Uma vez que a verificação de tipos em tempo de execução é dispendiosa A verificação em tempo de compilação é mais desejavel

6 Verificação de Tipos Erros:
Na linguagem C original, o tipo de parametro real em uma chamada a função não é verificado para determinar se seu tipo coincide com o do parametro formal correspondente na função. Uma variavel do tipo int pode ser usada como um parametro real em uma chamada a uma função que espera um tipo float como seu parametro formal, e nem o compilador nem o sistema em tempo de compilação detectarão a incoerencia.

7 Metodologias de Programação
Iniciou-se projetos de linguagem onde há ênfase nos tipos abstratos de dados, nos anos 70. Nos anos 80, surgiu a orientação a objetos, onde alem da abstração dos dados há a encapsulamento, herança e vinculação de tipos dinamicos

8 Introdução: execução de programas
Componentes: programa, dados, computador Objetivo: viabilizar a execução de um programa fonte, juntamente com seus dados, em um computador para a obtenção dos resultados Problema: notação usada no programa pode ser incompatível com o conjunto de instruções executáveis

9 Computador e linguagens
Um computador pode ser representado por: uma máquina virtual, capaz de executar operações mais abstratas (representadas através de uma linguagem de programação)‏ uma máquina real, capaz de executar um determinado conjunto de operações concretas (expressas em linguagem de máquina)‏

10 Linguagens e Máquinas Cada máquina representa um conjunto integrado de estruturas de dados e algoritmos Cada máquina é capaz de armazenar e executar programas em uma linguagem de programação L1, L2, L3,...Ln.

11 Linguagens e Máquinas

12 Máquina reais e máquinas virtuais
Máquina real: conjunto de hardware e sistema operacional capaz de executar um conjunto próprio de instruções (plataforma de execução) O elo de ligação entre a máquina abstrata e a máquina real é o processador da linguagem

13 Máquina reais e máquinas virtuais
Processador da linguagem: programa que traduz as ações especificadas pelo programador usando a notação própria da linguagem em uma forma executável em um computador Máquina abstrata (virtual): combinação de um computador e um processador de linguagem

14 Máquina reais e máquinas virtuais

15 Preparação de programas

16 Programa Montador (assembler)
Montadores aceitam como entrada um programa escrito em linguagem de montagem (assembler) e produzem código de máquina correspondente a cada instrução Sendo P1 o programa assembler e P0 o programa em linguagem de máquina, P1 e P0 devem ser funcionalmente equivalentes

17 Programa Compilador Compiladores aceitam como entrada um programa escrito em linguagem de programação e produzem um programa equivalente em outro código

18 Programa Compilador Programa objeto: linguagem de máquina, linguagem assembler ou linguagem intermediária Sendo P2 o programa fonte e P0 o programa objeto, P2 e P0 devem ser funcionalmente equivalentes

19 Compiladores x plataformas

20 Compilador Pascal Programas fonte de usuários podem ser traduzidos para linguagem de máquina ou para P-code

21 Compilador Pascal A versão em P-code deve ser interpretada maior tempo de execução melhores diagnósticos de erros favorece o processo de alterações e testes permite a reexecução completa ou incremental dentro do próprio ambiente de desenvolvimento

22 Interpretador Interpretador: a partir de um
programa fonte escrito em uma linguagem de programação ou código intermediário e mais o conjunto de dados de entrada exigidos pelo programa realiza o processo de execução  Pode produzir código executável, mas não produz programa objeto persistente  Exemplos: Basic, LISP, Smalltalk e java


Carregar ppt "Influencias sobre o Projeto da Linguagem"

Apresentações semelhantes


Anúncios Google