terça-feira, 12 de junho de 2018

Como escolher sua próxima linguagem de programação


#engenhariaDeSoftware #linguagens

Há muitas alternativas... Como hoje utilizamos quase 100% de componentes e bibliotecas Open Source (o chamado "ecossistema" que suporta o uso da linguagem de programação), uma boa fonte é o Github. E o site de estatísticas GitHut pode nos dar vários insights. Por exemplo, as 3 primeiras, no critério de atividade dos repositórios, são: Javascript, Java e Python.




Mas o que isto quer dizer? 

Quer dizer que os repositórios contendo códigos de componentes ou bibliotecas dessas linguagens, são os mais ativos (mais "pushes" mais discussões etc).

É fácil entender o motivo do Javascript estar em primeiro lugar. Devido às mudanças no paradigma de desenvolvimento de aplicações, incluindo os Sistemas Reativos, frameworks como: Vue, Angular e React estão gerando uma grande quantidade de código contribuído para o Github.

E Java? E Python? Bem, são duas das linguagens entre as 4 mais populares do mundo, segundo a lista TIOBE. Mas por que C e C++ não estão entre os repositórios mais ativos? Afinal de contas, são as duas primeiras em popularidade?

Uma explicação é o total de pushes, ou seja, a quantidade de novas adições por repositório. A do C e do C++ é muito baixa... São linguagens mais antigas, com especial interesse por causa do meio acadêmico universitário, e não estão "na moda". Construir aplicações modernas (web ou mobile) com as duas é muito complicado.

Outros critérios importantes

Eu gosto de olhar "Opened issues per repository" ou seja, a quantidade de problemas abertos para cada repositório. Podemos notar que varia muito, mas os repositórios C++ estão em primeiro lugar! Isso é ruim, pois se decidirmos usar essa linguagem, teremos que lidar com muitos problemas.

Grupos

Podemos notar que há pelo menos 4 grupos distintos, de acordo com a atividade dos repositórios:

  • Populares: Javascript, Java e Python;
  • Intermediários: PHP e Ruby;
  • Tradicionais: C++, C e Shell script;
  • Outros: C#, Objective C etc.
Notamos que Go e Swift estão lá embaixo (14 e 18, respectivamente), portanto, na prática, não são muito populares ou, pelo menos, não possuem muitos repositórios ativos no GitHub.





Nenhum comentário:

Postar um comentário