(outra expressao) expressão A solução de um problema é feita por meio de funções, usando uma implementação um conjunto de primitivas e regras pra construir esses primitivas
quanto hoje em dia e tinham bem pouco poder de processamento. Pra isso era importante utilizar linguagens que possibilitassem uma economia na memória e para isso linguagens imperativas que lidavam bem com a memória e faziam tarefas de forma procedural ficaram em alta.
leite, farinha e açucar Fermento faz a massa crescer A massa cresce 30 por minutos ate ficar boa pra assar O forno é o lugar em que assamos bolo A forma ideal é diferente para se queremos bolo, cupcake ou pão Por assar entendemos colocar a massa sob uma temperatura de 200c ou por 40 minutos no microondas.
e como controlar alterações no estado. Informações que é desejada e que transformações são necessárias. Alterações de estado Importante. Inexistente. Ordem de execução Importante. Baixa importância. Controle de fluxo primária Loop, condições, e chamadas de função (método). Chamadas de função, incluindo a recursão. Unidade principal de manipulação Instâncias das classes ou estruturas. Funções como objetos de primeira classe e coleções de dados. https://docs.microsoft.com/pt-br/dotnet/standard/linq/functional-vs-imperative-programming
"reason about" problemas locais. • A solução é isolar o estado e aumentar o codigo puro • Se você precisa de umestado local, encapsule-o em funções puras. • Side Effects são necessarios, mas podem ficar isolados e abstraidos • Testar funções puras é só questão de checar um valor de retorno!
performance, limitações da linguagem ou por simplicidade. Nesse caso o ideal é tentar encapsular o estado ou tentar de alguma forma isolar o efeito colateral.
em modulos operando em dados. • Já em linguagens orientadas a objetos encapsulamos nosso código e dados para que eles interajam entre si por meio de mensagens.