Baixe no formato PDF, TXT ou leia online no Scribd
Fazer download em pdf ou txt
Você está na página 1de 2
RELATÓRIO
PROGRAMAÇÃO FUNCIONAL EM 40 MINUTOS
Russ Olsen
O QUE É PROGRAMAÇÃO FUNCIONAL?
As linguagens de programação são repletas de nomes que podem receber um valor, de lógica condicional, de iterações, de procedimentos, de diferentes tipos de dados, de indentação, de namespaces, de arrays, de hashes, de classes (poo), de herança (poo) e de métodos (poo), que por sua vez formam um programa. Para que a programação funcional seja aplicada é necessário reestruturar esta base das linguagens de programação. A maioria das linguagens possui esse conceito de orientação a objetos, mas para uma linguagem ser funcional por completo, deverá excluir o paradigma orientado a objetos. Na programação funcional utiliza-se funções. As funções são valores manipuláveis com resolução imutável. Elas recebem um conjunto como entrada e mostram um conjunto de saída. As funções podem ter várias regras que levam ao resultado almejado, assim como as funções que os matemáticos utilizam. Dessa forma, apenas será pensado nos elementos de entrada, os parâmetros, e a saída será produzida pela função. Isso significa que não há efeitos colaterais, pois as funções farão tudo, elas podem atualizar bancos de dados, podem deletar arquivos, podem fazer cálculos de simples a complexos, etc. Uma coisa interessante ao usar funções é que pode-se usar variáveis dentro delas, o que torna desnecessário qualquer mudança nas variáveis. Mas existe um problema, se a variável for, por exemplo, uma lista, ela pode ser modificada a qualquer momento. Para resolver isso, apenas será usado variáveis imutáveis. Assim, nenhum dado será modificado, e para contornar a necessidade de modificar uma variável, será utilizada a técnica de fazer cópia de uma variável, podendo mudar esta nova variável sem alterar a pré existente. A partir disso, surge um novo problema: cópias, cópias e mais cópias. Felizmente desenvolveram um método chamado Persistent Data Structure, onde existe uma ramificação organizada formada por cópias limitadas de uma variável primária. Isso impossibilita a criação de variáveis repetidas e desnecessárias. A imutabilidade faz parte da Programação Funcional junto com as funções. Outro problema é que não há mutabilidade, e o mundo funciona de forma mutável. Então uma ponte entre o programa funcional e o mundo mutável deve ser feita. Uma das pontes são os atoms, eles armazenam dados que podem ser modificados por funções para que o dado seja atualizado. Outra ponte são os agents/actors, eles recebem funções que serão executadas em sequência. Atoms e agents/actors (as pontes da mutabilidade) fazem parte da Programação Funcional. COMO É SER UM PROGRAMADOR FUNCIONAL? Aparentemente é uma das melhores formas de programar. Continuará ocorrendo erros aleatórios, redundância de código, escrita ruim de código e os bancos de dados podem continuar sem funcionar. Uma das melhores coisas sobre o código funcional é que as threads não podem subscrever o código por ser imutável e uma thread não pode processar o que outra thread está processando do código, pois a função faz entrada em uma thread e faz a saída na mesma thread. No começo pode parecer difícil gerenciar tantas regras, mas com o tempo passa a ser perceptível o quão fácil é para entender o código e o raciocínio em relação ao código mais simples. Um programador funcional basicamente escreve funções em todo o expediente, além de alguns protocolos, pontes, record types e multimétodos. Com o tempo se torna algo simples de fazer.
PROGRAMAÇÃO FUNCIONAL FUNCIONA?
Russ Olsen introduz Pedestal.io, que é baseado em Programação Funcional, sendo formado por 96.1% de funções. É um conjunto de bibliotecas open source que é amplamente utilizado pelo mundo. A conclusão é que funciona muito bem. Pode-se adicionar quantas funções forem necessárias e cada uma funciona de forma independente. Apenas deve-se testar as funções para que tudo funcione.
Excel Sem Segredos: O Guia Ilustrativo Completo para Iniciantes para Aprender qualquer Fundamental, Fórmula, Função e Gráfico em Menos de 5 Minutos com Exemplos Simples e Reais