args[0]=message
args[1]=DB::DB::Message=HASH(0x3e2f200)
Re: Астроном(и?или)программист - Возможно ли прогрессивно заниматься астрономией не зная хотя бы азов программирования
12.05.2004 9:27 | В. Б. Юрганов
С программированием всё не так просто, как хотелось бы. Собственно, программирование вычислений не представляет трудности, т.к. это доступно непрофессионалу. Есть языки программирования, типа С/С++ и Паскаля. Для выполнения расчётов достаточно стандартных средств этих языков. Но этого уже мало. Это, как вы говорите, вчерашний день. На сегодня основную сложность в создании любых программ представляет не описание прикладного алгоритма средствами машинного языка, а описание графического интерфейса, графического же ввода-вывода. Я уже не говорю о таких вещах, как аудио и видео. Печально, но не существует ни одного современного языка, в котором был бы предусмотрен графический ввод-вывод стандартными средствами. Для этого используются специальные библиотеки (API), которых множество, и которые довольно запутанны(зачастую неоправданно) и сложны для понимания непрофессионалами. Ещё хуже, что для каждой операционной системы эти библиотеки свои , причём зачастую, совершенно разные. И единого стандарта на всё это нет. Вот и получается парадоксальная вещь, что выполнить расчёты мы можем сами, а наглядно отобразить- нет, т.к. натыкаемся на сложности интерфейсного программирования. По своему опыту скажу, что создание полноценных графических приложений под силу только тем, кто занимается этим и только этим (читай профессионалам). Задачи интерфейсного и прикладного программирования являются взаимно вытесняющими и один человек физически не может (то есть может, но с большим трудом) удерживать в голове премудрости(я бы сказал "превратности", от которых может сьехать крыша) конкретного API , сохраняя при этом стройность научного мышления в прикладной области. Да, лучше, если эти задачи будут делать разные люди. На сегодня дело обстоит именно так. Почему нет единых средств для создания интерфейсов программ? Традиционно это обьясняют тем графика сильно завязана на периферийные апаратные средства (видеокарты), которых существует множество, в силу чего и невозможены универсальные интерфейсные графические библиотеки. Возможно, что отчасти мы являемся заложниками маркетинговой политики софтверных (да и хардверных) компаний. Однако, справедливости ради, надо отметить, что графический интерфейс -это область действительно технически сложная , требовательная и пока ещё развивающаяся. Последнее слово здесь ещё не сказано. Потому и не удалось создать стандарнтых или встроенных в языки средств работы с ним. Я очень надеюсь, что такие средства в будущем появятся, и это облегчит жизнь учёным , инженерам и прочим прикладникам, желающим писать программы самостоятельно.
- Астроном(и?или)программист - Возможно ли прогрессивно заниматься астрономией не зная хотя бы азов программирования
(V. M. V,
10.10.2003 19:40, 3.1 КБайт, ответов: 8)
В последнее время я часто задаю себе вопрос- почему мы пользуемся устаревшим астрономическим софтом, когда как можно научить студентов создавать свой, наиболее приспособленный к современным условиям (как машинам, так и доступным современным методам) софт? Трудно назвать обработку данных в каком-нибудь доисторическом midas научной работой. Разве что на практикуме студентов- первокурсников можно ставить такие задачи, да и то чтобы показать им как все было тяжело в прошлом веке. Современный астроном, чтобы не отстать от жизни, от того же "прогнивающиего" запада (а так ли они тупы и некреативны, как это кажется некоторым товарищам, воспитанным на идеологии МЫ ЛУЧШЕ ВСЕХ?), или, скажем, Японцев? Настоящая беда современного Российского астронома- то что он не может, а вернее !!!его не учат!!! шагать в ногу со временем. Я не говорю о том, что мало идей, мало прилагаемых усилий, мало старания, я говорю о том, что очень большая часть работы делается впустую! Совершенно невозможно тягаться с теми же Японцами в оптимизации умственного труда. Чему же учат студентов в вузах? Куча абсолютно ненужных спецкурсов замещают такие необходимые дисциплины как высшая математика, теоретическая физика, практическое программирование! Покажите мне хоть одного "продуктивного" ученого, который бы не имел дело с компьютером! А постигать даже те же азы программирования, без которых сейчас почти невозможно оптимизировать кучу доступных методов под свою задачу, студентам приходится самим, да и справляются не все, ибо предмет весьма сложный! Почему же преподаватели упускают столь необходимую часть образования студентов, замещая ее на мой взгляд бессмысленной загрузкой мозга студента ненужной ему информацией (спецкурсы не по специальности - даже звучит смешно). Студент должен творить, ибо именно в эти годы человек способен наиболее продуктивно творить!!! Одной из проблем Российского астронома является то, что он еще и не умеет грамотно и красиво преподнести результаты своей работы. А ведь это так просто, если знать КАК! А этому опять же не учат. Приходится тратить свое время не на научные изыскания, а на долгое (ведь без соответствующих знаний это занимает долгое время) оформление результатов, которые, порой, к моменту выпуска в свет уже теряют актуальность. Некоторые же вообще не занимаются оформлением- и их результаты скорее всего не будут замечены вообще. Вы можете сказать- главное не форма, а содержание, так вот в современном мире форма стала играть большую роль, ибо наглядность- тоже оптимизация, оптимизация восприятия. Во всех сферах человеческой деятельности действуют сходные законы, и наука- не исключение. А сейчас век скорости, век конкуренции, и оттого оптимизации, информации и новых технологий. Хотелось бы не отставать от века хотя бы в науке, ибо мы уже достаточно отстали в политике. Я не призываю к нигилизму и разрушению традиций- напротив, я их ценю, но в дополнение к ним надо интенсивно постигать все полезное, что приносит современный век. ;) Спасибо за внимание, надеюсь не утомил. Хорошо бы услышать мнение уважаемых посетителей форумов.
- Re: Астроном(и?или)программист - Возможно ли прогрессивно заниматься астрономией не зная хотя бы азов программирования
(О. С. Бартунов,
12.10.2003 19:13, 242 Байт, ответов: 1)
Так какое, собственно, позитивное предложение ? Я бы с удовольствием на нашем сайте разместил бы раздел посвященный полезным программам. Вы бы могли взяться за составление и поддержание каталога ПО, необходимое в научной работе. Олег
- Re[2]: Астроном(и?или)программист - Возможно ли прогрессивно заниматься астрономией не зная хотя бы азов программирования
(V. M. V,
14.10.2003 18:49, 947 Байт)
Позитивное предложение? В соответствующих ВУЗах по возможности срочно прекратить политику задвигания вышеупомянутых курсов на задний план, вводить курсы прикладного программирования и основ к. графики. Тем более существование ресурсов типа Астронета явно говорит о том, что существуют люди, способные научить чему-то действительно полезному подрастающее поколение. За каталог ПО в принципе можно взяться, но здесь одному человеку никак не управиться, советую создать раздел, в который все пользователи могли бы заливать полезный в работе (астрономический и математический) софт, а в обязанности "модераторов" будет входить лишь его сортировка и чистка ненужного. Но опять же, суть темы состоит не в том, чтобы облегчить людям поиск уже написанного софта, а чтобы активно привлекать к написанию последнего студентов и аспирантов. Естественно, при этом долен браться пример с уже написанного, дабы не изобретать велосипед.
- Re: Астроном(и?или)программист - Возможно ли прогрессивно заниматься астрономией не зная хотя бы азов программирования
(А. И. Читайло,
15.10.2003 12:26, 491 Байт, ответов: 2)
Пару лет назад на рынке появился русский перевод "классического немецкого" труда "Астрономия на персональном компьютере" Т.Пфлегера и [...]. В ней неплохо описаны способы вычислений и преобразований координат, эфемерид, начала астрометрии. В качестве языка используется наиболее универсальный C++. Кстати, книга довольно удобно разбита на темы - бери и веди "еще один ненужный спецкурс" по астрософту ;). Прилагается CD с текстами программ и каталогами PPM и базой по астероидам.
- Re[2]: Астроном(и?или)программист - Возможно ли прогрессивно заниматься астрономией не зная хотя бы азов программирования
(V. M. V,
24.10.2003 19:18, 646 Байт, ответов: 1)
> Пару лет назад на рынке появился русский перевод "классического немецкого" > труда "Астрономия на персональном компьютере" Т.Пфлегера и [...]. В ней неплохо > описаны способы вычислений и преобразований координат, эфемерид, начала > астрометрии. В качестве языка используется наиболее универсальный C++. Кстати, > книга довольно удобно разбита на темы - бери и веди "еще один ненужный > спецкурс" по астрософту ;). Прилагается CD с текстами программ и каталогами PPM > и базой по астероидам. Сам не читал, но судя по отзывам коллег книга вообще ничего интересного в плане сказанного выше из себя не представляет.
- Re[3]: Астроном(и?или)программист - Возможно ли прогрессивно заниматься астрономией не зная хотя бы азов программирования
(А. В. Вольф,
20.01.2004 18:24, 385 Байт)
> Сам не читал, но судя по отзывам коллег книга вообще ничего интересного в > плане сказанного выше из себя не представляет. Ну и зря -- нельзя так делать -- пренебрежительно говорить о том, чего сам никогда не видел... Что касается астрософта (по крайней мере "общего"), то он уже давно написан... А данная книга действительно "классика" -- весьма рекомендую почитать!
- >> Re: Астроном(и?или)программист - Возможно ли прогрессивно заниматься астрономией не зная хотя бы азов программирования
(В. Б. Юрганов,
12.05.2004 9:27, 2.6 КБайт, ответов: 1)
С программированием всё не так просто, как хотелось бы. Собственно, программирование вычислений не представляет трудности, т.к. это доступно непрофессионалу. Есть языки программирования, типа С/С++ и Паскаля. Для выполнения расчётов достаточно стандартных средств этих языков. Но этого уже мало. Это, как вы говорите, вчерашний день. На сегодня основную сложность в создании любых программ представляет не описание прикладного алгоритма средствами машинного языка, а описание графического интерфейса, графического же ввода-вывода. Я уже не говорю о таких вещах, как аудио и видео. Печально, но не существует ни одного современного языка, в котором был бы предусмотрен графический ввод-вывод стандартными средствами. Для этого используются специальные библиотеки (API), которых множество, и которые довольно запутанны(зачастую неоправданно) и сложны для понимания непрофессионалами. Ещё хуже, что для каждой операционной системы эти библиотеки свои , причём зачастую, совершенно разные. И единого стандарта на всё это нет. Вот и получается парадоксальная вещь, что выполнить расчёты мы можем сами, а наглядно отобразить- нет, т.к. натыкаемся на сложности интерфейсного программирования. По своему опыту скажу, что создание полноценных графических приложений под силу только тем, кто занимается этим и только этим (читай профессионалам). Задачи интерфейсного и прикладного программирования являются взаимно вытесняющими и один человек физически не может (то есть может, но с большим трудом) удерживать в голове премудрости(я бы сказал "превратности", от которых может сьехать крыша) конкретного API , сохраняя при этом стройность научного мышления в прикладной области. Да, лучше, если эти задачи будут делать разные люди. На сегодня дело обстоит именно так. Почему нет единых средств для создания интерфейсов программ? Традиционно это обьясняют тем графика сильно завязана на периферийные апаратные средства (видеокарты), которых существует множество, в силу чего и невозможены универсальные интерфейсные графические библиотеки. Возможно, что отчасти мы являемся заложниками маркетинговой политики софтверных (да и хардверных) компаний. Однако, справедливости ради, надо отметить, что графический интерфейс -это область действительно технически сложная , требовательная и пока ещё развивающаяся. Последнее слово здесь ещё не сказано. Потому и не удалось создать стандарнтых или встроенных в языки средств работы с ним. Я очень надеюсь, что такие средства в будущем появятся, и это облегчит жизнь учёным , инженерам и прочим прикладникам, желающим писать программы самостоятельно.
- Re[2]: Астроном(и?или)программист - Возможно ли прогрессивно заниматься астрономией не зная хотя бы азов программирования
( Гость,
5.02.2005 20:12, 1.4 КБайт)
Забыл пароль на аккаунт (VMV).
Во многом с Вами согласен- умение грамотно представить информацию- одно из недостающих россйскому ученому (с исключениями, конечно) умение. До сих пор мы часто встречаем ненавистные прозрачки наших российских коллег на международных конференциях, в то время как иностранцы представляют свои результаты очень "вкусно". Можно конечно сказать, что это лишь пустой "выпендреж", однакопрезентация своей работыв реальности играет важную роль в привлечениитой или иной помощи и внимания со стороны-от выбивания грантов до заказа наблюдений на международных инструментах.Конечно,интересные, но бедно представленные результаты могут найти отклик в профессиональном кругу и находят его, но постоянное стремление науки к узкоспециализированностивсе сильнее подчеркивает необходимостьтак представить свои результаты, что они заинтересуют и профессионалов из других областей (что является важнейшим делом- именно на стыке разных направлений часто рождаются новые революционные теории). А ученому "в летах" под час уже поздно учиться презентации и тем более сложно изменить свой сложившийся стиль представления результатов. Посему надо работать со студентами в первую очередь. Что толку в прочтении огромного числа спецкурсов, которые им никогда в жизни не понадобятся, когда как их можно заменить на необходимые в жизни дисциплины.
- Re: Астроном(и?или)программист - Возможно ли прогрессивно заниматься астрономией не зная хотя бы азов программирования
(А. Г. Вшивцев,
6.04.2005 19:42, 4.6 КБайт)
Тема для меня очень близкая: сам занимаюсь много лет и астрономией и программированием. Выскажу свое мнение по затронутым здесь вопросам.
Конечно, прогрессивно заниматься астрономией (и многими другими науками) без знания азов программирования нельзя. Но и со знанием лишь азов тоже нельзя! Можно быстро научиться писать программы, нельзя быстро научиться писать хорошие программы. Программирование - это не язык и несколько методов, это образ мышления. Изучив только азы, можно с громким плеском сесть в лужу. Например, исследование колебаний жидкого эллипсоида. Кажется, чего проще, линеаризуй уравнения, найди собственные числа. Вот и справочник Дьяконова с программами на бейсике есть... А результат абсурдный. Среди астрономических задач очень много специфических, для решения которых непригодны универсальные методы. Например, в небесной механике требуется выполнять аналитические преобразования пуассоновских рядов с десятками тысяч членов. Никаким универсальным системам типа Maple, Reduce такие объемы недоступны. Но никто, кроме самих астрономов, не возьмется за разработку специализированных программ, потому что никому, кроме астрономов, такие программы не нужны. А для написания пуассоновского процессора нужны знания существенно большие, чем для написания сортировки пузырьком.
Что делать? Позитивный опыт есть, например, в Санк-Петебургском университете. 15 лет назад, когда учился я, подход к преподаванию программирования меня приятно удивил. Пока студенты прочих специальностей решали квадратные уравнения и строили "простые изображения на экране дисплея" (а то и программировали игру в очко), астрономы изучали тот самый образ мышления, который и помог впоследствии писать большие, понятные и работающие программы, не важно на каком языке. И это заслуга В.В. Витязева и А.Б. Шнейвайса - авторов того курса программирования. Кстати, оба - астрономы.
О каталоге ПО. В детстве я интересовался всякими программками, чтобы посчитать фазы Луны, найти ближайшее затмение и т.п. Когда же стал серьезно заниматься астрономией, потерял к ним всякий интерес. Да бесполезны они для ученого! А что полезно? Написать программу, скажем, нормализации гамильтониана, достаточно универсальную, чтобы включить ее в библиотеку, вряд ли возможно. Программы общего применения: статистическая обработка, матричная алгебра и т.п. имеются в сотнях разных библиотек, зачем еще одна? Если и набрать такую библиотеку, то это будет очередная библиотека для "поиграться".
О книге Пфлегера и Монтенбрука. Я читал ее. Читал и первое издание на русском языке 1993 года, читал и новое, 2002 г. Для студента-первокурсника книга превосходная. Когда энергию девать некуда, а за серьезную задачу из-за отсутствия знаний взяться нельзя, очень приятно перевести экваториальные координаты в эклиптические, или вычислить положение Луны с точностью до двух лаптей. Но в научной работе от нее толку мало. Разве что, уравнение Кеплера решить...
Совершенно не согласен с одним из участников дискуссии по поводу графики и представления результатов. Такая проблема существовала во времена MS-DOS. До этого ее не было, потому что не было широко доступных графических устройств. Сейчас ее нет, потому что интерфес внешних устройств давно фактически стандартизован. Самых популярных два:коммерческий Microsoft Windows, открытый - XWindows. Графических библиотек тоже много, благо, ввод-вывод - задача неспециализированная для какой-то отдельной науки. Мои студенты никогда не испытывали трудности с представлением результатов. Главная трудность - получить этот результат и убедить других в том, что он верный.
Резюмирую. Преподавание программирования на высоком уровне совершенно необходимо для любого студента, изучающего естественные науки. Но это должно быть именно программирование, а не какой-либо язык и не какой-либо набор задач. Такой курс должен учить думать, а не нажимать клавиши. Освоив методы, исследователь сам построить и алгоритм, и программу решения его специфической задачи. Кроме того, он сможет оценить применимость готовых программ к своей задаче и не наделать глупостей. Основой такого курса может стать незаслуженно забытая книга Мейера и Бодуэна "Методы программирования". Что же до предложений, то, как говорил Владимир Вольфович Жириновский, - не тот уровень. Если я предложу свой курс программирования для вузов, вода мокрей не станет. С таким же успехом можно предложить потушить солнце. Образовательную политику определяют люди, которым мое мнение до фонаря. Сейчас, например, принято преподавать основы православия. Какая тут, к черту, астрономия с программированием?!