Estou há mais de 15 anos nesse mercado e sempre vejo o mesmo questionamento imbecil sobre qual linguagem aprender, que uma é melhor que a outra e blá blá blá… Pare de ser estúpido e venha entender por que isso não faz diferença.

Dia 1

Se você quer aprender a programar e tem zero conhecimento, nesse momento o que menos importa para você é a linguagem: escolha qualquer uma e seja feliz! Os conceitos básicos são comuns a todas elas, apenas a morfologia vai se diferenciar. No primeiro momento o foco precisa ser nos estudos de base, para isso que existem disciplinas como lógica de programação, algoritmos, e circuitos lógicos digitais nas universidades. Podem parecer desnecessárias, mas são áreas de conhecimento importantes. Eu gosto de destacar álgebra booleana, regra de três e até, quem sabe, um pouco de “escovação de bytes” para entender como o computador processa os dados. Só precisa se aprofundar nesses assuntos caso queira virar cientista, acadêmico, etc., para um programador entender as fórmulas já é o bastante.

Vocabulário

Pense que uma linguagem de programação tem esse nome pois de nada difere de uma linguagem como Português e Inglês. E, para quem correu das aulas de português: você vai ter análises morfológicas, sintaxe e vocabulário. Mas particularmente eu acho mais gosto de aprender programação, pois existem várias formas de chegar ao mesmo resultado. Qual caminho você toma não te torna melhor ou pior. Na real, se você der um problema computacional para ser resolvido por 100 estudantes de ciência da computação, vão aparecer 100 formas diferentes de resolução e todas elas podem estar corretas. As métricas que utilizamos na computação são diferentes de certo ou errado, está mais para “Funciona? É performático? Dá para melhorar?”.

Entenda: você demorou a sua infância toda para aprender a falar e mais uns bons anos para escrever, por que acha que em pouco tempo vai aprender uma nova linguagem? Será um estudo diário, nada melhor do que a prática para fixar esse conhecimento e não importa se, depois de aprender essa linguagem, você vai partir para outras, por que os conceitos básicos vão ser muito mais simples. Quem fala português consegue entender mais ou menos espanhol e o português de Portugal, claro que você pode ficar um pouco perdido no começo, mas a adaptação é relativamente simples.

Saiba qual seu objetivo

O que te faz querer aprender a programar? Fazer jogos? Fazer um App? O salário mais alto? Você precisa ter um objetivo claro pois isso vai direcionar seus estudos. Quer fazer site? JavaScript, PHP, Ruby, Go. Quer fazer jogos? C++, C#, Python. Quer fazer Apps? Java, Flutter, Objetive C, Swift. Quer trabalhar com Machine Learning? Python, C++… E por aí vai… Essas escolhas mudam com frequência, pode apostar que daqui uns 10 anos você vai saber pelo menos umas cinco dessas. Eu comecei com uma linguagem chamada Pascal, depois fui pro Delphi, JavaScript, C++, PHP, Node, C#, dei uma passada rápida pelo VBA, Java, voltei para C# com a Unity, TypeScript, brinquei com Python, Go, Flutter… Por fim, hoje em dia, utilizo o que for melhor para o que estou fazendo no momento.

A vida vai te levar a caminhos que você não espera, seus conceitos vão mudar. Quem permanece estagnado na mesma linguagem por anos vira desenvolvedor de sistemas legados, obsoletos, e vai demorar muito para se atualizar com o mercado. Para quem não se lembra, até pouco tempo atrás não existia “frontend”, saber HTML e CSS era o importante. Hoje quem não sabe Angular, React ou Vue está fora do mercado. Além disso, existem conhecimentos satélite, como Git, CI/CD, Docker, Kubernetes, Terraform, TDD, entre outros.

Foco

Não se aprende nada bem ampliando demais o leque do que estudar, por isso que mestrados e doutorados são específicos de um tema. O foco elimina o problema do progresso. Quando se estuda muita coisa ao mesmo tempo, parece que não se aprende nada. O conteúdo precisa de uma tempo para fixar na cabeça e criar memória muscular, por isso você vai ter que fazer a mesma coisa várias vezes, até ficar bom. Eu fiz e refiz um comparador de preços pelo menos umas cinco vezes na minha vida até ficar bom. É por isso que softwares tem versões: a cada nova versão a gente espera uma melhoria. Quando saímos da versão 1 para a 2, a expectativa é que essa nova versão seja melhor em vários aspectos. Recriar uma aplicação do zero é ter a chance de consertar tudo que foi feito de errado na primeira vez e isso é um ciclo contínuo. No Vigia de Preço, em 4 anos tivemos 6 versões major da aplicação, 6 vezes que todo o código, ou pelo menos boa parte dele, foi reescrito do zero e tudo foi feito mantendo a versão anterior rodando. Quando vendi a empresa, estava trabalhando na versão 7.

Como recomendação, vou deixar dois vídeos do Fabio Akita muito bons sobre linguagem de programação: