Introdução à programação funcional
Programação funcional do zero
Explicando a programação funcional do zero, fácil de entender e prática, de uma ampla gama de perspectivas! ~ Da teoria da categoria à construção de FRP
? Unidade 1? VISÃO GERAL
https://zenn.dev/ken_okabe/books/functional-programming-from-scratch-1/
Este é o começo do artigo.
Apresentando o "exterior" da programação funcional
O que é programação funcional?
Uma ampla gama de tópicos, incluindo tendências na mais recente comunidade de programação, CPU e programação imperativa, tipos de linguagens do sistema, abstrações para programação estruturada, introduções a linguagens funcionais, relacionamentos entre termos e matemática do mecanismo de objetos, orientado a objetos, programação funcional, e aspectos filosóficos do mecanismo não realizado (mecanismo de jogo) versificações funcionais do mecanismo.
Iniciar e configurar rápido para os ambientes de desenvolvimento TypeScript e F#
https://zenn.dev/ken_okabe/books/functional-programming-from-scratch-1
Apresentando as peças que formam o esqueleto para programação funcional
Funções de primeira classe, expressões de lambda, funções de ordem superior, conectividade operacional binomial, síntese de funções, monoid
Sem isso, a programação funcional não começará, portanto, é necessário entender
https://zenn.dev/ken_okabe/books/functional-programming-from-scratch-2
Entrando na teoria subjacente da programação funcional profundamente
Tentaremos fornecer explicações fáceis de abordar, citando artigos conhecidos destinados a leitores que estão particularmente interessados na teoria da categoria, que se pensa ser difícil.
Os leitores desinteressados não precisam se forçar a entender tudo, e não se importam em pular.
https://zenn.dev/ken_okabe/books/functional-programming-from-scratch-3
Inclui um resumo do conteúdo e diagramas da teoria
Introdução ao pipeline/list/option/io/timeline/assíncrone
Implementando Monad, escrevendo código específico usando F# e TypeScript
Por fim, pretendemos construir um FRP minimalista a partir do zero.
https://zenn.dev/ken_okabe/books/functional-programming-from-scratch-4
Código de amostra
https://zenn.dev/ken_okabe/books/functional-programming-from-scratch-5
Para muitos programadores
além disso
Porque é um corpo de conhecimento no reino
E é raro que essa "consciência" seja explicada em detalhes.
O que é programação funcional?
Combinando Fiunção Pura
Funções puras não devem ter efeitos colaterais
"Variável" é imutável
Existe transparência referencial (vamos ter certeza de
Em geral, é assim que os novos termos são listados, juntamente com recursos e especificações.
Todas essas são regras bastante rigorosas , e são definitivamente requisitos que os programadores nunca tiveram ciente antes e tiram a liberdade de codificação, fazendo -os sentir que estão amarrados nas mãos e pés do programador.
A verdadeira natureza de cada terminologia é "o que é realmente?" De fato, os leitores não são explicados corretamente até o fim.
Por que isso tem que ser o conceito? Por que não devemos ser tão restritos? ? Desde a palavra "o que é isso realmente?" Não é processado corretamente, geralmente é empurrado junto com o novo código, bem como "Você pode escrever um código tão bonito" ou "Você sentiu algum benefício?"
De fato, esses novos termos e conceitos têm semelhanças simples e sólidas , e existem conceitos fundamentalmente que você deve estar ciente, e você deve primeiro explicá -los minuciosamente.
Este é um grande processo de "consciência" e, de fato, "consciência" é uma exploração e aventura intelectuais , e é algo muito interessante.
No entanto, como o principal objetivo do comentário é cobrir esses recursos listados e vincular cada um com uma explicação convincente, é uma atitude contraproducente; portanto, esse "reconhecimento" mais importante pode ser simplesmente tocado ou completamente ignorado como um bônus.
A pessoa que explica a história pode "realmente não entender" (acho que isso é realmente muitos casos), ou para quem o conhece, mas já o dominou, é um aborrecimento explicar isso gentilmente, por isso é fácil dizer "eu disse isso, certo?"
Claro, não conheço todas as explicações, mas acho que a maioria das explicações falhou por esse motivo.
Para algumas pessoas, o mundo é conhecido | Desconhecido ~ "o que eu sei" e "o que eu não sei"
Obviamente, há predominantemente mais "coisas que você não conhece" no mundo, e é impossível usar apenas a proporção desse gráfico; portanto, o tamanho de "coisas que você sabe" é bastante exagerado para explicação.
O ato de expandir gradualmente a área de "Knowing Things" de Know é a aquisição do conhecimento , como se substituísse gradualmente a área de incógnitas "conhecendo as coisas"
Por exemplo, se nos limitarmos aos campos da programação e isso,
Eu quero aprender a linguagem de programação ferrugem !
Eu quero poder dominar o Unreal Engine 5 !
Eu quero saber mais sobre as técnicas práticas de Docker !
Vai ser assim
Rust, Unreal Engine 5, Docker e outros são tecnologias bem conhecidas "conhecidas" que são famosas na programação e no mundo de TI.
O famoso "conhecido" aqui não significa que todos sejam bem conhecidos, conhecidos ou familiarizados com a tecnologia, mas que o nome deles é bem conhecido, conhecido ou conhecido.
Em outras palavras, se você conhece o conteúdo da tecnologia ou não, existem áreas desconhecidas que nem são geralmente conhecidas, desconhecidas e desconhecidas que nem são conhecidas.
As "partes" da programação funcional não são tecnologia que já é bem conhecida do público, como Rust e Docker.
Para aprender programação funcional
Unkown (não realizado)
Conhecido
O processo = consciência é mais importante do que qualquer coisa
No entanto, muitas das explicações funcionais de programação que são abundantes nas ruas tentam explicar novos conceitos necessários para a programação funcional, que provavelmente são desconhecidos para os leitores e nem estão cientes, já são bem conhecidos e conhecidos.
Esta abordagem não funciona
o resultado,
"A programação funcional tem o conhecimento de que são funções puras".
"Funções puras são referências transparentes"
"As funções puras não causam efeitos colaterais".
Este é um estado incrível em que uma explicação completamente incompreensível está no modo normal, onde é tentado um conceito desconhecido para explicar algo desconhecido com outro conceito desconhecido, ou que envolve montar algo no ar sem fundamento.
Ou, nos casos em que você percebe instintivamente que é ruim, você pode iniciar um exemplo bastante incomum e escrever o código de exemplo para tentar convencer o leitor.
Em geral, essas duas opções são os resultados e a verdadeira natureza do conceito fundamental, "consciência", não é mencionado e nunca é explicado de uma maneira que dê ao leitor a consciência do importante leitor.
Explique outra palavra desconhecida com palavras que você não conhece ← não para discussão
Mostrando código de amostra para um caso singular, reconstruindo conceitos desconhecidos na mente do leitor ← raramente existem gênios que podem fazer isso
Há também uma "técnica correspondente entre os dois".
Esse é um padrão em que você escreve código para Haskell, uma linguagem funcional e a chama de "Introdução à programação funcional ou" teoria setorial ".
Explicando um novo conceito de programação funcional com especificações de linguagem desconhecida para Haskell.
Mostramos código de amostra para a linguagem desconhecida Haskell, que reconstrua os conceitos desconhecidos de programação funcional e teoria da categoria nas mentes dos leitores.
É claro que essa "correspondência dos dois" é estranha, mas na verdade existe uma situação atual e dura no mundo da programação, onde as pessoas que passaram a entender, pelo menos quem podem escrever o código de Haskell, estão reproduzindo a mesma abordagem que tiveram que entender.
Desconhecido: conhecimento "desconhecido",
Sabe: "O que eu sei"
Desconhecidos "coisas que eu não sei"
Existem os dois
Para esclarecer isso, é apenas uma questão de diagramas de classificação conceitual, mas também é possível reescrever os gráficos.
Primeiro, a metade inferior geralmente é notada, bem conhecida, área conhecida de conhecida
Novamente, essa abordagem funciona se o destino que você deseja aprender já for uma tecnologia conhecida, ferrugem, motor irreal ou docker.
No entanto, essa abordagem não funciona em programação funcional
Primeiro de tudo, é muito importante reafirmar que o conhecido sabe "ciente do que você sabe".
Por exemplo, todos devem estar "muito familiarizados com" "adição", "subtração", "multiplicação" e "divisão" que aprenderam no começo na matemática do ensino fundamental.
Este livro começa nesse nível e foi projetado de maneira mais planejada do que a política acima.
Por fim, aprender significa expandir seu conhecimento com base em coisas que você já conhece bem.
O que você já sabe é realmente algo assim quando você olha para a programação funcional.
Unkown sabe: "Não percebo o que sei"
Conhecido sabe: "Estou ciente do que sei"
Este é um processo de "notificação" e não exige novas tarefas para comprar novas "coisas" de incógnitas até agora, tornando -o muito fácil e suave.
Em outras palavras, todos que se formam no ensino fundamental têm "saber muito bem", "adição", "subtração", "multiplicação" e "divisão" são um conhecimento sólido para essa pessoa, e não há necessidade de refazer a broca aritmética.
Este é um grande ativo intelectual que a pessoa já trabalhou duro para adquirir na escola primária.
No entanto, como essa "estrutura algébrica" chamada "quarta aritmética" leva a programação funcional e conceitos chamados Mônadas? A maioria das pessoas não sabe, elas não são conhecidas
Depois de ter "consciência", essa propriedade intelectual suada chamada "aritmética agregacional" pode ser usada inteiramente como é, no conhecimento da programação funcional.
Portanto, é ultrajante notificar, informar, ensinar ou explicar essa "consciência"; É a negligência do explicador ou simplesmente a explicação em si, mas, na realidade, o último caso é muito comum.
Este livro é uma tentativa completa com essa tarefa em mente.
Se você "não percebe" isso, vale a pena ler este livro por conta própria.
O próximo passo se concentrará em "I não perceberá o que eu sei" do desconhecido e entrará na área de desconhecido desconhecido do desconhecido "Eu não percebo o que não sei".
Isso inclui, por exemplo, a perspectiva teórica da física do [fluxo do tempo]
Um livro bem conhecido que apresenta "manuseio de tempo" na programação funcional de uma perspectiva teórica da física é "Estrutura e interpretação dos programas de computador", que é frequentemente usada como abreviação do SICP no título original.
Estrutura e interpretação de programas de computador Hardcover - 2000/2/1 Gerald Jay Sussman (autor), Julie Sussman (autor), Harold Ableson (autor) e mais 4
é
Quanto à perspectiva teórica da física de "manuseio de tempo" na programação funcional , pelo menos não me lembro de ter visto um único comentário, com exceção do SICP, então acho que é um tema importante que é negligenciado pelo público.
Este livro é uma tentativa completa com essa tarefa em mente.
Se você "não percebe" isso, vale a pena ler este livro por conta própria.
Ao escrever este livro, desenvolvi e usei meu próprio editor Wysiwyg (uma extensão do VSCode) para colar com eficiência um grande número de imagens e escrever Markdown.
MarkdownNote