Aprender duas linguagens de programação ao mesmo tempo?

(Última atualização em: 16 de fevereiro de 2017)
  • Uma, duas, três linguagens. Quantas linguagens devemos aprender para começar a trabalhar? E quantas aprendemos logo de cara?

Tudo bom, Henrique? Esta é uma pergunta bem válida: vale mais a pena aprender logo de cara duas linguagens ao mesmo tempo ou me aprofundar em apenas uma e só depois começar uma segunda?

Um primeiro ponto mais importante do que aprender a linguagem é entender lógica. É entender como podemos modelar os nossos problemas de uma maneira lógica.

No final das contas é definir algoritmos. Isto pensando em uma linguagem para, aí sim, estarmos prontos para ir para uma próxima.

Se vou, por exemplo, contratar uma pessoa, tendo conhecimento básico ou avançado, mais importante que o domínio de uma linguagem, é a pessoa ser capaz de entender aquilo que estou passando para ela e traduzir para uma linguagem.

Tendo isso em vista e voltando para sua pergunta, eu focaria primeiro em uma linguagem, ser capaz de responder diversos tipos de problemas em uma para passar para a próxima.

Quando estamos nessa transição, percebemos algumas características que mudam na maneira de modelarmos o algoritmo ou uma solução. Um if ou um else podem ser muito parecidos de uma linguagem para outra, mas as soluções podem ser completamente diferentes.

Se não temos bem claro em nossa cabeça como resolver um problema em uma linguagem, teremos mais um problema se tentarmos com outra linguagem. Vence uma barreira por vez.

Isso não significa que você deva esperar 5 anos para começar a aprender uma segunda linguagem, até porque a maior parte das aplicações do mundo tem alguma conexão com a Web. Ou seja, se faz necessário saber uma linguagem back end e outra front end, como Java e Javascript respectivamente.

Perceba que esta já é uma oportunidade de modelar problemas em linguagens diferentes, como queries em SQL e HQL, por exemplo. Ou ainda surgirão problemas como analisar, filtrar, selecionar, somar, agrupar elementos em Java e, ao mesmo tempo, pegar esses elementos da minha página e fazê-los interagirem com o usuário em Javascript.

Perceba que já existirão diversos desafios. Por que, então, eu iria querer aprender alguma outra linguagem back end nesse instante? Repare que no primeiro ano de aprendizado, por exemplo, se estou no mercado Web, já tenho, no mínimo, 3 linguagens para aprender:

  • Uma para o Back End
  • Uma de Query para o banco de dados
  • Uma para o Front End

Pra que aprender mais uma? Nos primeiros seis meses, se você se dedicar muito para aprender uma linguagem, mas muito mesmo, tudo bem. Talvez valha a pena aprender mais uma.

Veja que se em um ano você aprender bem essas três linguagens você estará na frente de muita, mas muita gente mesmo. Isso acontece porque não é costume nos dedicarmos tanto assim no primeiro ano.

Então minha sugestão é essa: em vez de aprender Java e C#, ou Java e Ruby, etc ao mesmo tempo, escolha uma para o back end, uma para o front e uma para o banco de dados e se dedique a essas três. Você irá perceber o quão melhor você vai ser depois de seis meses ou um ano.

No fim das contas, minha sugestão ficou em você aprender três linguagens que sigam esta ideia: uma para cada parte dos processos. Quando se sentir confortável, passe para a próxima linguagem. Até lá, aprofunde-se!

Tech Education Leader no Alura

  • Alef Silva

    Bom dia! Ótima dica !

    Eu poderia, por exemplo, aplicar este conceito nos estudos de ASP.NET?
    Ou seja, HTML e CSS no Front, C# como BACK e SQL para BD?

    Muito obrigado !

    • Guilherme Silveira

      Com certeza! Completaria com aspnet mvc/core/web api e similares pro back end depois.

  • Patrick Monteiro

    Muito bom Guilherme ! Parabéns

  • José Carlos Siqueira

    Excelente post! muito útil para nos que estamos tentando ingressar nesta nova carreira. Eu iniciei meus estudos em programação à aproximadamente 3 meses estou bastante focado em java e estou tentando concluir o curso Java III da Alura, estou seguindo o modo carreira, porem agora me surgiu esta duvida, será que devo conciliar Java com alguma linguagem frontend? HTML e CSS ou Javscript? Abs.

    • Guilherme Silveira

      Oi José Carlos, voce pode fazer HTML e CSS ou Javascript assim que terminar esse terceiro curso, ai pode voltar para Java e ver um pouco mais com o curso Java 8 e o curso de servlet, por exemplo!

      []s

  • Gabriela

    Oi Guilherme! Eu conheço já HTML/CSS e consigo usar Javascript. Gosto da parte de desenvolvimento, porém gostaria de aprender a tornar meus sites dinâmicos. Qual é a melhor linguagem para aprender ou caminho de estudo que poderia adotar a partir de agora? Abraços!

    • Alex Oliveira

      Gabriela, se me permite, vou dar minhas sugestões. No seu lugar eu escolheria um desses 2 caminhos:

      Aproveitar que você conhece um pouco de Javascript, se aprofundar nessa linguagem e aprender Node.js (que é Javascript no back-end).
      Aprender PHP, uma das linguagens mais usada para desenvolver websites e de fácil aprendizado. Usada por sites como Facebook e Wikipedia. É a ferramenta usada por plataformas como WordPress e Joomla. Possui excelentes frameworks, ferramentas e uma enorme comunidade.

      • Gabriela

        Obrigada pela ajuda Alex! =)

    • Guilherme Silveira

      Bom dia Gabriela, se estiver procurando aprender algo rápido e fácil para começar, com certeza PHP no server side vai te dar um boost rápido. Se o foco é conseguir uma vaga de emprego, ai o próximo passo seria ir para uma das linguagens/frameworks que estão com mais vagas, como Node que o Alex citou, continuar no PHP, Java, C# etc. Mas para primeiro passo não vejo mal nenhum em passar a entender como o server side funciona usando PHP!

      • Gabriela

        Olá Guilherme, obrigada pela ajuda! Gosto de trabalhar com Front End e meu objetivo é só aprender um pouco de Back End para entregar um “trabalho mais completo” para meu cliente final, e não necessariamente arrumar um emprego. Estava na dúvida se estudava WordPress com vocês (para poder criar a conta admin pro cliente alimentar o site), mas pelos comentários imagino que o PHP seja o melhor caminho, correto?

  • jonis

    Não entendo quase nada de Java.Qual curso indicaria para alguém que não sabe nada e quer começar do zero além dos requisitos?

    • Guilherme Silveira

      Bom dia Jonis, sugiro começar com os cursos 1 2 e 3 de Java mesmo, eles vão dar a base da linguagem. Depois pode escolher o caminho web, que é o mais tradicional.

  • André Vieira

    Estou fazendo dessa forma que o Guilherme ensina, comecei no front com html, css e javascript no back optei por usar o nodejs e linguagem sql, estou aprendendo muito evoluindo bastante, é também acredito que a dedicação faz a diferença, os resultados são ótimos!

  • Gilberto Silveira

    Guilherme, no seu post você fala aprender uma linguagem de front e uma de back. O Javascript hoje em dia com o NodeJS não pode ser considerada uma linguagem mista(Para back e front) e apostar os estudos nela para os dois mundos ?

  • Julio Santos

    Estou querendo fazer essa combinação Css, html5 + Php + Oracle.

  • christoffer santos

    Concordo com seu ponto de vista Guilherme, até porque as vagas de back-end, em sua maioria procuram programadores que saibam uma linguagem de back, porque geralmente todos os sistemas feitos pela empresa são escritos nessa linguagem. Acho muito bom aprender outras linguagens, porque da para reaprender a solucionar o mesmo problema com recursos diferentes, (como por exemplo iterar sobre objetos através de list comprehension em python). Para mim, aprender uma 2ª que se propõe a resolver os mesmos problemas requer uma certa maturidade. Concordo muito com a ideia de: Primeiro devemos aprender a modelar e resolver um problema, independente da linguagem, depois estudamos uma linguagem que permita que expressemos nossas soluções para o problema. Uma vez que nos sentimos confortáveis em nos comunicarmos com a máquina através dessa linguagem, passamos para outra.
    Uma outra coisa interessante que eu ouvi sobre aprender uma nova linguagem, é ver quais recursos essa linguagem que se quer aprender possui que não existe na linguagem que se está acostumado. Talvez haja algo nessa linguagem que possa ser implementado na sua linguagem favorita, por você mesmo, como um método útil 🙂

Próximo ArtigoConheça 10 dicas surpreendentes para usar o GIMP