Em um mundo com diversas linguagens de programação, decidir por onde começar pode ser uma das tarefas mais difíceis. Vamos te ajudar a escolher a ideal para seu momento e desafio!


Primeiro precisamos entender que as linguagens de programação nada mais são que ferramentas utilizadas por programadores para determinados objetivos. Do mesmo modo que um martelo é a ferramenta ideal para um prego na parede, enquanto uma chave de fenda é ideal para montar um móvel, cada linguagem pode ser mais ou menos ideal para cada fim.


E por que são “linguagens” de programação?


As linguagens de programação são formas dos desenvolvedores dizerem aos sistemas como devem se comportar. Essas instruções podem ser passadas em diferentes “línguas”. Da mesma forma que a língua portuguesa se difere da inglesa (por exemplo, a ordem dos adjetivos em inglês é antes do substantivo e no português o oposto), cada linguagem de programação possui suas próprias regras, que podemos comparar com as “gramáticas” de cada língua.


Porém, uma vez que você entenda bem a estrutura dos elementos da gramática (verbos, adjetivos, artigos, etc), aprender uma nova língua requer apenas se adaptar às regras deste novo idioma. Com a TI não é diferente. As linguagens de programação em geral implementam conceitos gerais, como inteiros, decimais, textos, vetores, objetos, laços, variáveis e outros. Essa explicação tem o objetivo de te mostrar que de maneira similar ao português, uma vez que você tenha seus fundamentos bem solidificados, terá facilidade de dominar qualquer linguagem. Do mesmo modo, qualquer linguagem que aprender, exigirá antes de mais nada aprender estes conceitos básicos antes de passar para os próximos passos.


OK, e por qual linguagem de programação devo começar? 


Para te responder isso você precisa primeiro avaliar seu momento. Uma linguagem por onde as pessoas normalmente começam em cursos de programação é o Pascal ou VisualAlg. São linguagens extremamente simples que só tem o objetivo de te ensinar a pensar como um programador. Mas não é requisito começar por essas. Existem linguagens já profissionais, mas que possuem uma estrutura bem simples como o Python ou Javascript, pelas quais você pode começar e seguir rumo. 


Digamos agora que você já passou por estas etapas e quer uma linguagem para seguir carreira. Vamos listar aqui algumas linguagens que costumam ser usadas por domínios específicos da TI:


Criação de Sites e Front-end: HTML, CSS e Javascript costumam ser requisitos obrigatórios quando se fala de front-end. O HTML combinado com CSS te ajudarão a estruturar o conteúdo de seu site. O Javascript poderá te ajudar com animações, efeitos e a integração com backend. Outra linguagem que ainda é muito usada em frameworks web (como o WordPress e Magento) é o PHP. O PHP pode te ajudar tanto na estrutura do front-end como backend, possuindo orientação a objetos e diversas funcionalidades. Todavia, devido a evolução do Javascript para diversos fins, o PHP tem perdido espaço, embora ainda seja uma potente tecnologia a ser considerada em sua escolha. 


Backend e Serviços: Este é o domínio onde podemos encontrar o maior número de linguagens aplicadas. As mais comuns são JAVA, C++, .NET e Javascript, porém é possível ver também uso de outras menos comuns para este fim, como Python, RUBY, PHP e GO.


Data Science e Data Engineering: Quando falamos de dados e Machine Learning o Python se destaca como a Stack mais empregue nesta frente, com frameworks como Pytorch, Tensorflow e Sklearn. Logo atrás vem o R, dificilmente visto para soluções em Produção, mas útil como alternativa ao Python durante o processo de feature Engineering. Ainda nessa Stack não podemos deixar de falar do SQL como linguagem imprescindível. O SQL não é exatamente uma linguagem de programação, mas sim uma linguagem que te permitirá interagir com os principais bancos de dados; o que será indispensável em qualquer projeto nestes domínios. Caso estejamos falando de Big Data, é válido citarmos Scala e PySpark como skills importantes nesta frente.


App e Mobile: Novamente vemos o Javascript despontando como uma linguagem de referência. Através de seus frameworks, programadores JS podem desenvolver aplicativos híbridos ou multiplataformas (isto é, desenvolver e dar manutenção em apenas um código que será válido tanto para Android como iOS). Neste âmbito, podemos destacar os frameworks Vue.js e React Native. Alternativamente, há projetos que buscam obter o melhor desempenho de cada plataforma mobile. Estes projetos são chamados de códigos nativos, onde a equipe opta por desenvolver um código para cada sistema operacional. Neste cenário, temos o uso de Objective C e Swift para iOS, enquanto que para Android são utilizados Java e Flutter. A escolha do melhor cenário deverá ser validada pela equipe, porém é sempre preferível optar por frameworks híbridos.


Games: Quase em unanimidade é visto nas vagas de programadores de jogos requisito primordial de conhecimento em C# com Unity 3D. Em menor escala, são vistas ofertas pedindo conhecimentos em Javascript, Lua (linguagem de programação criada no Brasil, por sinal) ou outras linguagens derivadas de C, como Objective-C ou C++.


ERP e Sistemas Verticais: Quando falamos de ERPs e sistemas proprietários das empresas, não é possível defender uma tecnologia específica, visto que cada fornecedor possui suas próprias soluções desenvolvidas de diferentes maneiras e tecnologias. Alguns utilizam até mesmo tecnologias desenvolvidas pela própria empresa, como o ABAP por exemplo, que é a linguagem utilizada no ERP SAP. Contudo, podemos ver com frequência as mesmas linguagens usadas para backend, com predominância de JAVA, .Net e em alguns casos Javascript ou C++. Mainframes e aplicações bem específicas podem requisitar conhecimento em linguagens de baixo nível, como COBOL e ASSEMBLY.


Infraestrutura e Administração de Ambientes: Profissionais das áreas de infraestrutura não costumam ser requisitados de conhecimentos em linguagens de programação específicas. Porém, é necessário a estes profissionais amplo entendimento das arquiteturas de seus ambientes e sistemas operacionais (ou seja, conhecimento de arquitetura Windows, Linux, Cloud, etc) e criação de scripts para estes ambientes. Powershell e Shell Script são boas recomendações para os profissionais que querem seguir nesta área.

Por fim, podemos concluir que dominar algumas linguagens amplamente usadas como o JAVA, Python e principalmente o Javascript te permitirão um leque maior de oportunidades de trabalho e projetos de atuação. Para te ajudar com isso, conheça nosso curso parceiro de formação Fullstack Javascript que te permitirá entrar contudo nesse mercado!

Se você curtiu, compartilha essa dica com seus amigos e nos siga nas redes sociais que postaremos mais conteúdos como esse!

Instagram @carinha_da_ti