1
resposta

Qual é a vantagem de termos objetos imutáveis e funções puras?

De certa forma, creio que consegui entender o conceito dos objetos imutáveis e, consequentemente, funções puras. Veja se meu raciocínio está correto:

Exemplo, se eu tenho uma variável de log, consequentemente, ela é variável. Então, pode assumir qualquer valor e isso pode mudar de acordo com condições ou eventos. Sendo assim, se eu utilizar uma função "não pura", obviamente, estarei com chances do resultado não ser o mesmo. É esse o conceito?

Se sim, qual é a vantagem dele durante a programação e, principalmente, como ele costuma ser aplicado.

Obrigado!

1 resposta

Boa pergunta, Bruno!

Na seguinte aula https://cursos.alura.com.br/course/clojure-mutabilidade-com-atoms-e-refs/task/60080 o Guilherme explica com exemplos práticos uma das maiores desvantagens da imutabilidade.

Dando um spoiler, ele fala bastante sobre programas que são executados em múltiplas threads terem efeitos colaterais devido a mutabilidade. Vale muito a pena assistir, porque além de explicar ele também mostra em código esses erros acontecendo.