Qual Linguagem devo usar?

April 7, 2017

Uma das perguntas comuns no estudo de programação e ciência da computação em geral é “Que linguagem devo usar?”. Particularmente, acreditamos que o aprendizado de qualquer linguagem de programação é imensamente útil pois aumenta o grau de exposição às maneiras diferentes de resolver problemas. Um outro fato relevante é que quanto mais linguagens alguém sabe, mais fácil é o aprendizado de novas linguagens, já que todas apresentam vários conceitos comuns.

Se você está começando, as informações abaixo podem ser de alguma ajuda para saber por onde começar.

C

C é possivelmente linguagem de mais baixo nível em uso atualmente. Excelente para criar sistemas embedded (ou “embarcados” como alguns preferem chamar), drivers e outras partes básicas do sistema operacional. Aprender C proporciona um excelente nível de conhecimento de computadores e arquitetura em geral, mas grande parte das aplicações tem que ser escritas “do zero”, o que pode ser desestimulante para quem está iniciando. Dica: O conhecimento trazido pelo uso fluente de C é incrivelmente útil! Todo programador deveria conhecer C, mesmo que não faça uso diário da linguagem.

C++

Traz algumas das vantagens do C, e muitas outras como orientação a objeto e alocação dinâmica de memória. Facilita a escrita de sistemas maiores e mais complexos. É uma escolha natural para projetos complexos onde a orientação a objeto seja um requerimento.

Java

Bem divulgada e conhecida. É uma linguagem um pouco “burocrática”, mas com bastante suporte em termos de bibliotecas e frameworks. Junto com C++, dá uma boa fundação para a escrita de backends. Apesar de não ser compilada (bytecode), a maturidade dos runtimes garante boa performance (abaixo do C++ na maioria dos casos).

Javascript

Apesar de ter “Java” no nome, não é relacionada àquela linguagem. É a linguagem primária (e basicamente a única escolha) para quem quer escrever frontends que rodem em browsers. Como linguagem inicial, pode não ser uma boa opção por ser complexa, requerer o uso de frameworks (para qualquer utilização razoavelmente prática) e apresentar inconsistências sintáticas e semânticas.

Python

Uma ótima linguagem para o aprendizado. Clara, limpa e fácil de programar. Pode ser usada para produzir sistemas relativamente grandes, mas a quebra de compatibilidade entre versões menores do interpretador podem trazer problemas em sistemas de produção. Boa linguagem para ser usada como “cola” entre sistemas maiores. É uma linguagem interpretada e relativamente lenta se comparada com as alternativas.

Go

Também conhecida como “Go”. É uma linguagem nova, que pode ser usada para sistemas médios e grandes. Compilada e com tipagem forte. A linguagem em si vem com um estilo de escrita forte (formatação, como delinear o código, etc). Produz código compilado e eficiente. Especialmente útil para aplicações de multiprocessamento.