Qual a melhor linguagem de programação para quem está começando?

Autor(a):

Hoje vou tentar te ajudar a escolher uma linguagem de programação para que você possa focar e aprender programar de uma vez por todas.

Já viu quantas linguagens de programação existem por ai? É uma verdadeiro carnaval, e você deve estar se perguntando qual dessas escolher? 

Então se você me perguntar, qual a melhor linguagem para quem está aprendendo? Tenho duas respostas pra você:

  • Tanto faz e depende.

Tanto faz se você está apenas começando, pois o primeiro passo é aprender lógica de programação e ela independente da linguagem. Tem linguagem mais adequada para iniciantes, sim. Mas para aprender o básico, a lógica, qualquer uma serve. 

Depende do seu objetivo como programador. Depende muito de como deseja atuar, se quer trabalhar em empresa ou ser freelancer, se quer construir interfaces ou prefere gerenciar os dados. Se quer ser especialista ou saber de tudo um pouco.

Então vou apresentar pra vocês como você pode atuar e como se preparar para cada área.

Frontend

Antes de listar linguagens devo explicar que aplicações web se dividem em duas partes, o backend e o frontend. O Backend é a parte que organiza os dados e integra a aplicação com o banco de dados ou outros agentes externos ao sistema.

O Frontend é a parte que você interage diretamente pelo seu navegador, é no frontend que a parte técnica da programação se une aos conceitos do design para criar interações fantásticas com os usuários.

Se você gosta da área de programação e também do design, se se preocupa com a experiência do usuário, tenho uma boa notícia pra você. Estude essas três linguagens:

HTML, CSS e JavaScript.

Dessas 3 apenas JavaScript é uma linguagem de programação, HTML é linguagem de marcação e CSS folha de estilos.

Se você quer começar aprender agora mesmo um pouco de desenvolvimento frontend criando uma página de links para o seu Instagram ou LinkedIn como mostro no curso Meu Primeiro Site utilizando HTML, CSS e JavaScript, hospedando tudo de graça e sem precisar instalar nada no seu computador, confere lá em coddev.com.br.

Além de frontend para web, com o HTML, CSS e JavaScript você tem acesso a frameworks e tecnologias que permitem desenvolver aplicações para Mobile e Desktop como veremos mais pra frente nesse vídeo.

Backend

O frontend não resolve todos os problemas ele precisa de um amigo para conversar, um amigo que tome decisões importantes por ele. No backend é onde normalmente ocorre as integrações da aplicação com banco de dados, envio de email, outras aplicações, etc.

É importante destacar aqui que você pode criar aplicações monolíticas, onde todo o HTML é misturado aos dados pela linguagem de programação backend ou aplicações distribuídas totalmente desacopladas os chamados SPAs (single page apps).

Dessa forma o backend pode retornar uma página completa ou apenas os dados para que o frontend faça seu trabalho processando esses dados para montar as páginas no navegador.

Várias são as linguagens de Backend que podemos utilizar para isso:

  • Java
  • C#
  • PHP
  • Python
  • Ruby
  • Go
  • JavaScript
  • etc.

Se você deseja trabalhar com Backend, mais a frente vou detalhar melhor sobre algumas características das linguagens para que fique mais simples você escolher uma delas.

Mobile

Para desenvolvimento mobile temos que distinguir entre os dois maiores sistemas operacionais atualmente, o Android e o IOS:

A Google tem algumas linguagens tidas como oficiais para o desenvolvimento para Android que são o C++, Java  e mais recentemente Kotlin. Essas linguagens servem para criar o que chamamos de aplicação nativa para o Android.

Já Apple desenvolveu a linguagem Swift para desenvolvimento nos seus aparelhos, essa linguagem já consta nas listas entre as mais populares desde 2017.

Com HMTL, CSS e JavaScript, também é possível desenvolver apps nativos e híbridos, que são apps que possuem uma camada de abstração entre o sistema operacional e o código de produção. Nesse campo destaca-se o framework Ionic, React Native, Native Script.

Ultimamente fala-se muito bem do Flutter, um framework escrito pelo Google na linguagem Dart que possibilita criar apps nativos para IOS e Android.

Frameworks

Antes de entrar em detalhes de cada linguagem é importante explicar pra você o conceito de Frameworks, que são pacotes de códigos reutilizáveis que resolvem problemas comuns para determinados tipos de aplicações. Dessa forma, teoricamente, você consegue desenvolver sua aplicação mais rapidamente do que utilizando apenas os recursos nativos da linguagem de programação.

Frameworks são importantes ferramentas para o desenvolvimento atualmente, e não podem ser facilmente desprezados na escolha pela linguagem A ou B. Com a possibilidade de entregar projetos mais rapidamente, você deve sempre buscar um framework que facilite sua vida.

Sempre realize provas de conceito antes de começar um projeto, veja se a comunidade do framework que está ativa, se o framework está sendo atualizado e compare com as alternativas. Não condicione a sua escolha por determinada linguagem somente pelos frameworks e nem seja totalmente dependente de algum framework. Mas esse papo vai longe e posso voltar nele em outro vídeo. Comenta aí se acha que vale a pena um vídeo aqui no canal falando somente de escolha de frameworks.

Sem papo de linguagem ruim ou boa aqui, bom mesmo é projeto entregue e dinheiro na conta, o cliente não quer nem saber nem um pouco se você foi disruptivo ou não, ele quer algo que resolva o problema.

Dito isso, vamos falar de cada uma das linguagens.

PHP

Além de se destacar pela facilidade de aprendizagem, 80% dos sites é feito com PHP. Possui uma imensa comunidade, muito material de estudos e ferramentas gigantes como o WordPress e Laravel. Certamente em poucos tempo de estudos seu primeiro site sai do forno.

Um ponto fraco do PHP em comparação com outras linguagens é que ele se restringe a desenvolvimento web backend.

A linguagem recentemente está recebendo diversas atualizações e uma versão 8 vem por ai prometendo muita coisa interessante.

Se você quer ser freelancer, PHP é uma excelente escolha.

Python

Essa linguagem tem crescido muito nos últimos tempos por se destacar no campo de aplicações inovadoras que utilizam algoritmos para aprendizado de máquina e ciência de dados.

Apesar de isso parecer complexo, a linguagem em si tem uma escrita bastante simples o que facilita muito o aprendizado, se você quer apenas criar scripts sem se aprofundar muito na programação Python é uma excelente escolha pra você. 

Python vem ganhando popularidade nos últimos anos e cada vez mais surgem vagas de emprego.

Diferente do PHP que é basicamente feito para web, o Python precisa de um framework para criar aplicações de backend, o mais popular é o Django.

Python também possibilita a criação de aplicações desktop e jogos.

Java

Se você precisa de uma plataforma completa e robusta para criação de aplicações backend, desktop e mobile certamente com Java você tem uma.

Muitas empresas gigantes utilizam Java em suas aplicações e é no Brasil a linguagem de programação com o maior número de vagas de emprego.

Tem uma enorme quantidade de ferramentas, frameworks e uma comunidade gigantesca.

Mas para os que estão aprendendo a programar o Java em comparação com as opções que falei anteriormente, pode parecer mais complexo por ser estritamente orientado a objeto e às vezes muito verboso.

C#

É a linguagem mais conhecida dentro da plataforma .Net da Microsoft. Em diversos aspectos se assemelha ao Java e com C# é possível desenvolver aplicações para Backend, Desktop (Windows) e Mobile (Com Xamarin).

Possui ainda bastante vagas de emprego, e certamente é a opção mais compatível caso você tenha que desenvolver algo Desktop para Windows.

Swift 

Se você deseja basear sua carreira na criação de apps exclusivos para IOS, macOS, etc… essa linguagem é a sua escolha óbvia pois foi desenvolvida pela Apple para desenvolvimento de aplicações para seus aparelhos. 

Se quer ser um desenvolvedor IOS, logo de cara você vai precisar ter um Mac, o que pode não sair barato ainda mais se você estiver apenas começando. 

Mas se você já é um usuário Apple deseja criar novas aplicações para os aparelhos da Apple, compensa se dedicar a essa linguagem, já que desenvolvedores IOS possuem bons salários.

C/C++

Agora se você tem tempo para aprender e quer ter uma visão abrangente do funcionamento do computador, ou quer trabalhar na área de games, hardware, ou criar seu próprio sistema operacional, vá para o C e C++ e boa sorte.

Com isso você vai acabar tendo que entrar a fundo em questões de mais baixo nível da programação e pegando um background gigantesco. 

Se você for obrigado a começar por C/C++ ou outra linguagem imposta para você pela graduação que você está fazendo, dai não tem jeito, apenas tenha em mente que tudo que está aprendendo vai te ajudar de alguma forma lá na frente.

JavaScript

Buscando na internet você encontra relatos de importantes universidades americanas abandonando Java para utilizar JavaScript nos cursos introdutórios. 

Um fato que chama muita atenção para o JavaScript é que você consegue começar aprender programar com apenas um editor de código para escrever o programa e um navegador para executá-lo. 

Além disso, independente da linguagem que você escolha trabalhar no backend, você vai acabar esbarrando com o JavaScript no frontend, onde o JavaScript nasceu e continua cada vez mais forte. 

Com o NodeJS o JavaScript pode ser utilizado também no backend com uma infinidade de frameworks e bibliotecas.

É possível também criar aplicações mobile com JavaScript como vimos anteriormente, além de aplicações para desktop Windows, Linux e Mac com o ElectronJS.

Até mesmo a linguagem utilizada para manipulação de dados do MongoDB, que é um dos banco de dados NoSQL mais conhecidos atualmente, utiliza uma sintaxe muito parecida com a do JavaScript.

Tem muita vaga para JavaScript atualmente e é muito difícil prever o futuro, mas ainda acho que a linguagem deve crescer mais ainda.

Tem várias outras linguagens surgindo todos os anos e agora mesmo no momento que você está vendo esse vídeo, alguma nova linguagem que eu não falei aqui deve estar nos trending. Mas tenha em mente que hipe não garante emprego, foque em aprender uma linguagem que te traga algum lucro/emprego. A não ser que você seja rico e programação seja apenas um hobby, mas eu acredito que você está estudando programação para ser um profissional da área.

O que eu indico!

Se você não tiver um objetivo muito específico com alguma linguagem de programação e estiver começando praticamente do zero, comece pelo JavaScript. Mesmo que futuramente decida por outra linguagem de backend por questões de empregabilidade na sua região por exemplo, seguramente vai precisar do javaScript no frontend. 

Vai construindo pequenos sites e aprendendo lógica de programação gradualmente e no seu tempo. Vai seguindo as dicas do vídeo anterior que já está no card onde falei da dificuldade de aprender programação, teste novas possibilidades com o JavaScript e aproveite para aprender além do frontend, Backend com Node, mobile com React Native, desktop com ElectronJS e certamente isso vai abrir seus horizonte para novas possibilidades.

Depois que tiver uma visão ampla de tudo que se pode fazer com programação, você começa explorar outras linguagens ou se especializar cada vez mais no JavaScript.

Mais vídeos em: https://www.youtube.com/c/CodDevTV