Porque Aprender uma Nova Linguagem Todo Ano?

Neste artigo serão abordados os benefícios de se aprender uma linguagem todo ano.

Perca o preconceito

Em minha experiência, aprender uma nova linguagem me ajudou a perder o preconceito que tinha com outras linguagens. Na faculdade havia aprendido um pouco de C e na sequência Java, foi quando comecei a trabalhar como programador, usando a linguagem Java.

Dediquei os três primeiros anos de minha carreira à aprender Java, aprendi também PHP e Shell Script, mas não tão sistematicamente quanto Java. Quanto mais entendia e estudava Java, maior era meu preconceito com outras linguagens. Debater comigo sobre linguagens era chato, maçante, não era algo natural.

Entenda o custo das escolhas

Mudei-me para São Paulo e iniciei um curso de programação avançada. Neste curso implementamos algumas estruturas de dados e também algoritmos, tudo em C ou C++. Lembro-me que pouco tempo atrás eu havia lido, talvez na Java Magazine, que em termos de desempenho, na maioria dos casos era melhor usar um ArrayList do que uma LinkedList. Passei então a usar ArrayList sem entender o porque, apenas confiando nos testes de desempenho.

Para minha surpresa implementamos as duas estruturas e então passei a entender que um ArrayList usa como base um array e arrays são blocos contíguos na memória, tornando a iteração previsível para o processador que tão logo quando entende que está navegando num array começa a copiar pedaços da memória para seu cache, e o acesso ao cache da CPU é bem mais rápido do que acessar a memória RAM.

Já a LinkedList, como o nome sugere, é uma lista ligada, na qual cada elemento aponta para o próximo elemento, permitindo assim a navegação entre os elementos por meio do uso de ponteiros. Na memória, não existe garantia de que os elementos ficarão agrupados, tão pouco pode o processador prever um padrão de acesso à memória. Por este motivo, o processador não carrega para o seu cache os n próximos elementos da lista ligado, portanto quando o processador termina de processar o item atual, o próximo item ainda não está no cache, então o processador solicita um dado que está na memória. Acessar a memória com frequência (LinkedList) é mais lento do que usar os dados que já estão no cache (ArrayList).

Com esse entendimento em mente, meu preconceito com outras linguagens começou a ser desfeito, mas não totalmente. Neste momento eu acreditava que antes de aprender Java, todos deveriam aprender C, para entender os custos por trás das decisões, aprender a escolher uma coisa em detrimento de outra.

Enriqueça as abordagens

No fim desse mesmo ano em que me mudei para São Paulo, também comecei a aprender Python e Ruby. Para mim estava um pouco confuso no início, pois era muita novidade ao mesmo tempo, mas já dava para começar a entender os benefícios de saber programar em mais de uma linguagem.

O que estava claro é que as linguagens têm abordagens diferentes para o mesmo problema. Conhecer mais de uma linguagem permite que você enxergue diferentes soluções para o mesmo problema. Isto abre a sua mente, impedindo que um único modo de pensar bloqueie soluções mais inteligentes, mais adequadas. Desse modo, evita-se o efeito de Einstellung.

Use a ferramenta correta

Antes de conhecer várias linguagens eu queria resolver todos os problemas com Java e alguns eram tão simples que, uma linguagem de script seria mais adequada. Nessa linha de raciocínio, ao entender o nicho da linguagem, qual tipo de problema ela ataca de forma mais eficiente faz com que você use a ferramenta certa para o problema em mãos.

Como dizia o psicólogo Abraham Harold Maslow: se tudo que você tem é um martelo, tudo se parece com um prego (Maslow’s hammer).

Entre em contato com grandes mentes

Por trás de uma linguagem existe um desenvolvedor ou desenvolvedores que pensam de modo diferenciado, assim, aprendê-la te ajuda a entrar em contato com esse modo de pensar e também com a comunidade que o cerca. No início, participar da comunidade é um pouco difícil, pois você recorre a ela apenas para fazer perguntas, existe aquele receio de contribuir, mas com o tempo você começa a perceber que já sabe responder algumas dúvidas. Em alguns casos é possível estabelecer vínculos e conhecer o pessoal em eventos posteriores, acaba sendo divertido estar imerso na comunidade daquela linguagem.

Ano novo linguagem nova

É comum autores recomendarem o aprendizado de uma linguagem de programação por ano. Pode ser que no início seja mais difícil e é perfeitamente aceitável essa dificuldade, mas não se prenda a isso, pois geralmente esta percepção está conectada com a sua experiência em relação ao aprendizado da primeira linguagem, que possivelmente não foi tão simples.

Mas depois de aprender a primeira linguagem, a segunda fica um pouco mais fácil, pois já é possível reconhecer os conceitos básicos e alguns padrões que se repetem. Ao iniciar os estudos em uma terceira linguagem será tudo muito mais simples e mais fluído.

Lembre-se também de aprender a base conceitual de programação estruturada, orientada a objetos e funcional. Assim, você ganha contexto, o que facilita o entendimento.

Um pouco de descontração

Por mais que o setor de desenvolvimento de software seja aquecido e isso o torna algo dinâmico, com o passar do tempo é possível se enxergar dentro de uma rotina. Essa, é facilmente desfeita ao introduzir o aprendizado de um novo conceito, biblioteca ou linguagem. Esse hábito torna o desenvolvimento de software mais criativo e descontraído, pois com novos conhecimentos vem novas soluções. É um bom exercício para a sua mente e também para a sua carreira, imaginar como as diferentes linguagens que você já aprendeu solucionam o problema em questão.

Adicione habilidades ao seu currículo

Os anúncios de emprego estão cada vez mais robustos. Por exemplo, se você almeja ser um desenvolvedor web, não basta apenas saber HTML, é necessário conhecer JavaScript e todos os principais frameworks, também tem CSS e seus frameworks, apenas para citar alguns. Nesse sentido, quanto mais linguagens e frameworks você dominar, mais fácil será o seu dia de trabalho. Quanto mais completo for o seu portfólio de conhecimento, maior o seu leque de oportunidades, em outras palavras: aumentam as suas chances de trabalhar numa empresa que você sabe que é bacana.

Porque não?

Nos dias de hoje, por meio da internet, tem-se tanta informação disponível que gostaria de deixar esse questionamento: porque não aprender uma linguagem nova? Toda linguagem, desde as mais antigas até as mais novas possuem documentação disponível na internet, fóruns de discussões e apoio aos novos usuários. Está tão acessível.

Conclusão

Nesse artigo vimos uma série de motivos para justificar o aprendizado de uma nova linguagem (se possível, uma por ano), são eles:

  • Ajudar a perder o preconceito em relação à outras linguagens.
  • Entender o custo de suas escolhas.
  • Cada linguagem aborda/resolve um problema de uma forma.
  • Uso da ferramenta correta.
  • Contato com um modo de pensar diferente.
  • Depois da segunda linguagem, tudo fica mais simples.
  • Torna o desenvolvimento de software mais criativo e divertido.
  • Quanto mais linguagens, mais oportunidades.

Com isso, gostaria de estender a discussão para os comentários. Deixe registrado a sua opinião, se concorda ou discorda, porque você acha importante aprender uma nova linguagem ou porque você não aprende novas linguagens.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s