Uma das grandes barreiras que encontramos ao iniciar o aprendizado de uma linguagem de programação é a falta de exercícios mais próximos da realidade. Talvez nem todo mundo veja essa dificuldade, mas pra mim sempre foi assim. Se não vejo uma forma de aplicar o que estou aprendendo, não consigo evoluir na linguangem.
Pegando como exemplo o livro da linguagem C escrito por Kerninghan e Ritchie: os exemplos são tão específicios que fica difícil abstrair as ideias e aprender como usar ponteiros de forma eficiente.
Para tentar superar essa barreira e ajudar a quem quiser aprender a programar sair da inércia e praticar surgiu o site "os programadores" ou http://osprogramadores.com. É um site criado e mantido pelos programadores Bernardino Campos, Marcelo Pinheiro, Marco Paganini e Sergio Correia pra ajudar iniciantes com desafios que são enviados através de "pull requests" no GitHub, ou seja, além de programar ainda existe a oportunidade de aprender controle de versão com git.
Não existe exigência de regularidade: é possível enviar seu código quando estiver disponível pra escrever. Também não existe uma linguagem só. Os desafios podem ser resolvidos em qualquer linguagem, de C à nodejs. E atualmente existe um sistema de scores pra ver quem está com maior pontuação de participação.
Eu só resolvi até agora os desafios 01 (que é criação e fork do repositório no github), 02 e 03 mas estou devendo de enviar meus pull requests. Fiz em python, go e C mas ainda quero escrever também em perl.
E tem mais uma parte interessante: grupo no telegram! Não bastando ter apenas o site, o grupo está lá pra ajudar com perguntas e respostas sobre os desafios e assuntos às vezes nem tão ligados à programação assim como por exemplo lubrificante pra ventoinha da cpu. O link é esse: https://t.me/osprogramadores
Então se tem interesse em aprender a programar ou aprender uma nova linguagem, não deixe pra depois e participe. É bem divertido e interessante.