Uma dificuldade com qualquer um desses tipos de perguntas é que a resposta é altamente dependente da comunidade.
Para responder a algumas de suas perguntas em ordem aleatória:
O MATLAB é muito usado tanto na academia quanto na indústria. Uma das razões pelas quais é usada bastante na indústria é porque é ensinada na academia. Sei que o MATLAB é usado no Lincoln Laboratory e nas divisões de pesquisa e desenvolvimento da DuPont.
Existem pacotes de software escritos em Python que são bons em computação simbólica, como sympy e SAGE. Dependendo de seus interesses particulares, requisitos de recursos e preferências pessoais, o Mathematica (ou Maple ou outros sistemas de álgebra computacional) pode ser superior a esses pacotes.
O MATLAB possui uma caixa de ferramentas matemática simbólica que pode ser usada para alguns cálculos simbólicos, mas, na minha experiência, suas capacidades de manipulação simbólica são mais fracas que o Mathematica e o Python. Alguma manipulação simbólica poderia teoricamente ser feita em C ++, mas é difícil de manejar. O MATLAB também não é uma boa linguagem de uso geral. Ele faz álgebra linear e matemática numérica bem, mas não possui boas capacidades de entrada / saída. Ele não possui bons recursos paralelos (embora existam variantes como MATLAB paralelo, MATLAB Star-P e a Parallel Computing Toolbox) em comparação com C ++ ou Python. Até seus recursos gráficos poderiam usar algum trabalho. O MATLAB também é caro, a menos que você seja afiliado a uma instituição que possui uma licença. Cada caixa de ferramentas é cara de comprar e geralmente custa da ordem de centenas a milhares de dólares.
O Mathematica faz computação numérica, além da computação simbólica. Não vi pessoas usá-lo para computação numérica, tanto quanto vi pessoas usando Python e MATLAB para trabalhos numéricos. Ele também possui recursos paralelos, mas não será dimensionado para grandes supercomputadores.
Python é uma boa linguagem de uso geral que é considerada fácil de aprender e utilizável. É usado em supercomputadores grandes (veja, por exemplo, PyClaw, petsc4py, mpi4py e outros) e dimensiona bem. Ele também tem pacotes numéricos altamente considerados (como NumPy e SciPy); uma comunidade grande e ativa; boas capacidades de processamento de entrada / saída; e boas bibliotecas gráficas, juntamente com um grande repositório de bibliotecas (confira PyPI). É gratuito, comparado aos pacotes proprietários mencionados acima. Você pode encontrar a maioria das funcionalidades do MATLAB ou Mathematica em pacotes Python disponíveis gratuitamente. A principal desvantagem do Python é que ele tende a ser mais lento que as linguagens compiladas, como o C ++, embora essa desvantagem esteja diminuindo com o desenvolvimento contínuo do Cython, Numba e PyPy; ele também pode ser mitigado, substituindo o código Python mais lento pelo código C (ou C ++ ou Fortran) e envoltórios Python apropriadamente escritos. Sendo interpretadas, muitas pessoas relatam maior produtividade com Python do que as linguagens compiladas. É bastante popular e provavelmente vale a pena aprender se você tiver tempo.
C ++ é uma linguagem complicada e seu uso na ciência da computação é controverso. Seu amplo conjunto de recursos pode facilitar a criação de softwares difíceis de manter e que levam uma eternidade para serem compilados. No entanto, usados criteriosamente, recursos como modelagem e sobrecarga do operador podem ser empregados com grande efeito, como em projetos como deal.II, Blaze e Elemental (entre outros). O C ++ tem uma curva de aprendizado acentuada quando se trata de recursos avançados, e ouvi relatos de pessoas que demoram anos para sentir que aprenderam o idioma completo. No entanto, também é uma linguagem popular, apesar das preocupações de usabilidade e do conjunto de recursos complicados. Provavelmente vale a pena aprender, apenas para se tornar mais empregável; seus principais concorrentes em ciência da computação são Fortran e C, que também valem a pena ser aprendidos.
Tudo o que você decidir aprender será baseado no que você realmente precisa. Claro, é bom aprender Python e C ++, mas, com restrições de tempo e recursos, você provavelmente só aprenderá o que realmente precisará usar, e isso depende da comunidade em que trabalha.