Paradigmas de Linguagem de Programação

O Papel de LPs no PDS

O objetivo de LPs é tornar mais efetivo o Processo de Desenvolvimento de Software (PDS)

PDS visa geração e manutenção de softwares de modo produtivo e com garantias de padrões de qualidade


Propriedades desejadas em um Software:

•Confiabilidade

•Manutenibilidade

•Eficiência

Desempenho

Propriedades desejáveis em LPs

•Legibilidade

•Marcadores de Blocos

if (x>1)

if (x==2)

x=3;

else x=4;

Desvios Incondicionais (goto)

•Facilidade de Aprendizado

•Excesso de Características é Prejudicial

c = c + 1;

c+=1;

c++;

++c;

•Eficiência

•Verificação Dinâmica de Tipos

•Confiabilidade

Tratamento de Exceções

•Reusabilidade

•Redigibilidade

•Tipos de Dados Limitados (FORTRAN)

•Ausência de Tratamento de Exceções

•Portabilidade

•Rigor no Projeto

Pode Contrastar com Eficiência



Conceitos Básicos

•Paradigma

•Léxico

•Sintaxe

Semântica


Paradigma

•Conjunto de regras que estabelecem fronteiras (domínios) e descrevem como resolver os problemas dentro destas fronteiras.

•Exemplo ou modelo que servem de norma.

•Forma de representar e manipular o conhecimento.


Léxico e Sintaxe

Léxico: é o conjunto de palavras que compõem a linguagem (também chamadas de palavras reservadas)

Sintaxe: em LPs é a forma de suas expressões, de suas instruções e de suas unidades de programas.


Semântica

•Em LPs é o significado das expressões, instruções e definição de unidades de programas:

Exemplo: a sintaxe do IF no Pascal é:

IF <expressão condicional> THEN

<instrução>

Significado: se o resultado da expressão condicional for verdadeiro, executa a instrução, do contrário não.


Implementação de LPs

Compilação

•Eficiência

•Problemas com Portabilidade e Depuração

Interpretação Pura

•Flexibilidade, Portabilidade e Facilidade de Depuração

•Problemas com Eficiência

Híbrido

•Une Vantagens dos Outros Métodos

•JVM


Paradigmas de LPs

Imperativo

•Processo de Mudanças de Estados

•Variável, Valor e Atribuição

•Células de Memória

Declarativo

•Especificações sobre a Tarefa a Ser Realizada

•Abstrai-se de Como o Computador é Implementado