Recentemente, li um post da R-Bloggers, vinculado a este post do John Myles White sobre um novo idioma chamado Julia . Julia tira proveito de um compilador just-in-time que oferece maus tempos de execução rápidos e o coloca na mesma ordem de magnitude de velocidade que o C / C ++ (a mesma ordem , não igualmente rápida). Além disso, ele usa os mecanismos de loop ortodoxo com os quais nós, que começamos a programar em linguagens tradicionais, estão familiarizados, em vez das instruções de aplicação de R e operações de vetor.
R não está indo embora de maneira alguma, mesmo com esses horários impressionantes de Julia. Possui amplo suporte na indústria e vários pacotes maravilhosos para fazer praticamente qualquer coisa.
Meus interesses são de natureza bayesiana, onde a vetorização geralmente não é possível. Certamente tarefas em série devem ser executadas usando loops e envolvem computação pesada a cada iteração. O R pode ser muito lento nessas tarefas de loop serial, e o C / ++ não é um passeio no parque para escrever. Julia parece ser uma ótima alternativa para escrever em C / ++, mas está em sua infância e carece de muitas das funcionalidades que eu amo sobre R. Só faria sentido aprender Julia como uma bancada de estatística computacional se ela receber suporte suficiente da comunidade de estatísticas e as pessoas começam a escrever pacotes úteis para isso.
Minhas perguntas seguem:
Que recursos Julia precisa ter para ter o fascínio que fez de R a linguagem de fato das estatísticas?
Quais são as vantagens e desvantagens de aprender Julia a executar tarefas pesadas em termos de computação, em vez de aprender uma linguagem de baixo nível como C / ++?