Qual Linguagem de Programação Aprender Primeiro em 2020?

Você está em dúvida sobre qual linguagem de programação deve aprender primeiro?

Não se preocupe, essa é uma pergunta muito comum entre os programadores iniciantes.

Vou te dar uma resposta direta com base na minha experiência e no que eu observo no mercado para este ano:

Python. A linguagem de programação Python é fácil de aprender, tem sintaxe simples, extensa biblioteca padrão, documentação detalhada, diversos frameworks disponíveis e uma comunidade de programadores muito ativa. É fácil de executar, por ser interpretada nos principais sistemas operacionais, suporta múltiplos paradigmas de programação e é eficiente para desenvolvimento de scripts, sistemas Web ou para aplicações de Data Science. Além disso, tem uma grande variedade de ambientes de desenvolvimento integrado (IDEs) disponíveis, que rodam localmente ou em nuvem.

Se quiser entender melhor por que esses pontos são tão importantes na escolha da sua primeira linguagem de programação, continue lendo e descubra que existe algo ainda mais importante que essa escolha.

Por que aprender apenas uma linguagem de programação de cada vez?

Antes de entender por que eu recomendo que você aprenda Python primeiro, pense nisso:

Você tem mesmo que aprender só uma linguagem de programação primeiro?

Não seria melhor aprender logo duas ao mesmo tempo? Ou três?

Na verdade… Não!

Existe um provérbio russo que diz: “Se você perseguir dois coelhos… Não vai pegar nenhum dos dois.

A ideia por trás dessa frase está bem clara, mas como esse não é um blog de autoajuda, vou ser mais objetivo.

Se você está começando, não está só aprendendo uma linguagem de programação, você está aprendendo a programar!

As linguagens são só ferramentas.

Há muitas outras coisas que você precisa saber e que são independentes de linguagens, como estruturas de repetição, condicionais, alocação de memória por variáveis, recursividade, estruturas de dados, paradigmas de programação e experiência do usuário, só para citar algumas.

Por isso, enquanto aprende como tudo isso funciona, você não precisa de mais de uma linguagem de programação.

Além disso, quanto mais fácil for essa primeira linguagem, mais você pode se concentrar em aprender a programar.

Agora que você já entendeu por que deve escolher só uma linguagem de programação para começar, isso te leva à próxima pergunta…

Por que a sua primeira linguagem de programação deve ser Python?

Se você pesquisar na Internet qual é a primeira linguagem de programação que deve aprender, vai encontrar listas das linguagens mais usadas, com uma descrição simples das características de cada uma.

Alguma coisa como: “tal linguagem é boa para desenvolvimento de jogos”, ou “essa outra é muito usada para Web”, ou ainda “essa aqui é a linguagem da moda”.

Apesar dessas listas apresentarem informações relevantes sobre as linguagens, na maioria das vezes não existe uma conclusão sobre qual delas você deve aprender primeiro.

Ou então a conclusão é: “depende”.

Depende do seu objetivo na carreira, depende se você quer programar para Web, ou se quer desenvolver jogos…

Bem, se você está começando na área e está pesquisando sobre esse assunto na Internet, o que você quer são opiniões úteis, vindas de pessoas experientes.

Nesse caso, saber em que situações cada linguagem se aplica é um bom ponto de partida, mas ainda não responde a sua dúvida.

E para resolver essa dúvida de uma vez por todas, eu recomendo Python como a primeira linguagem de programação que você deve aprender, apresentando os motivos para justificar essa escolha.

Para facilitar a sua decisão de aceitar ou não a minha sugestão, veja a seguir uma descrição mais detalhada desses motivos.

O que eu quero mostrar com esses argumentos é que aprender Python primeiro vai ser útil para você, qualquer que seja a carreira que você siga.

A sintaxe da linguagem Python é simples

Para escrever programas em Python, você não precisa usar chaves “{}” para iniciar e encerrar blocos de código. O código é interpretado com base na indentação.

Além disso, as linhas também não precisam ser terminadas por ponto-e-vírgula “;”.

Para demonstrar como isso é diferente de outras linguagens, veja um exemplo de como imprimir uma mensagem na tela em Java:

// Java public class Mensagem { public static void main(String[] args) { Mensagem msg = new Mensagem(); msg.imprimirMensagem(); } public void imprimirMensagem() { System.out.println("Mensagem"); } }

O objetivo desse post não é ensinar Java, então vou explicar por alto o que esse código faz.

Todo programa em Java é uma classe.

Um programa pode ter várias classes, mas para que ele possa ser executado na linha de comando, ele precisa ter um método main. Todo o código dentro desse método é executado primeiro.

Nesse exemplo, o código no método main cria um objeto do tipo Mensagem (linha 4) e chama o método imprimirMensagem() desse objeto. Então, o método imprimirMensagem() executa o código System.out.println("Mensagem");, que imprime “Mensagem” na tela.

Agora veja o mesmo exemplo em Python:

# Python def imprimirMensagem(): print("Mensagem") # Todo o código que tiver esse recuo está dentro da função. imprimirMensagem() # Código fora da função

A função imprimirMensagem() é definida na linha 2 e chamada no corpo do programa (linha 5).

Simples, não é?

E isso sem contar que, no programa em Python, você poderia rodar só a linha print("Mensagem") direto no interpretador ou no Jupyter lab, sem criar um arquivo de código.

O Jupyter Lab é uma ferramenta ótima para começar a programar em Python e deve fazer parte da sua lista de ferramentas como programador.

Se você ainda não tem o Jupyter Lab instalado, dá uma olhada nesse post onde eu explico o passo-a-passo para a instalação.

Eu imagino que só de ver esse exemplo você já percebeu como é mais fácil escrever código em Python do que em Java ou em outras linguagens baseadas em C.

A biblioteca padrão do Python já tem muitos componentes prontos

Vou usar como exemplo uma estrutura de dados que associa chaves a valores, chamada hash table.

Pense em uma agenda telefônica: As chaves são os nomes das pessoas e os valores são os números de telefone. Quando você quer pesquisar o número de alguém, procura pelo nome e obtém o valor correspondente.

Um dicionário funciona da mesma forma. Você pesquisa uma palavra (a chave) e encontra a sua definição (o valor).

Tanto a agenda telefônica quanto o dicionário são exemplos que podem ser programados como hash tables.

A linguagem Python tem uma estrutura de dados chamada dicionário, pronta para ser usada e que, na verdade, é uma hash table.

Então, se eu quisesse criar uma hash table em Python com as três cores usadas no meu site, o código ficaria assim:

coresHTML = {'azul': '#0390f9', 'cinza': '#3a3a3a', 'laranja': '#e86000'}

Veja que nem é preciso declarar um objeto do tipo dicionário.

A sintaxe de criação de um dicionário só precisa de chaves “{}” e dos pares chave:valor separados por dois pontos “:”, com uma vírgula entre cada par.

Além disso, esse dicionário já tem todos os métodos para incluir, apagar e acessar os seus elementos, com alocação de memória otimizada para realizar essas operações.

Sem falar que ele tem documentação completa e já foi testado e usado em milhares de programas.

No exemplo acima, se eu quisesse buscar o código da cor azul, eu só precisaria escrever coresHTML['azul'].

O resultado seria #0390f9.

Viu como é simples usar uma linguagem de programação que já te dá tudo pronto?

No entanto, nem sempre é assim…

Algumas linguagens, como C, não têm uma estrutura de dados do tipo hash table em sua biblioteca padrão. Você tem que escrever a sua ou procurar alguma pronta.

No GitHub você pode encontrar diversas implementações de hash tables em C, como essa.

Nem vou replicar esse código aqui para o post não ficar muito grande…

Mesmo que você pegue esse código pronto, são 285 linhas, em vez de uma, que você vai ter que entender antes de usar. Tudo isso só para criar uma estrutura de dados simples.

Além disso, e se esse código der algum problema quando for incluído no seu programa? A quem você vai pedir suporte?

É claro que a biblioteca padrão do Python também pode ter erros, mas a linguagem tem manutenção o tempo todo, então o risco é muito menor.

Então, não caia na conversa de que “aprender C te prepara para aprender qualquer linguagem de programação…”, ou você pode acabar desanimando.

Por quê?

Ora, o que você quer é aprender a sua primeira linguagem de programação e começar a produzir código que resolva problemas reais, que te permita ter um emprego e ganhar um salário. A última coisa que você precisa nesse momento é se preocupar em refazer o que já está pronto.

Então deixe para programar em uma linguagem que demanda esse esforço extra quando essa linguagem for a única solução para o seu problema. Esse tipo de situação só deve surgir quando você já tiver mais experiência.

E então, você prefere programar para resolver um problema de negócio de verdade ou prefere perder horas escrevendo código cada vez que precisar de uma estrutura de dados?

Portanto, use Python e saia na frente!

Python suporta múltiplos paradigmas de programação

Eu não vou entrar em detalhes sobre o que é programação procedural, orientada a objetos e funcional, mas você pode usar qualquer um desses paradigmas em Python.

No começo, para entender as estruturas básicas de programação, como variáveis, condicionais e laços, você vai escrever código procedural, ou seja, instruções sequenciais simples.

Nesse momento você vai aprender a programar.

À medida que o seu código for ficando maior e mais complexo, é natural evoluir para a Programação Orientada a Objetos.

No entanto, a programação OO, como é chamada, impõe uma forma diferente de pensar. Isso se reflete na estrutura do código, com classes, objetos e métodos.

Agora, responda…

Você quer mesmo aprender o básico de programação, uma linguagem complexa e uma nova forma de pensar, tudo ao mesmo tempo?

Por que complicar, se pode ser mais fácil?

Esse é o principal motivo pelo qual eu não recomendo que você comece aprendendo Java ou C#.

Além da complexidade da sintaxe ser maior, essas linguagens são feitas para que o programador use o paradigma OO.

Se você já souber programar em Python, quando for aprender programação OO vai poder se concentrar em aprender os conceitos desse novo paradigma, em vez de se preocupar com a linguagem.

A linguagem Python também suporta programação funcional até certo ponto, mas esse é um paradigma pouco usual e você não precisa aprender a programar dessa forma no começo.

Portanto, a linguagem Python é excelente para começar, porque se adapta a cada etapa do seu aprendizado de programação.

Saber programar em Python é suficiente para trabalhar como programador

A não ser que você pense em programar só por hobby, eu imagino que você queira ganhar dinheiro como programador.

Nesse caso, a linguagem Python também é uma ótima opção.

Você pode desenvolver scripts para automatizar tarefas repetitivas, APIs, sistemas Web, ou visualizações para análise de dados em Python.

Essas competências te qualificam para participar de projetos e montar o seu portfólio. Essa é a primeira etapa para conseguir um emprego como programador.

Python é uma das linguagens mais utilizadas no mundo

Se você for como eu e não acreditar na primeira coisa que te falam, você deve estar pensando:

“Tudo bem, Python é a melhor opção… Mas quais são as linguagens mais usadas?”

Na última atualização desse post, a linguagem Python aparece em terceiro lugar no índice Tiobe de popularidade de linguagens de programação, um dos mais conhecidos do mundo, depois de C e Java.

No ranking do Github, que tem como indicador a quantidade de projetos compartilhados na plataforma, Python aparece em segundo lugar, atrás apenas de JavaScript.

Já no ranking do stackoverflow, que é obtido pesquisando as opiniões de programadores do mundo todo, JavaScript também aparece em primeiro lugar e Python, em quarto.

No entanto, esse ranking traz em segundo lugar a linguagem HTML, que é uma linguagem de marcação, e em terceiro SQL, que é uma linguagem de consulta. Na prática, Python fica em segundo lugar entre as linguagens de programação.

Portanto, seja lá qual for o critério adotado para determinar a classificação das linguagens de programação, Python está sempre entre as três primeiras.

Mas e JavaScript?

Ela não é a linguagem mais utilizada, de acordo com dois desses três rankings?

Sim, JavaScript é uma linguagem sensacional, tanto que merece uma menção especial aqui.

Não é à toa que ela está em primeiro lugar, já que é conhecida como “a linguagem da Web”.

No entanto, JavaScript tem os problemas que eu já falei aqui nesse post e mais alguns.

Em primeiro lugar, a sintaxe é bem parecida com a da linguagem Java.

Além disso, apesar de não ser uma linguagem OO, um código bem feito em JavaScript com certeza é baseado em objetos.

Mas isso nem é o pior…

O mais complicado é que o jeito moderno de escrever código JavaScript é usando programação assíncrona, que é uma forma de simular computação paralela.

E só para você saber, também dá para usar programação assíncrona em Python.

Mas com certeza esse é um conceito que você vai querer deixar para aprender depois…

Portanto, eu recomendo que você aprenda a programar em Javascript, usando ao máximo todas as suas características. Só não recomendo que você faça isso no início.

E depois?

Bem, depois que você já estiver programando, eu tenho uma dica simples:

Seja lá qual for a linguagem que você aprender primeiro, a seguinte deve ser SQL.

SQL é uma linguagem de consulta, usada em bancos de dados relacionais.

Se você quer ser um programador profissional e desenvolver aplicações comerciais, vai ter que lidar com bancos de dados.

Então não gaste tempo aprendendo uma segunda linguagem de programação enquanto não dominar a linguagem SQL.

Conclusão

Programar é uma tarefa que demanda esforço e dedicação.

Não se trata só de saber como usar uma linguagem de programação, mas de aplicar uma forma de pensar para resolver problemas reais.

Por isso, o aprendizado de programação não deve ser misturado com a dificuldade de aprender detalhes específicos de uma linguagem.

Comece a programar em Python, aprenda a pensar como programador e depois busque outras linguagens para ampliar suas oportunidades na área.

Ou seja, a minha recomendação é que você aprenda Python como sua primeira linguagem de programação, não como a única.

E, seja lá qual for a linguagem que você escolher, comece a programar agora! Mesmo que depois você ache que não fez uma boa escolha, pelo menos você começou.

Qual é a sua opinião? Comente aí embaixo se você concorda que aprender Python primeiro é uma boa ideia.

Guilherme Brügger D Amato - Audiência Pública na Comissão Senado do Futuro

Guilherme Brügger D’Amato é servidor concursado de TI na Câmara dos Deputados, onde ocupou o cargo de Diretor de Informática entre 2015 e 2016. Com mais de 25 anos de experiência como programador e executivo de TI, já desenvolveu sites e sistemas usados por dezenas de milhões de pessoas. Conecte-se com ele no LinkedIn.

Deixe um comentário