Quais linguagens de programação devo estudar neste ano de 2018?

Quais linguagens de programação devo estudar neste ano?

Uma pergunta que recebo quase que diariamente é a seguinte:
"Quais linguagens de programação devo estudar esse ano?"

Uma questão muito interessante e válida, porém similar a me perguntar algo como "Para onde você acha que eu devo viajar esse ano?"

Trata-se de uma pergunta um tanto quanto difícil de responder. A resposta depende de inúmeros fatores em ambos os casos. No caso que nos interessa, o das linguagens de programação, é preciso levar em conta itens como:

  • Qual o seu conhecimento atual de programação?
  • Conhece já alguma linguagem?
  • Tem experiência de trabalho com desenvolvimento?
  • Com o que deseja trabalhar? Web, Desktop, Embarcados?
  • Quanto tempo você tem disponível para estudar?
  • Tem dinheiro para investir em treinamentos presenciais ou online?
  • Pretende trabalhar por conta ou como funcionário de uma empresa?

Entre outras. Para começar nossa análise, vamos lançar mão de uma ferramenta muito útil, apesar de ser considerada um pouco polêmica por alguns: os Índices de Popularidade de Linguagens, disponíveis em alguns sites na Web, como os seguintes:

Esses três índices (entre alguns outros que existem) mostram quais foram as linguagens mais populares em 2017, e nos dão uma ideia aproximada do quanto cada linguagem é procurada ou utilizada. Escolher uma linguagem mais popular pode ser uma boa estratégia, pois é normal que hajam muitas oportunidades associadas. Porém, linguagens de nicho, especializadas, também podem trazer um bom retorno, devido à baixa "concorrência" de programadores - desde que haja mercado para essas linguagens.

Também vamos empregar uma análise da empresa da área de educação especializada em bootcamps Coding Dojo sobre as linguagens mais promissoras para esse ano, tentando adaptá-la ao mercado de trabalho brasileiro.

Linguagens de programação mais populares atualmente

De acordo com esses índices, as 15 linguagens que foram mais populares no ano passado (2017) são as seguintes (sem ordem específica):

  • C - Provavelmente a mais conhecida linguagem de programação da história, a linguagem C é antiga (desde 1969!) e ainda amplamente empregada em desenvolvimento de aplicações nas áreas de segurança, sistemas operacionais, drivers, interfaces gráficas e, hoje em dia, também em sistemas embarcados. Não é uma linguagem fácil de se aprender, mas eu a recomendo fortemente caso você tenha interesse em trabalhar em uma das áreas supracitadas.
  • Java - A popularidade do Java parece ter declinado um pouco nos últimos anos, mas sem dúvida ainda é a linguagem mais popular entre as empresas da área de software. É usada por milhões de desenvolvedores ao redor do globo (literalmente), e tem como característica marcante o fato de rodar em qualquer hardware que suporte sua máquina virtual (JVM - Java Virtual Machine).
    Além disso, aplicações para Android são, em sua grande maioria, feitas em Java (podem ser desenvolvidas em outra linguagem), e a linguagem é amplamente empregada no desenvolvimento de aplicações para servidor (server-side).
  • Python - O Python é uma linguagem de propósito geral, que encontra aplicações nas mais diversas áreas, como Web, Automação, Ciência de Dados, Machine Learning e muitas outras. Tem crescido continuamente, e a demanda por profissionais que conheçam Python também aumenta na mesma proporção. YouTube, DropBox e o Netflix, entre outros, usam Python. Recomendadíssima.
  • JavaScript - Uma das linguagens mais populares do mundo, o JavaScript é utilizado por cerca de 95% de todos os websites existentes, e possui uma grande quantidade de bibliotecas e frameworks disponíveis para facilitar o desenvolvimento de aplicações Web. Possui também aplicações em dispositivos móveis e até mesmo em aplicações para Internet das Coisas. Recomendadíssima.
  • R - A linguagem R é amplamente usada na área de mineração de dados e desenvolvimento de softwares para análise estatística, sendo empregada nos campos de análise de dados e ciência de dados.
  • PHP - O PHP é uma linguagem de script do lado do servidor, empregada no desenvolvimento de aplicações Web. Muito empregada para adicionar conectividade a bancos de dados às páginas de um website.
  • C++ - Utilizada geralmente para desenvolvimento de software de sistemas e aplicações, desenvolvimento de jogos, drivers de dispositivos, firmwares e sistemas embarcados, e muitas outras aplicações. O C++ é uma linguagem mais difícil e complexa para se aprender do que a maioria em nossa lista, mas ainda assim é altamente recomendável.
  • C# - O C# é uma linguagem orientada a objetos da Microsoft que foi projetada para o desenvolvimento de aplicações na plataforma .NET, sendo aplicada no desenvolvimento de softwares para desktop, web e principalmente jogos, entre outras aplicações.
  • Swift - O Swift é a linguagem de programação para desenvolvimento de aplicações nativas para iOS e macOS, lançada pela Apple em 2014 em substituição ao Objective-C
  • Ruby - Ruby é utilizada no desenvolvimento rápido de websites e aplicações web, e é uma linguagem simples de aprender.
  • Go - O Go é uma linguagem de programação criada pelo Google. Ela oferece recursos como alta concorrência, compilação rápida e, claro, suporte amplo disponibilizado pelo próprio Google. Empregada em áreas como Computação em Nuvem e Web, e uma de suas aplicações mais conhecidas é o projeto Docker.
  • Visual Basic - Linguagem de propósito geral utilizada no desenvolvimento de aplicações desktop e sistemas comerciais. Vem caindo em desuso ano após ano, tendo sido substituída principalmente pelo C#, mas ainda encontra algumas aplicações, principalmente em sistemas legados. Uma variante do Visual Basic (ou "VB") , chamada de VBA (Visual Basic for Applications) é muito usada na automação de planilhas de cálculo.
  • Matlab - Linguagem altamente especializada, é empregada na área de computação científica para a realização de cálculos complexos em diversas áreas da ciência, desde aplicações financeiras até previsão do tempo e desenvolvimento e aplicações militares.
  • Perl - O Perl é uma linguagem utilizada principalmente no desenvolvimento de scripts para automação e gerenciamento de sistemas e redes de computadores, sendo muito comum em ambientes Unix.
  • Delphi - Assim como o Visual Basic, o Delphi é uma linguagem de propósito geral utilizada no desenvolvimento de aplicações desktop e sistemas comerciais. E também como o VB, vem caindo em desuso ano após ano, encontrando ainda algumas aplicações, principalmente na manutenção de sistemas legados.
  • Objective-C - Usada no desenvolvimento de aplicação nas plataformas da Apple, vem caindo em desuso devido à sua substituição pela linguagem Swift.

Excelente. Várias dessas linguagens são amplamente conhecidas e de uso geral, como C e Java, e algumas são bem específicas, como Matlab e Perl. Vou agora fazer minhas "recomendações", as quais são baseadas em meu conhecimento das linguagens (como programador), minha percepção pessoal de como o mercado se encontra atualmente, análise de índices e áreas de atuação, e não necessariamente irá incluir apenas as linguagens mostradas nos índices citados.

Linguagens de Programação e áreas de aplicação

Vejamos algumas dessas linguagens classificadas por áreas de atuação, de modo a facilitar sua escolha dependendo do tipo de software que pretende desenvolver.

  1. Desenvolvimento Web Front-End
    1. JavaScript 
    2. HTML / CSS (não são linguagens de programação, e sim de marcação/estilo, mas preciso citá-las pois são essenciais nessa área).
  2. Desenvolvimento Web Back-End
    1. PHP
    2. Python
    3. Ruby
    4. Java
    5. JavaScript (Node.js)
  3. Sistemas Embarcados
    1. C
    2. C++
    3. Assembly
  4. Programação de Sistemas (Drivers, Segurança, Utilitários, etc)
    1. C
    2. C++
    3. Assembly
  5. Desenvolvimento de Jogos
    1. C++
    2. JavaScript
    3. Java
    4. HTML5
  6. Mobile
    1. Java
    2. C#
    3. Swift
    4. Kotlin - O Kotlyn é uma linguagem open-source que se apresenta como uma alternativa ao Java para o desenvolvimento de aplicações para Android. É suportada pelo Google, e possui ampla documentação e suporte disponíveis.
  7. Ciência de Dados - Análise de Dados, Big Data
    1. R
    2. Python
    3. Java (e derivados, como Scala)
  8. Cloud Computing 
    1. Go
    2. Python
    3. JavaScript
    4. Java

O que significa isso? Significa que se você quiser ser, por exemplo, um desenvolvedor de aplicações para Web, deve se concentrar em estudar e aprender linguagens de programação como JavaScript e PHP, e linguagens de marcação e estilo como HTML e CSS. Já se seu foco for, por exemplo, Sistemas Embarcados, deve procurar conhecer linguagens como C e C++.

Algumas linguagens, chamadas de linguagens "de propósito geral", ou "universais" são empregadas em várias áreas distintas do desenvolvimento de software. Os exemplos mais comuns são as linguagens C++, Python e Java. E isso é um indicativo de sua importância - por isso devemos prestar atenção a elas.

Devo aprender uma ou mais linguagens de programação?

Algumas linguagens de programação aumentam mais suas chances de conseguir uma colocação profissional do que outras.

No geral, as empresas procuram programadores que conheçam linguagens tradicionais como JavaScript, Java, Python, C++, e C. São "linguagens-base", e é importante conhecer ao menos uma delas.
Além disso, há outras linguagens muito promissoras, cujo mercado deve crescer neste ano, como Go, Python, Scala, Swift, Kotlin, e Ruby. Com a quantidade de programadores nessas linguagens ainda não é muito grande, existe a possibilidade de se conseguir bons ganhos trabalhando com elas.

Algo que é muito importante levar em consideração é que conhecer apenas uma linguagem pode limitar severamente suas chances de trabalho, mesmo que seja "por conta". Como muitas vezes os softwares são produzidos com a integração de várias tecnologias simultaneamente, é importante conhecer mais de uma linguagem de programação. A maioria das empresas usa mais de uma linguagem para desenvolver seus produtos, não sendo raro encontrar projetos onde são utilizadas quatro ou mais linguagens!

Ou seja, conhecer apenas uma linguagem limita demais suas opções de carreira. Como a área de Desenvolvimento de Software está sempre em evolução constante, as linguagens de programação seguem o mesmo ritmo - surge, se tornam populares (ou não...) e acabam se tornando obsoletas em questão de poucos anos, para serem substituídas por outras linguagens, ou versões melhoradas de si mesmas. Devido a isso o aprendizado constante é crucial para que seja possível se manter ativo nesta indústria.

Quais linguagens de programação escolher?

Bem, depois de apresentar todos esses dados e falar a respeito de todas essas linguagens, vamos resumir nossa lista de linguagens para aprender de modo a facilitar sua escolha. Pessoalmente, recomendo as seguintes linguagens:

  • Python
  • JavaScript
  • Java
  • Swift (somente se for trabalhar com Apple)
  • C/C++ (dispositivos embarcados)

Somente linguagens de programação ou outras tecnologias?

Além das linguagens em si, existem muitas outras tecnologias e ferramentas que são muito importantes aprender para quem estuda programação, mas que não são linguagens de programação em si. Recomendo também estudar as seguintes tecnologias:

  • SQL - Imprescindível para todas as aplicações que acessam bancos de dados relacionais - ou seja, quase todas as áreas da tecnologia.
  • Frameworks como o .NET, usado em linguagens como C#, F# e Visual Basic, além de estar disponível para os sistemas iOS, Android, Linux e, é claro, Microsoft Windows.
  • Bibliotecas e APIs variadas, dependentes da linguagem escolhida
  • MEAN Stack - MEAN (abreviação de MongoDB, ExpressJS, AngularJS e Node.js), permite a criação de uma aplicação completa usando JavaScript.
  • Controle de Versão (git)
  • IDEs especializadas
  • E é claro, Algoritmos e Estruturas de Dados, que são conhecimentos fundamentais para qualquer desenvolvedor.

Pessoalmente, eu diria que SQL é fundamental, além do conhecimento de Algoritmos e Estruturas de Dados.

É isso aí! Nos próximos artigos vamos tratar das aplicações das linguagens de programação em nichos específicos. Até mais!

 

 

Sobre Fábio dos Reis (1262 Artigos)
Fábio dos Reis trabalha com tecnologias variadas há mais de 25 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Unix, Linux e Open Source em geral, adora Eletrônica e Música, e estuda idiomas, além de ministrar cursos e palestras sobre diversas tecnologias em São Paulo e outras cidades do Brasil.
Contato: Website

3 Comentários em Quais linguagens de programação devo estudar neste ano de 2018?

  1. Rafael de Lima e Silva // 25/01/2018 em 13:53 // Responder

    Grade Fabio, você acredita que vale a pena aprender Assembly atualmente? Eu imagino que o forte nesse quesito seja um bom desenvolvimento lógico (o que é imprescindível para qualquer programador), contudo queria saber se a mesma continua forte no cenário atual ou se seria melhor se aprofundar em algo como C e C++ antes.

  2. Fábio, tudo bem?
    vi seu vídeo respondendo a pergunta sobre começar depois dos 40, e achei muito bem colocado suas pontuações e eu tbm estou neste barco.
    Gostaria de saber por qual curso começar e se vc disponibiliza um cronograma para evoluir nos cursos.
    Grata.

  3. cesar augusto // 22/02/2018 em 16:34 // Responder

    Muito bom,Atualmente estou focado em ASP.NET MVC por que já gostava de C#.Ja passei por Java bem no começo, mas depois que conheci c# e senti uma semelhança com java foi amor a primeira vista, achei c# muito mais limpo e mais amigável de se aprender. e claro tb sei html,css bottstrap, java script e jquery tenho conhecimento basico/intermediario. Acho que fiz a escolha certa pois estou gostando muito. Recomendo a todos a Se focar em uma linguem só no começo, depois com tempo vai aprendendo outra até ver qual você se sente mais confortavél.

Escreva um comentário

Seu e-mail não será divulgado


*