Есть два типа рассчетных задач:
1) Надо что-то сложное рассчитать, сложное с точки зрения математики. Причем ищем пока непонятно что. То есть чтобы провести рассчеты нужно провести исследование, потом по этим исследованиям уже можно будет построить рассчет, который послужит уже другому, прикладному-научному исследованию. То есть надо провести множество пробных рассчетов, попробовать разные методики и так далее. В этой области рулит например MatLab. Потому что все инструменты и заготовки под рукой, можно исследовать методики не отвлекаясь на всякие мелочи.
2) Тяжелые уже боевые рассчеты. На одной машине, или на кластере. Методики уже более-менее известны, нужно на большом массиве данных что-то подсчитать и посмотреть. Тут рулит фортран. Кстати, я посмотрел современный фортран – очень неплохой язык получился. Приятный. Да, библиотек для фортрана тоже наработана масса.
Это из тех задач которые требуют какого-то специализированного языка. Для всех остальных численных задач нет особой разницы какой язык используется. Например если мы искали в MatLab'е некий простой алгоритм для выделения некого сигнала из сырых данных, и нашли его, то затем его можно без проблем реализовать хоть на Си, хоть на Обероне, хоть на Аде, или там Haskell'e. Будет достаточно тривиальная ручная трансляция кода.