Projeto real ensina mais que qualquer curso, e eu te provo.
Tô fazendo um projetinho em Haskell chamado Frank e basicamente um "Commit Butler".
A ideia surgiu enquanto eu tava codando projetos aleatórios: o projeto basicamente pega as mudanças que tão na área de staging (git add) e gera mensagens de commit automáticas seguindo um padrão. E ainda me zoa pelo meu código.
A intenção era só brincar, fazer algo divertido e fugir desses projetos genéricos de "to-do list com React". Mas aí veio a surpresa: comecei a aprender coisa pra caramba.
- Comecei a ter que entender mais como o git funciona por baixo dos panos, o seu fluxo e aprender alguns comandos mais avançados
- Aprendi uma linguagem nova, Haskell (e apanhei demais e ainda estou)
- E principalmente: aprendi a parar de depender de tutorial pronto
Escolhi Haskell principalmente por não ter tanto tutorial e coisas prontas por aí, fora que em haskell as coisas funcionam bem diferente de um js da vida.
Esqueceu uma indentação? Toma erro na cara.
Tentou juntar dois valores de tipos diferentes? Aqui não, irmão, erro na cara.
"Ah quero só pegar esse dado aqui e juntar com aquele outro rapidão..." Tipos diferentes? Efeito colateral? Toma mais erro na cara.
E sabe o que é mais doido? Isso é maravilhoso. Porque aí você tem que entender. Não tem biblioteca milagrosa. Não tem Stack Overflow resolvendo tudo com um copia-e-cola. Você precisa parar, respirar fundo e descobrir por que caralhos aquilo tá dando erro.
E pela primeira vez eu me senti programador de verdade. Não tive aquela sensação de que eu só estou pegando um código de um tutorial e basicamente replicando sem nem ao menos entender oq ele tá fazendo.
Então se você quer aprender de verdade, meu conselho é: Para de fazer projetinho de curso. Cria o seu. Mesmo que pareça bobo. Mesmo que não vá pra produção.
Porque quando o projeto é seu, a dor é sua – e o aprendizado também.
Só uma coisa legal a incrementar, isso só funciona a partir do momento q vc tem um mínimo de conhecimento da tecnologia para produzir algo útil.
Ou seja, o recomendado para iniciantes é sim iniciar com alguma aprendizagem da tecnologia, seja curso, seja tutorial, seja livro, seja vídeo do youtube, etc... afinal ninguém produz algo com aquela ferramenta se não sabe usar a ferramenta. A pessoa pode até tentar produzir algo, mas a chance de falhar e frustar é alto.
Aí no momento em que já se sente o mínimo ambientado com a tecnologia para criar algo, tenho certeza que sua dica vale muito e recomendo pra todos q façam isso.
Estudei Haskell na faculdade e tranquilamente foi a matéria que mais aprendi. É muito confortável estudar estrutura e algoritmo usando python ou até mesmo C, no começo é desafiador mas vc acha conteúdo em tudo que é lugar. Mas quando estudei programação funcional com Haskell o desafio foi muito mais difícil. Tive que criar uma espécie de xadrez em haskell e foi um verdadeiro aprendizado. Parabéns pelo projeto! Se tiver algum link para o repositório desse projeto, gostaria de dar uma olhada, programação funcional bem crescendo bastante e ter essa stack no currículo irá te diferenciar muito.