11 Linguagens para Dominar, Conhecer, ou Ficar Longe!

Você já aprendeu a programar e agora quer conhecer melhor as principais linguagens de programação, para escolher em qual deve se aprofundar?

Para te ajudar nessa escolha, eu listei as características de algumas das linguagens mais populares nos principais rankings da Internet.

Entre eles estão o State of the Octoverse, do Github, que tem como indicador a quantidade de projetos compartilhados na plataforma, o ranking do stackoverflow, que é obtido pesquisando as opiniões de programadores do mundo todo e o índice Tiobe de popularidade de linguagens de programação.

Veja a seguir algumas linguagens de programação que apareceram entre as 10 primeiras posições nesses rankings nos últimos anos.

Entenda quais delas são boas opções para você se especializar e com quais você deve ter cautela.

Antes, eu sugiro que você leia o post sobre os critérios para escolher em qual linguagem de programação se especializar e depois volte aqui para conhecer essas opções, antes de tomar sua decisão.

Java

Com mais de 20 anos de existência, Java se consolidou como uma linguagem do backend, por conta da sua estrutura orientada a objetos e da robustez e escalabilidade da plataforma JVM.

No entanto, Java é considerada uma linguagem prolixa e que oferece menos produtividade, quando comparada com linguagens de script dinâmicas como Python, PHP e Ruby.

Na verdade, isso acontece porque muitos programadores não compreendem nem o paradigma OO, nem os princípios S.O.L.I.D. e descobrem da pior maneira que escrever código Java usando o paradigma procedural torna o programa sofrível de ler e de executar.

Esse talvez seja o principal motivo para se especializar nessa linguagem, já que há uma falsa impressão de grande disponibilidade de programadores Java capacitados no mercado.

Além disso, sempre que o uso do Java começa a declinar, alguma nova aplicação traz a linguagem de volta ao topo.

Hoje em dia, a popularidade da linguagem Java se deve muito ao seu uso no Android e nas aplicações de Data Science, por exemplo.

Outra característica importante que deu solidez à linguagem Java no ambiente corporativo foi a mudança do seu modelo comercial.

Desde 2019 o uso da versão Java SE passou a ser cobrado pela Oracle no modelo de assinatura, o que reforçou o caráter profissional de suporte e a expectativa de longevidade da linguagem.

Não é à toa que muitas publicações na Internet consideram o Java como o novo COBOL.

De fato, muitas aplicações de missão crítica de grandes empresas rodam nessa plataforma e é pouco provável que essas empresas assumam os riscos e gastem milhões de dólares para substituir essa base de código nos próximos anos.

Portanto, Java é a recomendação número 1 nessa lista de linguagens para se especializar.

SQL

Apesar de não ser uma linguagem de programação, SQL é uma linguagem de consulta fundamental se você quiser desenvolver sistemas que usem bancos de dados relacionais.

A linguagem SQL também é a porta de entrada para linguagens procedurais proprietárias dos bancos de dados, como PL-SQL, da Oracle e Transact-SQL, da Microsoft, que podem ser usadas para construir stored procedures com lógica mais complexa do que você conseguiria com simples consultas.

Por isso, você deve dominar as operações feitas com a linguagem SQL, mas não precisa ser um especialista nela, a não ser que você queira desenvolver sistemas gerenciadores de bancos de dados, ou se tornar um guru em otimização de consultas.

Python

Com uma comunidade ativa e muitos recursos para aprender Python de graça na Internet, a linguagem se tornou uma das preferidas pelas empresas.

Isso também se deve à sua facilidade de uso, elegância na sintaxe e maior produtividade, quando comparada a linguagens como Java e C++.

Outros pontos positivos do Python são a sua característica de funcionar com múltiplos paradigmas de programação e o fato de ser possível desenvolver diferentes tipos de softwares com Python, desde scripts para automação de tarefas, até sistemas Web e aplicações de inteligência artificial.

De fato, Python é tão amigável para programadores iniciantes que eu recomendo que ela deve ser a primeira linguagem que você deve aprender quando começa a programar.

Além disso, Python se integra de forma transparente com código escrito em C ou C++, permitindo que o programador resolva problemas de ineficiência do código usando módulos escritos nessas linguagens.

Portanto, Python é uma boa opção de linguagem para você se especializar ou, no mínimo, aprender o básico.

HTML/CSS

HTML não é uma linguagem de programação, é uma linguagem de marcação de documentos.

Da mesma forma, CSS é só uma forma de estilizar esses documentos.

No entanto, elas aparecem nessa lista porque dominar a sintaxe dessas linguagens é fundamental para qualquer programador que queira desenvolver sistemas Web.

Em geral, as funcionalidades das páginas Web são programadas em JavaScript, já que essa linguagem se integra ao HTML de forma transparente.

Portanto, se o seu interesse é desenvolver sistemas Web, aprender HTML e CSS a fundo é um requisito obrigatório.

C

Além de ser uma das linguagens de programação mais antigas, C é considerada uma das mais importantes da história, porque é a linguagem na qual são escritos os compiladores de quase todas as linguagens modernas.

A linguagem C é compilada para código de máquina e permite que o programador tenha acesso direto ao hardware, o que faz com que a sua performance seja excepcional.

Por isso, a linguagem C é apropriada para o desenvolvimento de sistemas operacionais, aplicações em tempo real e sistemas embarcados.

Mas essas vantagens vêm com o custo de tornarem C uma linguagem bastante complexa e não portável.

Assim como acontece com o COBOL, é provável que o programador especialista em C tenha emprego para a vida toda.

No entanto, o domínio das aplicações desenvolvidas nessa linguagem tende a ficar restrito à infraestrutura de software, como criação de drivers, compiladores e servidores de alta performance.

Dessa forma, se você procura uma linguagem para desenvolvimento de sistemas de alta performance ou embarcados, com acesso direto ao hardware, C é uma boa opção para se especializar.

C++

Mesmo tendo sido criada para ser uma linguagem orientada a objetos, C++ suporta múltiplos paradigmas de programação.

Com uma quantidade enorme de características, incluindo herança múltipla e acesso direto à memória, a linguagem é considerada uma das mais difíceis de aprender.

No entanto, esse esforço é recompensado por sua performance incomparável e controle total sobre o hardware, como acontece na linguagem C, da qual C++ é derivada.

Mas ainda que tenha a fama de ser uma das linguagens mais eficientes de todos os tempos, a complexidade excessiva do C++ afasta seu uso em cenários com menos exigências, onde podem ser usadas linguagens mais simples e com características semelhantes, como Java, Rust ou Go.

Hoje em dia, a linguagem C++ é usada em Big Data e em aplicações de missão crítica, como no controle autônomo de voo dos foguetes Falcon 9 da SpaceX.

Para esses sistemas embarcados muito específicos, a escolha tende a ser a linguagem C e a opção pelo C++ só acontece quando alguém decide que o projeto precisa ser orientado a objetos.

No Brasil, onde o desenvolvimento de tecnologia proprietária para controlar hardware é quase nulo, o mercado acaba enxergando o programador C++ como um programador C “turbinado”.

Portanto, se você quer se especializar em uma linguagem com excelente performance e controle de hardware, escolha C.

Se preferir uma linguagem orientada a objetos, escolha Java.

E se precisar das duas coisas e tiver alguma justificativa muito boa para isso, escolha C++ e me conte o motivo aqui nos comentários.

JavaScript

O JavaScript é a linguagem da Web e já está presente nos navegadores desde os anos 1990, quando foi criada para rodar no Netscape.

O fato de ser uma linguagem dinâmica, pouco rigorosa e que suporta múltiplos paradigmas tornou o JavaScript popular entre os programadores iniciantes.

Com a explosão da sua adoção, a linguagem foi modernizada e hoje em dia segue a especificação ECMAScript, da qual também surgiu o TypeScript, que é uma linguagem semelhante ao JavaScript, com tipagem estática e desenvolvida pela Microsoft.

O ponto alto da linguagem foi em 2009, com o lançamento do Node.js, que permitiu a execução de código JavaScript também no servidor.

Além disso, os frameworks JavaScript para frontend, como Angular, React e Vue criados e mantidos por grandes empresas, reforçaram a aposta em uma vida útil longa para a linguagem.

E para completar a adoção do JavaScript pelos programadores full stack, o React Native trouxe a linguagem para o desenvolvimento de apps móveis.

Hoje em dia, é difícil encontrar uma vaga de emprego para programador Web que não exija algum conhecimento em JavaScript como requisito.

Portanto, se você quiser desenvolver sistemas Web, APIs REST ou apps, o JavaScript é uma excelente escolha, com a vantagem de ser uma linguagem muito simples de aprender e de usar.

No entanto, tenha em mente que o número de programadores JavaScript pode crescer muito, como aconteceu com a linguagem PHP.

C#

O C# é uma linguagem orientada a objetos criada pela Microsoft no final dos anos 2000 como parte da plataforma .NET, em resposta à explosão de popularidade do Java na época.

Com sintaxe semelhante à do C++ e do Java, C# é uma linguagem versátil, que pode ser usada para criar sistemas nativos para Windows, sistemas Web ou até apps para iOS e Android, usando o Xamarin.

No entanto, onde a linguagem C# mais se destaca é no desenvolvimento de jogos com o Unity, que é o motor de jogos mais popular hoje em dia.

Em termos de oportunidades de emprego, a quantidade de vagas para C# tende a ser parecida com a da linguagem Java, a não ser nas regiões onde há muitos órgãos públicos, que têm como norma adotar plataformas de software livre.

Um outro ponto forte da linguagem C# é o fato de ser um produto da mesma empresa que oferece a Azure, uma das maiores plataformas de computação em nuvem do mundo.

Com isso, as empresas que usam o sistema operacional Windows no desktop, nos seus data centers e na nuvem da Microsoft podem se beneficiar de economia de escala em suporte e treinamento, adotando o C# para o desenvolvimento de aplicações.

Além disso, essa família de produtos integrados de maneira transparente forma a base do portfolio da empresa, indicando que a linguagem tende a continuar forte nos próximos anos.

Portanto, o C# também é uma boa opção de linguagem para se especializar.

Hoje em dia é possível usar o C# com o framework .NET no Linux.

Apesar disso, eu não acredito que alguma empresa que saiba o que está fazendo vai investir em um ambiente de código aberto e usar um stack de desenvolvimento proprietário de outra plataforma, adaptado para rodar com restrições no Linux.

Swift

Criada pela Apple e usada no desenvolvimento de apps para iOS, o Swift já esteve entre as 10 linguagens mais populares do ranking Tiobe.

No entanto, se você considerar que a fatia de mercado do iOS no Brasil é bem menor que a do Android e que novos frameworks como Flutter e React  Native estão facilitando o desenvolvimento de apps para essas duas plataformas, se tornar especialista em Swift pode não ser uma boa opção.

Ruby

Assim como Python, Ruby é uma linguagem interpretada que suporta o paradigma OO e que tem como principal característica a alta produtividade do programador.

O Ruby on Rails, framework Web mais popular da linguagem, inspirou diversos outros em várias linguagens diferentes, com sua abordagem de convenção sobre configuração.

Por causa disso, o grande atrativo da linguagem Ruby para as empresas é que ela é… barata!

Não é à toa que a linguagem Ruby é uma das preferidas pelas startups, já que o modelo de negócio desse tipo de empresa prevê que ela deve falhar rápido para aprender e que essas falhas devem ter baixo custo.

E como o maior custo da empresa é a mão de obra, isso significa que o salário do programador Ruby tende a ser mais baixo, se comparado ao de programadores de outras linguagens.

Um outro ponto negativo do Ruby é a afirmação de que a linguagem está morrendo, feita por alguns programadores.

Essa é uma discussão polêmica que eu não pretendo abordar aqui, mas é importante que você faça uma pesquisa a fundo desse assunto antes de investir na linguagem.

Portanto, a não ser que o Ruby domine as vagas para programadores na sua região, há opções melhores nessa lista para você se especializar.

PHP

De acordo com os dados do site W3Tech, de cada 10 sites na Internet, quase 8 usam PHP de alguma forma.

Esse é um número muito impressionante e não pode ser desconsiderado.

Por ser uma linguagem bastante integrada ao HTML, tão utilizada e fácil de aprender, muitos programadores se especializaram em PHP desde que a Internet se popularizou e os sistemas Web passaram a dominar o mercado.

Por isso, da mesma forma que acontece com a linguagem Ruby, o salário do programador PHP tende a se estabilizar em valores menores que os dos programadores de outras linguagens.

Dessa forma, se especializar em PHP pode aumentar bastante as suas chances de conseguir um emprego, mas dentro de uma faixa salarial menor do que você conseguiria com outras linguagens como Java, C++ ou até mesmo Python.

Conclusão

Agora que você já conhece as características e os principais usos das linguagens de programação mais populares, já pode começar a pensar em qual delas vai se especializar.

Faça uma lista menor com as linguagens que você achou mais interessante e pesquise as oportunidades de emprego para cada uma delas na sua região.

E se você ainda não fez isso, leia esse post que explica os critérios que você deve considerar antes de escolher em qual linguagem de programação se especializar.

Você acha importante se especializar em uma linguagem de programação? Tem alguma outra sugestão para essa lista? Então comente aí embaixo!

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