Paradigmas de Linguagens de Programação

Paradigmas Declarativos

editar

Paradigma Funcional

editar

Estilo Declarativo: não existem os conceitos de estados, atribuições, contexto, efeitos colaterais e ordem de execução. É baseado em: expressões, funções, polimorfismo parametrizado.

Visão Crítica do Paradigma Funcional

editar

Vantagens:

1. Manipulação de programas mais simples

2. Transparência referencial (mesma entrada, mesma saída)

3. Prova de propriedades

4. Transformação

Desvantagens:

1. "O mundo não é funcional".

2. Implementações ineficientes

3. Mecanismos primitivos de E/S e formatação


Principais linguagens Funcionais

editar

Lisp: Uma das primeiras linguagens funcionais

ML: Linguagem funcional impura

Haskell: Linguagem funcional pura

Scala: Funcional Orientada a Objetos

Erlang: Funcional com foco em Concorrência


Paradigma Lógico

editar

Estilo Declarativo. É baseado em: lógica simbólica, Declarações V ou F sobre objetos, relações entre os objetos.

Visão Crítica do Paradigma Lógico

editar

Vantagens:

1. Em princípio, todas do paradigma funcional.

2. Permite concepcão da aplicação em um alto nível de abstração (através de associações entre E/S)


Desvantagens:

1. Em princípio, todas do paradigma funcional.

2. Linguagens usualmente não possuem tipos.


Mais informações

editar

https://www.dropbox.com/s/7mgczmwkbczrw2m/03-VisaoGeralParadigmas.pdf?dl=0