Python, Java ou JavaScript: como escolher a melhor linguagem de programação para aprender?

Quais são os pontos fortes e os fracos de cada linguagem de programação? Fizemos um comparativo para ajudar a sua aposta

Author Photo
8:30 am - 15 de dezembro de 2020

A melhor maneira de entender os computadores e submetê-los à nossa vontade é aprender a falar a língua deles para que eles entendam nossos comandos. As pessoas que amam romances de fantasia às vezes imaginam que estão aprendendo feitiços e encantamentos mágicos. Os práticos usam uma linguagem mais fundamentada para representar a estrutura lógica de números e dados. Em qualquer caso, é tudo sobre a compreensão de qual sequência de pressionamentos de tecla e cliques do mouse farão o computador saltar através de aros metafóricos e executar danças virtuais.

Cada escola, MOOC e local de treinamento precisa adotar uma primeira linguagem para os jovens Padawans. Alguns lugares, como Harvard, ainda se apegam à era C dos anos 70, mas muitas escolas estão oscilando entre JavaScript, Python e Java. Um está enterrado em todos os navegadores, um é a escolha limpa das ciências sociais e o outro é a preferência rica em tipos de pessoas com uma mente mais matemática.

Essa é a melhor escolha? Um é claramente melhor do que os outros? Ou todos eles têm a mesma probabilidade de mandar um número substancial de alunos gritando em seus travesseiros à noite? Vamos examinar os melhores motivos para aprender Java, Python ou JavaScript.

Java é clássico

O teste Advanced Placement escolheu Java há muito tempo, quando Java era jovem e estava explodindo. Talvez Java nunca tenha alcançado o ápice de sua trajetória inicial, quando todos pareciam supor que seria completamente dominante, mas continua sendo a espinha dorsal de muitos sites, smartphones, televisores e pequenos dispositivos.

A escolha de uma linguagem com um grande número de seguidores permite ao aluno embarcar em uma onda já totalmente equipada com ferramentas de desenvolvimento sofisticadas. Além disso, existem zilhões de linhas de código-fonte aberto que o aluno pode estudar, revisar e estender para seu próprio trabalho. Eles estão se juntando a um grande movimento e é fácil para eles se encaixarem.

Leia também: 5 frameworks de Python com recursos parrudos para você usar

Python é novo

Na verdade, Python não é tão novo – o projeto começou há mais de 30 anos – mas parece novo porque seu sucesso vem lentamente. Apenas recentemente o Python apareceu e foi amplamente adotado por programadores casuais. A novidade significa que as escolas que estão adotando o Python estão criando novos planos de aula, escrevendo novos exames e desenvolvendo novos conjuntos de slides. Eles não estão cavando algumas questões velhas e empoeiradas da década de 1990 com referências a Pets.com e MySpace.

O mais novo curso de AP, chamado Princípios da Ciência da Computação, permite que o professor escolha a linguagem do computador e muitos estão escolhendo Python por causa de sua novidade. A novidade pode ser superficial, mas todas as linguagens são apenas uma sintaxe inteligente que esconde a estrutura de decisão if-then-else do código assembly.

Todo esse sucesso está construindo um ciclo de feedback positivo. A edição de novembro de 2020 do índice Tiobe marcou a primeira vez que Python subiu para o segundo lugar (atrás de C), reconhecendo como a linguagem estava se tornando mais popular do que Java.

JavaScript está em todo lugar

Está no navegador e o navegador é a base da sua área de trabalho, do seu telefone e de todos os quiosques que você vê em todos os lugares. Na última década, o JavaScript assumiu a linha de frente dos servidores da web à medida que os aplicativos da web Node.js se tornaram a forma mais popular para os desenvolvedores escreverem “código isomórfico” que pode ser executado tanto nos clientes quanto nos servers farms. JavaScript tem praticamente a mesma idade do Java, mas levou anos para que o pessoal do lado do servidor descobrisse seu poder. É novo e velho ao mesmo tempo.

Java é digitado

Você pode não gostar de perder tempo especificando o tipo de cada variável, mas não leva muito tempo para clicar em três teclas para adicionar “int” ao seu código. Ao fazer isso, você ganha todo o poder que vem ao permitir que o compilador verifique novamente seu código imediatamente e encontre os erros estúpidos antes que ele seja implantado. Linguagens de verificação de tipo nos forçam a pensar com mais rigor sobre a lógica em nosso código, e essa é uma lição essencial para novos programadores. A estrutura de tipo do Java reduz bugs e cria um código melhor.

Python não é digitado

Os amantes da linguagem digitada são inteligentes e escrevem um bom código, mas se você acha que seu código é bom o suficiente para funcionar sem problemas sem as informações extras sobre os tipos de dados para cada variável, bem, o Python está pronto para você. O computador pode descobrir o tipo dos dados quando você os armazena em uma variável. Por que fazer um trabalho extra para você?

Observe que essa abordagem de roda livre pode estar mudando, embora lentamente. A documentação do Python anuncia que o tempo de execução do Python não impõe anotações de função e tipo de variável, mas elas ainda podem ser usadas. Talvez com o tempo, adicionar tipos se torne a forma dominante de programar na linguagem, mas por enquanto a escolha é sua.

JavaScript é ambos

O próprio JavaScript não tem tipo, mas ultimamente alguns dos membros mais importantes do mundo do JavaScript têm mudado para o TypeScript, um superconjunto da linguagem original que oferece a capacidade de definir os tipos quando você quiser. E se você não quiser, bem, o JavaScript normal também funcionará bem. É uma versão descontraída de verificação de tipo.

Dispositivos de regras Java

A plataforma de telefone celular mais popular do mundo é o Android, uma enorme pilha de código construída em cima do Java. Mas essa é apenas a plataforma mais visível. Decodificadores, novos Chromebooks e até mesmo alguns desktops executam aplicativos Android exatamente como os smartphones. Um primo próximo do Java, C#, domina o mundo do Windows. C# não é exatamente igual ao Java, mas é muito parecido. Se você vai escrever um aplicativo para uma peça fixa de hardware, há uma boa chance de Java ser a melhor escolha.

Ciência de dados de regras Python

Se você está escrevendo um software para trabalhar com dados, há uma boa chance de querer usar o Python. A sintaxe simples prendeu muitos cientistas, e a linguagem encontrou um forte apoio nos laboratórios de todo o mundo. Agora que a ciência de dados está dominando todas as camadas do mundo dos negócios, o Python está seguindo.

Uma das melhores invenções para criar e compartilhar documentos interativos, o Jupyter Notebook, começou com a comunidade Python antes de abraçar outras linguagens. É uma das melhores maneiras de combinar software, dados e o texto que explica o que está acontecendo. Os leitores podem absorver as palavras e, em seguida, apertar botões para executar o software nos dados.

JavaScript governa a web

As outras plataformas podem ser boas, mas o navegador da web continua a ser o portal que quase todo mundo usa para se conectar com o mundo. Normalmente é o software mais usado no desktop, smartphone e tablet. JavaScript começou como o chefe desse cliente local e sua influência se expandiu para o domínio total, pois o crescimento do Node.js tornou mais fácil para os desenvolvedores executarem o mesmo código no cliente e no servidor.

Existem também dezenas de boas estruturas de JavaScript (Angular, React, Vue, etc.) que oferecem uma base para construir seu aplicativo da web e algumas são inteligentes o suficiente para mover seu código entre o cliente e o servidor, conforme necessário.

Mesmo nos mundos dominados por outras linguagens, o JavaScript entra na pilha. Muitos desenvolvedores de smartphones estão pulando Java e Swift para criar seus aplicativos de plataforma cruzada em JavaScript. Afinal, o JavaScript determina o que acontece no retângulo do navegador e isso praticamente garante que ele tomará a decisão sobre o que acontece com a maioria dos cliques e pressionamentos de tecla em todos os lugares.

Java executa tudo

Se você escrever código Python, há uma boa chance de ele acabar rodando em Jython, uma implementação da linguagem escrita em Java para tirar proveito da onipresença da Java Virtual Machine. Se você precisa executar JavaScript, também pode alimentá-lo para Rhino e Nashorn, duas ferramentas que transformam JavaScript em bytecode Java.

Essas duas linguagens não são as únicas que dependem do desempenho sólido da JVM. Muitas linguagens de programação funcionais, como Scala, Clojure e Kotlin, também contam com as mesmas bases. Isso ajuda a todos, tornando mais simples vincular essas linguagens baseadas em JVM se quiser usá-las no mesmo projeto.

Python roda em qualquer lugar

Python não é a primeira escolha ou mesmo a última escolha para pessoas que escrevem emuladores para outras linguagens. Ainda assim, é fácil encontrar Python em muitos computadores. Os criadores da linguagem sempre distribuíram o código como open code e os pacotes estão em praticamente todos os lugares. Na verdade, você encontrará o Python incluído no MacOS e na maioria das distribuições completas do Linux. E embora não esteja incluído no Windows, é muito fácil de instalar – basta fazer da maneira inteligente.

JavaScript roda no navegador

É difícil acreditar que a linguagem do brinquedo construída para criar caixas de alerta no navegador agora é a base para muitas linguagens. Os desenvolvedores desejam alcançar os usuários e, se os usuários estiverem morando no navegador, encontrar uma maneira de seu código ser executado em JavaScript é a maneira mais rápida de chegar a todos.

Não são apenas primos do JavaScript como CoffeeScript e LiveScript que transpilam para o JavaScript. Mesmo linguagens como Lisp, OCaml e Pascal podem ser convertidas para JavaScript e executadas no navegador. Python é popular no navegador em projetos como os notebooks Jupyter e até mesmo Java pode ser traduzido para JavaScript usando ferramentas como o Google Web Toolkit.

Java tem IDEs fortes

Eclipse, NetBeans e IntelliJ são alguns dos melhores ambientes de desenvolvimento integrados. Eles foram criados pela comunidade Java e alimentados ao longo dos anos para criar um dos ambientes de maior suporte para escrever código. O autocompletar de código e os algoritmos de geração de código podem não escrever todo o seu software, mas podem digitar uma quantidade significativa. Tudo isso realmente ajuda os novos desenvolvedores a obter a sintaxe correta.

Esses IDEs eram tão populares que desenvolvedores de outras linguagens encontraram uma maneira de executar seu código dentro deles. Se você se tornar um programador Java profissional, quase certamente usará um deles. Enquanto isso, se você deseja uma experiência de programação Java mais simples e amigável, experimente o BlueJ ou o Greenfoot. Esses “IDEs iniciantes” foram projetados especificamente para aprender Java.

Python tem a nuvem

A linguagem Python encontrou seu primeiro lar no mundo do Unix e, portanto, não é surpresa que as nuvens cheias de caixas do Linux sejam lugares naturais para encontrar muitos códigos Python. Algumas das ferramentas mais recentes, como o Jupyter, agrupam código, dados e explicação para que as pessoas possam compartilhar seus insights com outras pessoas como artigos de pesquisa que ganham vida. Os cadernos Jupyter não são documentos estáticos, mas ferramentas interativas para exploração.

Outros estão construindo ferramentas sofisticadas em torno da linguagem para aprimorar a pesquisa. PyTorch, por exemplo, é um kit de ferramentas de deep learning cheio de código, dados e algoritmos para análise. Ambientes como esse dominarão o futuro da ciência de dados.

Existem também vários bons hosts para notebooks que adicionam recursos extras para compartilhar dados e lidar com grandes trabalhos de análise de dados computacionais intensivos. O Google, por exemplo, administra o Colaboratory, que armazenará seus dados e oferecerá acesso gratuito a GPUs para computação mais rápida. O Saturn Cloud apresenta um desempenho que pode ser 100 vezes mais rápido do que seu desktop.

JavaScript tem JSFiddle

Cada navegador vem com potência mais do que suficiente para atuar como um IDE. JSFiddle é apenas o mais proeminente de mais de uma dúzia de sites que permitem compartilhar código JavaScript com outros desenvolvedores. As páginas da web, no entanto, não são estáticas porque você pode mexer no código e vê-lo rodar na mesma página da web. Ferramentas como essa simplificam o experimento com toda a diversão sintática do JavaScript.

Aprenda qualquer um – ou todos os três

O mundo da programação adora polinização cruzada. Embora possa ser confuso alternar entre diferentes linguagens e manter a sintaxe correta, é possível usar todas as três linguagens em projetos sem ficar muito atolado. Projetos Java ou JavaScript que analisam dados podem ser vinculados a bibliotecas de ciência de dados escritas em Python. Ou os projetos Python podem invocar código Java ou JavaScript.

Desenvolvedores inteligentes também criaram ferramentas para traduzir, vincular e integrar automaticamente os diferentes idiomas uns com os outros. Você deseja executar o código Python em seu navegador? Existem várias opções diferentes agora e provavelmente mais vindo. Java tem uma classe ScriptEngine que avaliará o JavaScript. Existem centenas de idiomas diferentes que serão executados como JavaScript por meio de tradução ou emulação.

Em suma, as três linguagens não precisam ser ilhas, isoladas umas das outras. Você não precisa escolher apenas um no longo prazo. Mas comece com um primeiro.


Newsletter de tecnologia para você

Os melhores conteúdos do IT Forum na sua caixa de entrada.