Orientação a Objetos x Programação Funcional
13/07/2017
0
o uso desses paradigmas é algo exclusivo, isto é, ou eu programo orientado a objetos ou eu programo de forma funcional, ou faz parte da programação funcional utilizar a orientação a objetos?
Estou querendo começar a estudar a programação funcional... Obrigado!
Augusto Santos
Posts
13/07/2017
Leandro Chiodini
Tudo certo com o Amigo.
Veja bem é um tanto mais complicado o entendimento destes dois paradigamos, um pelo fato de que Programação Funcional se atem muito mais a forma como se é desenvolvido no codigo fonte, e a Orientação Objeto é muito mais atento a parte de arquitetura de dados da sua solução.
Para explicar estes dois paradigamos precisaria um pouco mais do que algumas palavras para conseguir interpretar de forma concisa e certeira esses dois paradigamos.
Mas d eforma geral o quadro abaixo resume bem as diferenças entre as duas.
Enquanto a Programação Funcional é baseada em Funcçoes matemáticas ou seja Calculos onde um conjuto faz parte de um todo, a OOP se baseia e, formas e comportamentos de uma Objeto utilizando-se de campos e Métodos para os mesmos.
Enquanto na programação funcional tudo é proveniente de um calculo na OOP tudo vem de trocas de mensagens entre os objetos.
Funcional utiliza Recursão enquanto OOP usa o Pliformismo.
Enqunato na Funcional os dados nao sofre alteração de estado ou seja sao Imutaveis, ja na OOP eles sao totalmente mutavies de acordo com o estado do Objeto.
Funcional procura a correção de codigo, enquanto na OOP o objetivo é o reuso do codigo.
Estes obivamentes são sometne alguns pontos que denotam as diferenças entre as duas, porem existe muito mais coisa que deve se ter o entendimento.
Aconselho você a enteder as duas separadamente antes de buscar o entendimento das diferenças dela.
Espero ter ajudado.
14/07/2017
Fabio Rocha
Conforme o Chiodini mencionou paradigmas são complexo pois cada caso e um caso.
Mas coletei alguns links com mais detalhes sobre orientação a objeto para ver se te ajuda.
[url:descricao=Guia de Referência Orientação a Objetos em Java]https://www.devmedia.com.br/guia/guia-de-referencia-orientacao-a-objetos-em-java/38170[/url]
[url:descricao=Guia de Referência Orientação a Objetos em C#]https://www.devmedia.com.br/guia/guia-de-referencia-orientacao-a-objetos-em-csharp/38284[/url]
[url:descricao=DevCast: Por que adotamos Orientação a Objetos?]https://www.devmedia.com.br/por-que-adotamos-orientacao-a-objetos/38409[/url]
[url:descricao=DevCast: Por que adotamos Orientação a Objetos? - Parte 2]https://www.devmedia.com.br/por-que-adotamos-orientacao-a-objetos-parte-2/38465[/url]
Grande Abraço
14/07/2017
Augusto Santos
Pelo que pude notar, as diferenças são imensas entre ambos por focarem em objetivos diferentes. Como notei que algumas linguagens orientadas a objetos já fornecem características e recursos nativos da programação funcional, imagino que uma opção não exclui a outra.
Certamente a programação funcional é algo que vou colocar na minha lista de interesse.
Valeu!!
Clique aqui para fazer login e interagir na Comunidade :)