Я не думаю, что ответ вашего профессора служит вам хорошо, даже если он правильный.
По моему опыту в качестве консультанта по научным вычислениям и системам данных C, безусловно, используется очень часто, но также и Fortran и C ++. Python, безусловно, является наиболее часто используемым языком сценариев.
Я думаю, что это изменится. Большое дело сейчас в параллельных вычислениях, и это болезненно (MPI кто-нибудь?) На традиционных языках, которые я упомянул. Я предполагаю, что большая часть распараллеливания будет (и должна) перемещаться на виртуальные машины: Java или .NET; то есть, я думаю, что параллелизация должна быть работой JIT. Будет ли это включено, скажем, с Fortress или с одним из традиционных языков, я не знаю. Intel продвигает параллельные инструменты для C / C ++, но мне интересно, может ли что-то вроде Terracotta улучшиться в долгосрочной перспективе (я не слышал ни о ком в научном сообществе, кто бы это пробовал - большие финансы , но они не так открыты).
Если вопрос заключается в том, что вы должны научиться, чтобы получить работу в области научных вычислений, то первое, что я бы сказал, - это то, что вы, скорее всего, будете наняты за ваши научные навыки, чем за ваши навыки программирования (что частично объясняет извините за состояние большого научного кода, подробнее об этом см. в этой SO-теме ). Если вы будете наняты для ваших навыков программирования (возможно, HPC), то подумайте, что, по мнению этого профессора, они могут устареть для новых проектов в не столь отдаленном будущем. Тем не менее, было бы не плохо знать Python, включая NumPy .