Paradigmas de Linguagens de Programação
Paradigmas Declarativos
[editar | editar código-fonte]Paradigma Funcional
[editar | editar código-fonte]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 | editar código-fonte]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 | editar código-fonte]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 | editar código-fonte]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 | editar código-fonte]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 | editar código-fonte]https://www.dropbox.com/s/7mgczmwkbczrw2m/03-VisaoGeralParadigmas.pdf?dl=0