Aprender lógica de programação (antes, durante ou nunca)?
Existe muita discussão sobre quando aprender lógica de programação. A resposta não é tão simples quanto parece, mas tem uma forma que funciona melhor para a maioria das pessoas.
Essa discussão aparece o tempo todo. Você precisa aprender lógica antes de aprender a programar? Durante? Nunca? Tem gente que defende o Portugol, a sequência de passos para trocar um pneu, toda aquela estrutura formal antes de ver uma linha de código de verdade. E tem gente que acha isso tudo desnecessário.
A realidade está no meio, mas com uma inclinação clara.
O que acontece quando você aprende só o padrão
Imagina que você aprende a fazer um sistema de login. Alguém te ensina o fluxo: campo de e-mail, campo de senha, consulta no banco, validação, sessão criada. Você segue os passos, o sistema funciona, você acheu que entendeu.
Aí chega um caso diferente. O cliente quer login por nome de usuário em vez de e-mail. Quer autenticação em dois fatores. Quer token JWT em vez de sessão. O sistema que você aprendeu de memória não te ajuda mais, porque você nunca entendeu o porquê de cada parte, só o como naquela versão específica.
Isso é aprender sem lógica. Você tem o resultado, mas não tem o raciocínio por trás.
O problema de só estudar teoria
A solução óbvia parece ser: então aprenda toda a teoria antes. Entenda lógica a fundo, depois vai para o código. E isso até funciona para algumas pessoas.
O problema é que a conta não fecha para a maioria. Se você der para cem pessoas um currículo de pura teoria antes de qualquer prática, duas chegam no final. As outras noventa e oito param no caminho porque nunca viram o que estavam construindo. Não tem progresso visível, não tem motivação pra continuar.
Isso não é fraqueza. É como o aprendizado humano funciona. A gente é visual, precisa ver resultado, precisa sentir que está avançando. Uma criança aprende a andar andando, não estudando física antes.
O caminho que funciona
A lógica de programação não precisa vir antes nem ser ignorada. Ela precisa caminhar junto com a prática, sendo estudada no contexto do que você já viu funcionando.
Você aprende o sistema de login básico, coloca a mão na massa, vê funcionando. Depois você para e pergunta: por que preciso de dois campos? O que muda se eu trocar e-mail por usuário? Como funciona um código intermediário no meio desse fluxo? Quais são as variações possíveis desse mesmo problema?
Nesse momento a teoria faz sentido, porque você já tem um referencial concreto. Você não está aprendendo lógica no vácuo, está aprendendo lógica ancorada em algo que você viu na prática.
Por que a ordem importa
Quando você estuda só teoria, qualquer dificuldade parece abstrata demais e fácil de abandonar. Quando você já tem um sistema funcionando na sua frente, a mesma dificuldade tem um contexto. Você quer resolver porque o resultado importa para você.
A motivação não é um detalhe secundário no aprendizado. É uma das variáveis principais. E ela depende muito de você conseguir ver a sua evolução ao longo do processo.
Então, antes, durante ou nunca?
Durante. Sempre durante.
Não ignore lógica, ela é real e vai fazer diferença quando os problemas ficarem mais complexos. Mas não se tranche atrás dela como pré-requisito antes de ver qualquer código. Comece com o mais básico que funciona, entenda o raciocínio daquele básico, depois evolua para as variações.
Você vai chegando em sistemas de login com JWT, com autenticação em dois fatores, com token de renovação automática, sem nunca ter parado para aprender "lógica" como disciplina separada. Porque foi aprendendo lógica o tempo todo, no contexto certo, no momento certo.
Leia também