Qual é melhor? Python, R, Julia, Matlab, …?

Algumas pessoas andaram me perguntando o que eu acho de alguma dessas linguagens e irei dar minha opinião como programador e como professor visando a parte acadêmica.

Como programador: a melhor das listadas acima é de longe Julia, linguagem recente que talvez ninguém tenha ouvido falar mas com velocidade de processamento impressionante. Na imagem abaixo mostra a comparação de várias linguagens executando algum algoritmo intensivo em relação a linguagem mais rápida do momento, C.

velocidades

Julia não é a linguagem mais fácil de programar mas faz bem o que promete, ter velocidade superior ao R e já possuir suporte completo a processamento paralelo. Se você for fazer uma modelagem séria e souber programar de verdade (fazer gráfico não é programar!) a escolha fica entre Fortran, Go, C e o Java. Eu ficaria com Go, suporte a paralelismo e tão fácil de programar quanto R.

Como professor: Python é de longe a melhor para aprender devido as boas praticas que ensina. Lembra aquele código bizarro que fez a um mês e parece uma bíblia na tela de tão mal formatado que saiu? Nem roda no Python! Repare que não é a maravilha das velocidades mas para os alunos que no máximo vão fazer um índice nem se nota a diferença. E ainda temos o plus que Python é usado em muitos programas bacanas (ArcGIS, Quantum GIS), então você pode estender a capacidade desses programas para as suas necessidades.

Conclusão

Python para ensinar/iniciantes em programação, Julia para pessoas com dois anos ativos de experiência no Python e finalmente Go/Fortran para quem se sente confortável com mais de duas linguagens de programação. Já no nível guru você vai querer dar uma olhadinha na linguagem C, boa sorte manipulando a memoria manualmente!

Não gosto de R, feia e lenta. A única coisa que me agrada é a comunidade que é muito mais amigável do que de todas as outras linguagens que trabalhei. Em três dias você consegue publicar um pacote no CRAN, nas outras linguagens pode levar seis meses ou nunca 😀

Anúncios

3 opiniões sobre “Qual é melhor? Python, R, Julia, Matlab, …?

  1. R é de longe a melhor para análise estatística, nenhuma dessas outras linguagens oferecem tantos pacotes próprios para isso, a maioria dos profissionais usam R e Python.. Julia é boa e fácil de aprender (meu ponto de vista), foi feito para computação científica, rapidez e paralelismo, mas por enquanto possui poucos pacotes. Golang, eu particularmente não acho fácil de programar, acho que é meio verboso, na verdade programar é fácil, mas a sintaxe é feinha, seria uma escolha apenas quando a velocidade e paralelismo for algo primordial, tbm não tem muitas bibliotecas de estatística e tal.. mas tá valendo.. e C, essa tá velinha, eu uso muito combinada com lua (torch/luajit), mas tbm só é uma opção quando algo tem que ser feito muito rápido, mas exige muito conhecimento por parte do programador, debugar é meio complicado e é fácil fazer vazamentos de memória. Futuramente pretendo aprender a linguagem D, ela consegue acessar bibliotecas do C e C++, tem uma sintaxe c-like mas com facilidades das linguagens de altíssimo nível, é super rápida e é fácil fazer paralelismo, tanto quanto júlia, vou aprender e usar para um projeto, junto com lua.

  2. Curiosidade: No meio dessas linguagens, como está o Fortran hoje? (2018). O Fortran para o meio científico (físicos/matemáticos) ainda é relevante? O que posso afirmar é que no início do ano 2000 o Fortran era praticamente a única linguagem de interesse dos físicos e matemáticos, foi justamente a linguagem que me foi exigido na disciplina de introdução à ciência da computação (ICC). Já no doutorado, no final da década de 2000,na engenharia e ciência de materiais, lá estava ela novamente, Fortran.!! Ou seja, por mais que tanto se divulgue linguagens que isso ou aquilo, como ocorre fortemente com o Python, ainda assim, acho curioso o quanto o Fortran era tão notavelmente forte no meio acadêmico, notadamente nos cursos de matemática e física (e disciplinas tipicamente dessas áreas). Você(s) tem alguma opinião sobre isso? Obrigado e tudo de bom.

    • Fortran é uma linguagem que ainda vejo sendo usada em modelagens de clima e afins. Acho que sua existência é principalmente a cultura acadêmica. A maioria dos pesquisadores não são programadores por natureza e utilizam apenas as linguagens que lhe são ensinadas. Eu tive sorte de conhecer C e R antes do mestrado e continuo aprendendo (recentemente Go). Eu entendo que não é foco ser programador mas a linguagem certa facilita bastante o problema. Como bônus da uma olhada em NetLogo https://ccl.northwestern.edu/netlogo deveria ser a linguagem mais usada pelos biólogos. Eu fiz modelagem de desflorestamento é achei muito bom os recursos visuais.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s

%d blogueiros gostam disto: