Тема для меня очень близкая: сам занимаюсь много лет и астрономией и программированием. Выскажу свое мнение по затронутым здесь вопросам.
Конечно, прогрессивно заниматься
астрономией (и многими другими науками) без знания азов программирования нельзя. Но и со знанием лишь азов тоже нельзя! Можно быстро научиться писать программы, нельзя быстро
научиться писать хорошие программы. Программирование - это не язык и несколько методов, это образ мышления. Изучив только азы, можно с громким плеском сесть в лужу. Например,
исследование колебаний жидкого эллипсоида. Кажется, чего проще, линеаризуй уравнения, найди собственные числа. Вот и справочник Дьяконова с программами на бейсике есть...
А результат абсурдный. Среди астрономических задач очень много специфических, для решения которых непригодны универсальные методы. Например, в небесной механике требуется
выполнять аналитические преобразования пуассоновских рядов с десятками тысяч членов. Никаким универсальным системам типа Maple, Reduce такие объемы недоступны. Но никто, кроме
самих астрономов, не возьмется за разработку специализированных программ, потому что никому, кроме астрономов, такие программы не нужны. А для написания пуассоновского процессора
нужны знания существенно большие, чем для написания сортировки пузырьком.
Что делать? Позитивный опыт есть, например, в Санк-Петебургском университете. 15 лет назад,
когда учился я, подход к преподаванию программирования меня приятно удивил. Пока студенты прочих специальностей решали квадратные уравнения и строили "простые изображения
на экране дисплея" (а то и программировали игру в очко), астрономы изучали тот самый образ мышления, который и помог впоследствии писать большие, понятные и работающие
программы, не важно на каком языке. И это заслуга В.В. Витязева и А.Б. Шнейвайса - авторов того курса программирования. Кстати, оба - астрономы.
О каталоге ПО. В детстве
я интересовался всякими программками, чтобы посчитать фазы Луны, найти ближайшее затмение и т.п. Когда же стал серьезно заниматься астрономией, потерял к ним всякий интерес.
Да бесполезны они для ученого! А что полезно? Написать программу, скажем, нормализации гамильтониана, достаточно универсальную, чтобы включить ее в библиотеку, вряд ли возможно.
Программы общего применения: статистическая обработка, матричная алгебра и т.п. имеются в сотнях разных библиотек, зачем еще одна? Если и набрать такую библиотеку, то это
будет очередная библиотека для "поиграться".
О книге Пфлегера и Монтенбрука. Я читал ее. Читал и первое издание на русском языке 1993 года, читал и новое,
2002 г. Для студента-первокурсника книга превосходная. Когда энергию девать некуда, а за серьезную задачу из-за отсутствия знаний взяться нельзя, очень приятно перевести экваториальные
координаты в эклиптические, или вычислить положение Луны с точностью до двух лаптей. Но в научной работе от нее толку мало. Разве что, уравнение Кеплера решить...
Совершенно
не согласен с одним из участников дискуссии по поводу графики и представления результатов. Такая проблема существовала во времена MS-DOS. До этого ее не было, потому что не
было широко доступных графических устройств. Сейчас ее нет, потому что интерфес внешних устройств давно фактически стандартизован. Самых популярных два:коммерческий Microsoft
Windows, открытый - XWindows. Графических библиотек тоже много, благо, ввод-вывод - задача неспециализированная для какой-то отдельной науки. Мои студенты никогда не испытывали
трудности с представлением результатов. Главная трудность - получить этот результат и убедить других в том, что он верный.
Резюмирую. Преподавание программирования на
высоком уровне совершенно необходимо для любого студента, изучающего естественные науки. Но это должно быть именно программирование, а не какой-либо язык и не какой-либо набор
задач. Такой курс должен учить думать, а не нажимать клавиши. Освоив методы, исследователь сам построить и алгоритм, и программу решения его специфической задачи. Кроме того,
он сможет оценить применимость готовых программ к своей задаче и не наделать глупостей. Основой такого курса может стать незаслуженно забытая книга Мейера и Бодуэна "Методы
программирования". Что же до предложений, то, как говорил Владимир Вольфович Жириновский, - не тот уровень. Если я предложу свой курс программирования для вузов, вода
мокрей не станет. С таким же успехом можно предложить потушить солнце. Образовательную политику определяют люди, которым мое мнение до фонаря. Сейчас, например, принято преподавать
основы православия. Какая тут, к черту, астрономия с программированием?!