8000 GitHub - elyosemite/Peregrine: The Elixir Study Project is a personal project aimed at learning the Elixir programming language and exploring its ecosystem. The project will involve building a simple web application that allows users to create and manage to-do lists.
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

The Elixir Study Project is a personal project aimed at learning the Elixir programming language and exploring its ecosystem. The project will involve building a simple web application that allows users to create and manage to-do lists.

Notifications You must be signed in to change notification settings

elyosemite/Peregrine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 

Repository files navigation

Peregrine

Descrição do Projeto

O projeto Peregrine é um repositório no GitHub dedicado ao estudo e prática da programação funcional utilizando a linguagem Elixir. Aqui você encontrará exemplos, exercícios e recursos para aprofundar seus conhecimentos nesse paradigma de programação.

Princípios da Programação Funcional

A programação funcional é um paradigma que se baseia em alguns princípios fundamentais. Aqui estão os 15 principais pilares da programação funcional:

  • Imutabilidade: Os dados são imutáveis, ou seja, não podem ser alterados após a criação.
  • Funções Puras: As funções não possuem efeitos colaterais e retornam um valor com base apenas em seus argumentos.
  • Ausência de Estado Compartilhado: Não há compartilhamento de estado entre as funções.
  • Transparência Referencial: O resultado de uma função depende apenas de seus argumentos e não de qualquer estado externo.
  • Composição de Funções: Funções podem ser combinadas para criar funções mais complexas.
  • Recursão: A recursão é usada em vez de loops para controlar a repetição.
  • Tipagem Forte: O tipo de cada valor é conhecido e verificado em tempo de compilação.
  • Polimorfismo Paramétrico: Funções podem ser genericamente aplicadas a diferentes tipos de dados.
  • Funções de Alta Ordem: Funções podem receber outras funções como argumentos ou retorná-las como resultado.
  • Closures: Funções podem capturar e lembrar o ambiente em que foram definidas.
  • Avaliação Preguiçosa: A execução é adiada até que o resultado seja realmente necessário.
  • Expressões e Avaliação: Tudo é uma expressão e a avaliação retorna um valor.
  • Composição de Estado: O estado é encapsulado em estruturas imutáveis e transformado através de funções.
  • Transparência de Referência: Igualdade de referência implica em igualdade de valor. -Inspirado em Matemática: A programação funcional é baseada em conceitos matemáticos, como álgebra lambda e teoria dos conjuntos.

Sugestões para o Projeto Peregrine

Aqui estão algumas sugestões para explorar e aprofundar seus estudos no projeto Peregrine:

  • Comece com os conceitos básicos: Familiarize-se com a sintaxe e estruturas de controle da linguagem Elixir, como funções, condicionais e listas.
  • Pratique com exercícios simples: Escreva pequenas funções puras para resolver problemas básicos, como cálculos matemáticos simples ou manipulação de listas.
  • Aprofunde-se em funções de alta ordem: Estude como passar funções como argumentos e retorná-las como resultados de outras funções. Explore conceitos como map, reduce e filter.
  • Domine a recursão: Resolva problemas mais complexos usando recursão em vez de loops. Aprenda a usar a recursão de cauda para otimizar o desempenho. Explore a biblioteca padrão: Estude as funções e módulos disponíveis na biblioteca padrão do Elixir. Experimente com diferentes módulos, como List, Enum e Map.
  • Entenda a concorrência e tolerância a falhas: Aprenda sobre processos e como a linguagem Elixir lida com concorrência e tolerância a falhas usando o modelo de atores.
  • Experimente com programação assíncrona: Explore o uso de Tasks e GenServers para lidar com operações assíncronas e comunicação entre processos.
  • Conheça as OTP (Open Telecom Platform): Estude os conceitos e padrões fornecidos pela OTP, como Supervisors e GenServers, para construir sistemas robustos e escaláveis em Elixir.
  • Contribua para projetos open source: Encontre projetos Elixir de código aberto no GitHub e faça contribuições para a comunidade. Isso ajudará você a aprender com outros desenvolvedores e aprimorar suas habilidades.
  • Participe de comunidades online: Junte-se a fóruns, grupos e canais de discussão relacionados à linguagem Elixir e programação funcional. Compartilhe seus conhecimentos e aprenda com os outros.
  • Explore frameworks e bibliotecas: Experimente frameworks e bibliotecas populares em Elixir, como Phoenix, Ecto e Broadway, para construir aplicativos web, acessar bancos de dados e processar dados em lote.
  • Realize projetos práticos: Desenvolva pequenos projetos pessoais usando Elixir e programação funcional. Isso ajudará você a aplicar seus conhecimentos e ganhar experiência na prática.
  • Mantenha-se atualizado: Acompanhe as atualizações da linguagem Elixir e as tendências da programação funcional. Leia blogs, livros e artigos relevantes para se manter informado sobre as novidades.
  • Colabore e compartilhe: Compartilhe seu código, projetos e conhecimentos com a comunidade. Participe de eventos, workshops e conferências para conhecer outros entusiastas da programação funcional.
  • Divirta-se e persista: A programação funcional pode apresentar desafios, mas também é uma abordagem poderosa e gratificante. Divirta-se enquanto aprende e persista mesmo diante das dificuldades.

Contribuindo

Se você quiser contribuir para o projeto Peregrine, sinta-se à vontade para abrir problemas (issues) ou enviar pull requests com melhorias, correções ou novos recursos. Estamos abertos a receber contribuições da comunidade e valorizamos seu envolvimento.

Licença

O projeto Peregrine é licenciado sob a licença MIT.

About

The Elixir Study Project is a personal project aimed at learning the Elixir programming language and exploring its ecosystem. The project will involve building a simple web application that allows users to create and manage to-do lists.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

0