You are on page 1of 2

Nome: Fernando Ferreira Passe

Matrcula: 77459

PARADIGMA FUNCIONAL
Paradigmas so modelos padres ou estilos de programao suportados por linguagens
que agrupam certas caractersticas comuns. A classificao de linguagens em
paradigmas uma consequncia de decises de projeto que tm impacto na forma
segundo a qual uma aplicao real modelada do ponto de vista computacional.
O Paradigma funcional consiste em desenvolver funes que solucionam um
determinado problema. Tais funes obedecem aos princpios matemticos, embora
nem sempre possam ser consideradas funes totais.
A Programao funcional um paradigma de programao que trata a computao
como uma avaliao de funes matemticas e que evita estados ou dados mutveis.
Este mtodo enfatiza a aplicao de funes, em contraste da programao imperativa,
que enfatiza mudanas no estado do programa.
Uma funo, neste sentido, pode ter ou no ter parmetros e um simples valor de
retorno. Os parmetros so os valores de entrada da funo, e o valor de retorno o
resultado da funo.
A caracterstica predominante da programao funcional que o significado de uma
expresso o seu valor, e o papel do computador obt-lo. Nas linguagens funcionais
as funes so entidades de 1 Classe e podem ser usadas como parmetros, retornadas
como resultado e at mesmo armazenadas em estruturas.
A Linguagem de programao funcional tem sido mais usadas academicamente que no
desenvolvimento comercial de software. Entretanto, algumas linguagens notveis
usadas na indstria e no comrcio incluem Erlang (aplicaes concorrentes), R
(estatstica), Mathematica (matemtica simblica) Je K (anlise financeira) e XSLT.
Importantes influncias na programao funcional foram o clculo lambda, as
linguagens de programao APL e Lisp, e mais recentemente ML, Haskell, OCaml e
F#.
O paradigma funcional possui algumas vantagens em relao aos outros paradigmas,
destacando-se:
Manipulao de programas mais simples:
Prova de propriedades
Transformao (exemplo: otimizao);
Concorrncia explorada de forma natural;

Entretanto, como O mundo no funcional ! tambm so encontradas algumas


dificuldades como Implementaes ineficientes e Mecanismos primitivos de E/S e
formatao.
As linguagens funcionais so naturalmente recursivas e implementam de forma mais
rpida o conceito de recurso. Este fato dependendo do contexto podem torn-las mais
eficientes que as linguagens imperativas para alguns problemas.

Algumas caractersticas

as expresses so a representao exata da informao;


as expresses podem ser associadas a nomes;
todos os nomes que em uma expresso tem um valor nico e imutvel;
os valores dependem dos valores das sub-expresses que as constituem;
no permite efeito colateral em funes, a linguagem oferece transparncia
referencial.

Vantagens
mais eficiente que as linguagens imperativas para clculo recursivo;
transparncia referencial;
grande flexibilidade, capacidade de abstrao e modularizao.
Desvantagens
ilegibilidade do cdigo;
os programas podem ser menos eficiente.
Principais linguagens

Lisp
ML
Miranda
Haskell

Um bom exemplo de programa que utiliza em que podemos utilizar o paradigma funcional na
implementao de uma funo que calcula a sequncia de Fibonacci utilizando recurso,
caracterstica a qual faz parte deste tipo de paradigma.

Quem usa
Empresas como Twitter e Foursquare, utilizam uma linguagem chamada Scala que une
o lado bom da programao orientada a objetos como as vantagens da programao
funcional. Assim possvel fazer uso de todos os melhores recursos disponveis em
ambos os paradigmas.

You might also like