Alguns pensamentos adicionais.
A linguagem de programação 'em si' é apenas uma ferramenta. Todos os idiomas foram projetados para facilitar a construção de alguns tipos de construções do que outros. E o conhecimento e domínio de uma linguagem de programação é mais importante e eficaz do que os recursos dessa linguagem em comparação com outros.
Tanto quanto posso ver, existem duas dimensões dessa questão. A primeira dimensão é a capacidade de explorar, construir provas de conceitos ou modelos em um ritmo acelerado, tendo eventualmente à mão ferramentas suficientes para estudar o que está acontecendo (como testes estatísticos, gráficos, ferramentas de medição etc.). Esse tipo de atividade é geralmente preferido por pesquisadores e cientistas de dados (eu sempre me pergunto o que isso significa, mas uso esse termo para sua definição vaga). Eles tendem a confiar em instrumentos conhecidos e verificados, que podem ser usados para provas ou argumentos.
A segunda dimensão é a capacidade de estender, alterar, melhorar ou mesmo criar ferramentas, algoritmos ou modelos. Para conseguir isso, você precisa de uma linguagem de programação adequada. Aproximadamente todos eles são iguais. Se você trabalha para uma empresa, depende muito da infraestrutura da empresa, sua cultura interna e suas escolhas diminuem significativamente. Além disso, quando você deseja implementar um algoritmo para uso em produção, precisa confiar na implementação. E implementar em outro idioma que você não domina não o ajudará muito.
Costumo favorecer o primeiro tipo de atividade no ecossistema R. Você tem uma grande comunidade, um enorme conjunto de ferramentas, provas de que essas ferramentas funcionam conforme o esperado. Além disso, você pode considerar Python, Octave (para citar alguns), que são candidatos confiáveis.
Para a segunda tarefa, você deve pensar antes no que realmente deseja. Se você deseja ferramentas robustas prontas para produção, C / C ++, Java e C # são ótimos candidatos. Considero o Python como um segundo cidadão nesta categoria, junto com Scala e amigos. Não quero iniciar uma guerra de chamas, é apenas minha opinião. Mas depois de mais de 17 anos como desenvolvedor, tenho a tendência de preferir um contrato estrito e meu conhecimento do que a liberdade de fazer o que você pensa (como acontece com muitas linguagens dinâmicas).
Pessoalmente, quero aprender o máximo possível. Decidi que tenho que escolher da maneira mais difícil, o que significa implementar tudo do zero. Eu uso R como modelo e inspiração. Possui grandes tesouros em bibliotecas e muita experiência destilada. No entanto, R como linguagem de programação é um pesadelo para mim. Por isso, decidi usar Java e não utilizei nenhuma biblioteca adicional. Isso é apenas por causa da minha experiência, e nada mais.
Se você tiver tempo, a melhor coisa a fazer é passar algum tempo com todas essas coisas. Dessa maneira, você obterá a melhor resposta possível, adequada para você. Dijkstra disse uma vez que as ferramentas influenciam a maneira como você pensa, por isso é aconselhável conhecê-las antes de permitir que elas modelem como você pensa. Você pode ler mais sobre isso em seu famoso artigo chamado The Humble Programmer