Я совершенно не знаком с понятием вычислительной науки и ищу хорошую отправную точку.
Я понимаю, что объективно лучшего языка не существует, но я бы хотел выучить язык, который обладает неоспоримо сильным и заметным присутствием в вычислительной науке - считается, что он обладает исключительными способностями и эффективностью.
Для начала я склонялся к моделированию, связанному с атомными связями и взаимодействиями, с требованием графического представления / моделирования.
Некоторые языки, как правило, лучше для некоторых областей, чем другие (например, физика против чистой математики)? Или выбор языка основан на других факторах?
Я много слышал имя Фортран.
Предложения?
Ответы:
В основном это сводится к доступным вам числовым библиотекам, которые помогут выполнить вашу задачу. В C / C ++ реализовано большое количество числовых библиотек, но низкоуровневые языки не являются лучшими для быстрого прототипирования.
Я думаю, что для быстрого решения проблемы я бы порекомендовал использовать что-то вроде Matlab или Mathematica. Они имеют большой набор инструментов и очень высокого уровня. Скорее всего, ваша реализация не будет масштабироваться для производственного использования, но это может быть хорошей площадкой для опробования различных методов. Когда вы знаете, какой путь выбрать, вы всегда можете реализовать что-то в C / C ++ более эффективно.
источник
Python!
Это перефразирует то, что я считаю лучшим способом решения проблемы в научных вычислениях. Начните с изучения проблемы, играя с игрушечными примерами в небольших сценариях. Станьте более систематичным и создайте набор кода. Тогда заставь свой код работать !!! Наконец, при необходимости, сделайте оптимизацию кода. Не изобретайте велосипед и не проводите преждевременную оптимизацию.
(Дополнительные плюсы: Python поставляется бесплатно - нет проблем с лицензией, большое сообщество, например, на stackoverflow, модули для хорошего программирования, такие как модульное тестирование или регистрация ...)
источник
Попробуйте Python, как описано, например, в книге Python Scripting for Computational Science .
источник
Python может быть отличной отправной точкой. Следующий ресурс - отличная отправная точка.
http://www.openbookproject.net/thinkcs/python/english2e/
источник
Fortran: Matlab-подобный, простой в освоении и использовании, быстро становится продуктивным, но хорош только для численных вычислений
C ++: Сложно освоить (это займет у вас годы), но часто используется за пределами числовых вычислений (безопасность работы)
Python: в наши дни рекомендуется много, но слишком медленно для нетривиальной работы. Вам придется написать все ваши базовые вычислительно дорогие ядра на C, а затем вызвать их из Python, что означает, что вам придется выучить (как минимум) два языка
источник
Короткий ответ
Узнайте об основах объектно-ориентированного кода через Python и об основах информатики через C. Когда вы, по крайней мере, в порядке, оба эти языка изучают C ++, потому что вы можете делать практически все в C ++ и заставить его работать быстро (хотя это займет вечность, чтобы написать).
Более длинный ответ
Итак, вот в чем дело: для вашего первого проекта вы будете в чьей-то лаборатории, работающей над чужим кодом. В этом случае они будут выбирать язык программирования. Что я лично считаю, это здорово!
Я имею в виду, что как новичок вы не будете на некоторое время узнавать свою задницу от локтя, и, особенно, когда вы не знаете, что делаете, обучение программированию может оказаться утомительным. Таким образом, хорошо иметь структуру и ограничения, которые возникают при работе с чужим кодом, и хорошо иметь мотивацию и волнение, которые могут возникнуть только при работе над реальным проектом.
Тем не менее, независимо от того, какой язык использует ваша лаборатория (особенно если это Matlab), вам, вероятно, следует изучать python, C и C ++. В частности, если вы не являетесь специалистом в области компьютерных наук, вы ДОЛЖНЫ прочитать «Язык программирования Си» Кернигана и Ритчи. Ему 35 лет, и у него сложилось четкое впечатление, что его авторы программировали на перфокартах, но это самая редкая птица: бесконечная книга по информатике. Это многое прояснит.
источник