Por qual linguagem começar a aprender?
Tags: programming, beginners
Published: 2023-07-01 00:01:24

Bom, aqui está uma pergunta polêmica. Polêmica pois não existe uma resposta certa, tudo depende. Quanto mais você avançar nessa carreira de pessoa desenvolvedora, mais você vai perceber que essa resposta: “depende” - essa palavrinha - é mais e mais usada por sêniores, pois essa é a verdade.

Escolher uma linguagem para começar depende dos conteúdos que ficam mais acessíveis para você, por exemplo, você pode ser uma pessoa que gosta mais de aprender por meio de vídeos, nesse caso, o YouTube pode ser uma ótima opção para aprender Python ou JavaScript. Ou você pode preferir livros, então uma boa opção seria começar com C ou Java. 

Também é preciso entender o que você procura em uma linguagem de programação. Se você quer aprender algo mais voltado para a web, HTML, CSS e JavaScript são boas opções. Se você quer algo mais voltado para a ciência de dados, Python é uma escolha popular. Se você quer desenvolver aplicativos para dispositivos móveis, pode começar com Java ou Kotlin para Android ou Swift para iOS. 

Não existe resposta certa pra essa pergunta, apenas opiniões e vivências, e aqui vai a minha:

Eu recomendaria começar por uma linguagem tipada e de alto nível. Mas o quê é isso? 

Uma linguagem tipada é uma linguagem que exige que você especifique o tipo de dado que está sendo utilizado em uma determinada variável ou função. Isso pode parecer confuso no começo e certamente aumenta a curva de aprendizado, mas ajuda a evitar erros comuns em programação, pois a linguagem irá alertá-lo se você tentar fazer algo que não é permitido. 

Já uma linguagem de alto nível é uma linguagem que possui uma sintaxe mais próxima da linguagem humana, o que a torna mais fácil de ler e escrever. Algumas boas opções para começar incluem Java e C#.

Poxa, mas quero aprender rápido, como assim você me dá algo com uma curva de aprendizado maior? Bem, é que você tá querendo entrar numa área que paga muito bem e, apesar das demissões em massa, continua contratando como nenhuma outra área. Não espere que seja fácil, e quem te vender falando que é, está te jogando em falsas esperanças. 

Eu não tô aqui pra dar tapinhas nas costas, e sim pra falar a verdade, aquilo que experimentei e vivi. Se não quer isso, pode sair daqui e não volte mais!

Vou te dar um exemplo, já tive alunos - em aulas introdutórias - que tiveram um background em Python porém no meio do curso desistiram por não estar conseguindo entender ou simplesmente fazer um pequeno código. Claro que isso varia de pessoa pra pessoa, mas neste caso a curva de aprendizado em C# era maior, e conhecer Python não o ajudou em absolutamente nada como conhecimento prévio.

Não posso dizer o mesmo do contrário, conhecer uma linguagem tipada antes de uma linguagem não tipada pode ajudar a construir uma boa base de programação e entender os conceitos fundamentais antes de mergulhar em detalhes mais técnicos. 

Além disso, muitas linguagens de alto nível e tipadas são mais populares e têm mais recursos disponíveis, o que pode tornar o aprendizado mais fácil e oferecer mais oportunidades para praticar e se aprofundar. Mas, mais uma vez, a escolha final depende de suas preferências pessoais e dos objetivos que você deseja alcançar com a programação.

Ao ver, se você está aprendendo C#, Java ou outras linguagens do tipo ir para linguagens como JavaScript ou Python será mais fácil e você cometerá menos erros. 

Confesso, entretanto, que não gosto muito de linguagens extremamente permissivas como Python e PHP, pois você até entrega e aprende rápido, mas se não for bem mentorado e acompanhado, cai em más práticas e vícios com muita facilidade. 

Mas e sobre linguagens funcionais? E sobre Go? Bom, as duas participam da mesma opinião, de que não devem ser a sua primeira linguagem de programação. Por um motivo simples: você provavelmente está aprendendo programar para entrar no mercado de trabalho, e enquanto essas linguagens são excelentes; ajudam a entender outros conceitos usados pelas linguagens já citadas; e tem crescido bastante, as principais vagas de Juniors e Sandys são para aquelas já mais estabelecidas, tais como Java, PHP e até mesmo Node. Por isso, é mais sensato começar com as linguagens mais populares e mais demandadas pelo mercado. Depois, você pode explorar outras linguagens e conceitos mais avançados à medida que desenvolve suas habilidades e conhecimentos em programação. 

Inclusive super recomendo estudar estas linguagens, mas é só priorização aqui.

### A questão de milhões

Mas assim, tem um outro ponto fundamental: sempre que me fazem esta pergunta eu lanço outra. A melhor resposta pra ela não é saber qual linguagem é melhor, e sim o que você quer. E como saber isso num mundo de tantas opções?

Simples, vá atras das empresas que você gostaria de trabalhar, procure as vagas e veja o que elas estão pedindo. Se a empresa dos seus sonhos trabalha com Kotlin, então comece com ela. Se trabalha com Python então ignora tudo neste texto e vá. Veja o que faz sentido pra você.

Encontrar um mentor pode ser útil ao começar a programar. Um mentor pode fornecer orientação, responder perguntas e oferecer suporte enquanto você aprende. Você pode encontrar um mentor por meio de comunidades on-line, encontros locais ou entrando em contato com profissionais do setor. É importante encontrar alguém que tenha experiência nas áreas de seu interesse e que esteja disposto a investir tempo em ajudá-lo a aprender e crescer. 

Boa sorte!