Incrivel, estava estudando Javascript funcional hoje no Freecodecamp, até deixei anotado um trecho This is a small example of a much larger pattern - you call a function on a variable, array, or an object, and the function changes the variable or something in the object. One of the core principles of functional programming is to not change things. Changes lead to bugs. It's easier to prevent bugs knowing that your functions don't change anything, including the function arguments or any global variable. The previous example didn't have any complicated operations but the splice method changed the original array, and resulted in a bug. Recall that in functional programming, changing or altering things is called mutation, and the outcome is called a side effect. A function, ideally, should be a pure function, meaning that it does not cause any side effects.
Aula maravilhosa ... parabéns. Eu que vivo escavando bits (mesmo programando em C ou C++) vivo enchergando memória como posições onde guardo variáveis locais ou globais mas nunca imutáveis.
Curso incrível, Leonardo você poderia fazer uma curso de JavaScript do básico ao avançado, se caso já tiver passa o link ??? Quero muito aprender a resolver problemas em código usando JS !!!!
Tá tudo muito bom! Mas talvez exista uma outra forma de apresentar a imutabilidade. É muito usual a ideia de pegar uma variável e fazê-la percorrer o código todo atribuindo diferentes valores. A ideia funcional é criar um identificador "legume" e atribuir um valor "batata". Mais pra frente, se desejar fazer um "bolinho de batata", fazemos: let bolinho_pronto = fazer_bolinho(legume); No fim do código ainda teremos console.log(legume);// batata
video top! Parabéns só uma pequena dica, quando estiver gravando não precisa ficar falando "uhum,uhum...." Obrigado por compartilhar conhecimentos!! muito bom..
Boa noite. Excelentes explicações. Mas eu nunca consegui entender em como aplicar a programação funcional em projetos do mundo real, tais como API's, CRUD's, fazendo uso de banco de dados etc. Em exemplos assim é muito fácil, uma vez que os dados são fictícios e constantes, mas como se organiza um projeto inteiro de back-end com varias informações mudando ao longo do tempo?
Léo eu percebi que ao fazer o spread de um objeto onde tenha uma propriedade que tb é um objeto, ele acaba copiando a referência e não o valor desse objeto, como contornar isso? Ex: {nome: 'Leo', carros:{nome: 'camaro', cor: 'azul'}}
Eu acredito que seja pelo fato do operador spread funcionar como um top level assignament. Ou seja, ele não consegue trabalhar num nível mais interno dentro de nested objects. Penso que uma possível solução seria transformar a estrutura num array com as entradas/valores e iterar com reduce gerando um novo objeto.
Excelente. Gostaria de compartilhar a biblioteca que concluí hoje, para trabalhar com imutabilidade. github.com/Cahmoraes/simple-immuter Inclusive divulguei na comunidade da Cod3r. Ansioso por novos conteúdos sobre programação funcional
Bom vídeo cara, só achei que incomodou um pouco seu amigo ficar falando "uhum" o tempo todo e repetindo o que vc acabou de falar estilo aqueles alunos chatos na sala de aula querendo aparecer pro professor. Mas valeu por compartilhar o conhecimento.
Fala, Grande Alessandro! Agradeço demais pelo feedback! Estávamos mirando num formato de bate-papo entre mim e o Leo e quando fazemos isso de forma natural essas coisas acontecem 😅 O "uhum" é algo natural de nossas conversas, mas talvez não caiba para esses vídeos, ficarei atento. Agora quanto a repetição, te garanto que não é feita nesse intuito. Repetir em voz alta, tanto me ajuda a validar o que eu entendi com o que foi dito, quanto auxilia também na fixação do conteúdo para os demais alunos. De modo geral, nos cursos o Leo repete bastante um mesmo conceito com esse mesmo objetivo, a diferença é que dessa vez fui eu fazendo as repetições 😅
O dono do melhor curso na Udemy de JS!!! Só agradecer!
Isso aí é verdade, hein!?! Eu aprendi Javascript com ele na Udemy e hoje tô bem empregado e evoluindo constantemente.
como posso achar??
Incrivel, estava estudando Javascript funcional hoje no Freecodecamp, até deixei anotado um trecho
This is a small example of a much larger pattern - you call a function on a variable, array, or an object, and the function changes the variable or something in the object.
One of the core principles of functional programming is to not change things. Changes lead to bugs. It's easier to prevent bugs knowing that your functions don't change anything, including the function arguments or any global variable.
The previous example didn't have any complicated operations but the splice method changed the original array, and resulted in a bug.
Recall that in functional programming, changing or altering things is called mutation, and the outcome is called a side effect. A function, ideally, should be a pure function, meaning that it does not cause any side effects.
Rei da Udemy! Obrigado por ensinar com maestria.
Show de bola.... aguardando ansiosamente os próximos vídeos... obrigadoooo
Cara, isso que acho um conteúdo top, conhecimento + clareza + objetividade. Parabéns amigo e desde já obrigado pelo conteúdo.
O dono do melhor curso na Udemy de JS!!! Só agradecer! 2
Aula maravilhosa ... parabéns. Eu que vivo escavando bits (mesmo programando em C ou C++) vivo enchergando memória como posições onde guardo variáveis locais ou globais mas nunca imutáveis.
O dono do melhor curso na Udemy de JS!!! Só agradecer! 3
Curso incrível, Leonardo você poderia fazer uma curso de JavaScript do básico ao avançado, se caso já tiver passa o link ??? Quero muito aprender a resolver problemas em código usando JS !!!!
Foda de mais grato de mais a vocês , sucesso time
Bora pra cima, Ricardo! 💪
O dono do melhor curso na Udemy de JS!!! Só agradecer! X
alternando entre o web moderno e os videos do canal.
Vcs são incíveis, vlw demais.
Primeiro muito obrigado, segundo to pedindo aqui os vídeos de Javascript fundamental rs.
Aguardando o próximo vídeo! 😁
Estudar fundamentos é sempre massa.
5 likes? Mereciam 5 mil. No mínimo.
Obg 🙏🏻
Excelente explicação.
Muito bom!!
Tá tudo muito bom! Mas talvez exista uma outra forma de apresentar a imutabilidade. É muito usual a ideia de pegar uma variável e fazê-la percorrer o código todo atribuindo diferentes valores. A ideia funcional é criar um identificador "legume" e atribuir um valor "batata". Mais pra frente, se desejar fazer um "bolinho de batata", fazemos:
let bolinho_pronto = fazer_bolinho(legume);
No fim do código ainda teremos console.log(legume);// batata
Muito boa a aula! Espero que não demore muito para as próximas.
Boa Noite Mestres seria muito bom uma Série
Fala Eudézio! Esse é o propósito!
Didática incrível
TOP demais. Parabéns!
Muito bom.
Uhum uhum uhum
video top! Parabéns
só uma pequena dica, quando estiver gravando não precisa ficar falando "uhum,uhum...."
Obrigado por compartilhar conhecimentos!! muito bom..
melhor explicação para ponteiro e referencias kkkkkkkk
Show de bola
Muito bom!!
Vlw!!!
Boa noite. Excelentes explicações.
Mas eu nunca consegui entender em como aplicar a programação funcional em projetos do mundo real, tais como API's, CRUD's, fazendo uso de banco de dados etc.
Em exemplos assim é muito fácil, uma vez que os dados são fictícios e constantes, mas como se organiza um projeto inteiro de back-end com varias informações mudando ao longo do tempo?
Opa ai sim
kkk
Caíque Moraes q Sistema Operacional é aquele cujo Terminal onde tem os comandos é o Metasploid
Muito top!
Só uma obs. o seu auxiliar fala o tempo todo "rã, rã, rã, rã, rã, rã"
eu sou fã!
Léo eu percebi que ao fazer o spread de um objeto onde tenha uma propriedade que tb é um objeto, ele acaba copiando a referência e não o valor desse objeto, como contornar isso?
Ex: {nome: 'Leo', carros:{nome: 'camaro', cor: 'azul'}}
Eu acredito que seja pelo fato do operador spread funcionar como um top level assignament.
Ou seja, ele não consegue trabalhar num nível mais interno dentro de nested objects.
Penso que uma possível solução seria transformar a estrutura num array com as entradas/valores e iterar com reduce gerando um novo objeto.
Excelente. Gostaria de compartilhar a biblioteca que concluí hoje, para trabalhar com imutabilidade.
github.com/Cahmoraes/simple-immuter
Inclusive divulguei na comunidade da Cod3r. Ansioso por novos conteúdos sobre programação funcional
Bom vídeo cara, só achei que incomodou um pouco seu amigo ficar falando "uhum" o tempo todo e repetindo o que vc acabou de falar estilo aqueles alunos chatos na sala de aula querendo aparecer pro professor. Mas valeu por compartilhar o conhecimento.
Fala, Grande Alessandro! Agradeço demais pelo feedback! Estávamos mirando num formato de bate-papo entre mim e o Leo e quando fazemos isso de forma natural essas coisas acontecem 😅 O "uhum" é algo natural de nossas conversas, mas talvez não caiba para esses vídeos, ficarei atento. Agora quanto a repetição, te garanto que não é feita nesse intuito. Repetir em voz alta, tanto me ajuda a validar o que eu entendi com o que foi dito, quanto auxilia também na fixação do conteúdo para os demais alunos. De modo geral, nos cursos o Leo repete bastante um mesmo conceito com esse mesmo objetivo, a diferença é que dessa vez fui eu fazendo as repetições 😅
Quer aprender os conceitos e programação funcional de vdd? Estuda haskell bom de mais.
Elixir é uma amigável e interessante linguagem para tal. Haskell se for por desempenho, mas iria de Elixir/erlang
@@moimsk8 ainda prefiro haskell, elixir não chega a ser tão completa como haskell.
@@nan-code pelo que Haskell desempenha e oferece, talvez eu prefira Ocaml a Haskell. Mas pra uso geral o Elixir tem mais a oferecer.
o número de vezes que ele ficou falando uhum aham uhum atrapalhou demais a experiência, sei lá
Esse "umhum" é chato vei kkkkk
umhum chato da poha