Существенная часть работы физика и/или инженера так или иначе связана с компьютером. Компьютеры и программы используются на всех этапах экспериментального или теоретического исследования. Любой работе предшествует компьютерное моделирование, затем требуется автоматизация сбора и хранения данных, анализ данных и, наконец, представление результатов. На всех этих этапах нужны компьютеры и программное обеспечение. Качество программного обеспечения — ключевой фактор в исследованиях и разработках.
Современная разработка программного обеспечения — это отдельная инженерная дисциплина, требующая опыта и погружения в технологию и соответствующие профессиональные сообщества. Несмотря на то, что современное программирование зародилось в физических исследованиях, с тех пор прошло много времени, и физики в среднем уже не могут похвастаться хорошими знаниями в этой области. Качество программного обеспечения в физике низкое. Те же проблемы свойственны инженерной индустрии.
Зачем для этого нужны физики?
Прошлые попытки поручить разработку программного обеспечения профессиональным программистам не увенчались успехом. Чтобы сформулировать задачу, программисту надо знать современные компьютерные технологии и понимать, как их лучше применить. Но без погружения в предметную область программисты тоже не могут понять, что нужно делать и как это лучше сделать.
Зачем все это программистам?
Во-первых, это просто интересно. Задачи, возникающие на стыке физики и программирования, на порядок интереснее тех, что ожидают инженера-программиста в повседневной рабочей жизни. Во-вторых, это хороший повод опробовать все самые свежие и экспериментальные технологии. Кроме того, опыт в моделировании, обработке данных и работе с приборами является бесценным в IT-среде.