Чтение онлайн

на главную - закладки

Жанры

Журнал «Компьютерра» № 24 от 26 июня 2007 года
Шрифт:

Для математических расчетов есть масса специализированных программ (например, wiki python org/moin/NumericAndScientific, www enthought com), существуют сборки, содержащие огромное количество специализированных пакетов (например, code enthought com/enthon). Есть отдельные пакеты для рисования графиков, например MatPlotLib (matplotlib sourceforge net). Это очень удобный вариант, особенно если рассматривать связку «экспериментальная установка + документ». Данные, полученные с экспериментальной установки (или численного эксперимента) под управлением ПО, созданного на Python, проходят предварительную обработку (опять Python), информация выдается в файлы в виде

графиков (2D, 3D, прочие форматы), а после этого при помощи python-скриптов частично формируется и запускается на компиляцию latex-документ, использующий эти графики. [Автоматизация на Питоне – штука довольно распространенная. Так, например, в студии ILM на Питон завязан весь процесс производства визуальных эффектов. – В.Г.] В результате в полностью автоматическом режиме можно получить на выходе профессионально созданный pdf-файл с отчетами о проведенном эксперименте. Также с использованием Python достаточно легко можно писать GUI к различным программам (например, пакеты TkInter, wxPython, TraitsUI). И многое-многое другое.

Полагаю разумным сделать паузу и предоставить читателям возможность сходить по незнакомым ссылкам и подробнее ознакомиться с упомянутыми материалами. Разумеется, все упомянутые продукты непросты в освоении, но усилия, потраченные на овладение ими, того стоят. Воспользовавшись возникшим вакуумом, можно не пытаться воссоздавать ранее бывшее окружение путем поиска эрзацев, а попытаться сменить видение. Решать эту задачу в одиночку сложни тяжело, но, с другой стороны, существует огромное количество технологий и продуктов, позволяющих объединять усилия различных людей в одном направлении. И эти технологии очень хорошо вписываются в структуру научного сообщества, дополняя и расширяя существующие связи между научными группами. Наличие инициативной группы, являющейся неформальным ядром такого сообщества, позволит сменить парадигму достаточно безболезненным образом. Болеетого, такая система является системой с положительной обратной связью, и, будучи запущена, может поддерживать себя сама. В качестве результатов работы такой группы можно продемонстрировать ресурс «TeX в Институте математики и механики УрО РАН». Ему уже около четырнадцати лет (восемь из них посвящены работе с MiKTeX), и история его развития может служить показательным примером того, как можно успешно внедрять новые технологии в научных учреждениях.

Почему так

Наверняка многие читатели скажут, что существует множество замечательных пакетов и продуктов, которые позволяют решать указанные задачи. Это действительно так. К сожалению, если начинать описывать все возможные комбинации продуктов с уче– том версий и особенностями интеграции, то получится многотомный труд с малоупотребимыми результата– ми, вследствие их быстрого устаревания. Поэтому в статье предложен только подход к решению задач и указаны пакеты и продукты, которые были выбраны на основе личного опыта и прошли экспериментальную апробацию в различных областях деятельности, а не только в научной.

1. Почему начато с LaTeX?

Потому, что текстовый редактор – самый частый инструмент в обиходе научного работника. Это раньше можно было получать зар– плату и заниматься измерениями. А теперь – непрерывные заявки на гранты/отчеты/статьи/презентации и прочие оргвещи, позволяющие другим членам группы проводить научные изыскания. LaTeX выбран как единое средство для написания статей, подготовки презентаций. Более того, поскольку входные файлы имеют понятный ASCII-формат, автоматизированные системы наполнения документов пишутся очень легко. И делается это при помощи скриптовых языков.

2. Почему речь идет о Python, а не о С++. Все просто. Имея опыт промышленной разработки C++, я хорошо представляю, каковы накладные расходы, связанные с его использованием.

Какие же требования следует предъявить к языку программирования для научных работников?

Опыт показывает, что следующий список близок к оптимальному:

• однозначность конструкций языка, прозрачный синтаксис;

• легкость понимания, приемлемая кривая обучения;

• кроссплатформность;

• гибкость;

• компактность программ;

• поддержка в научном

• сообществе;

• широкий набор библиотек;

• сокрытие технологических сложностей (COM, работа с XML, списки, хеши, таблицы, работа со строками, итераторы);

• возможность с равной легкостью разрабатывать как CLI-склейки, так и GUI;

• удобство отладки;

• поддержка ООП-концепций;

• быстрота выдачи готового кода (желательно с автотестами);

• возможность интроспекции.

• Имея опыт работы с C++, Java, Perl, Python, я остановился на последнем. И на нем много чего было сделано. Изумительно просто можно организовать генерацию Excel-отчетов (с раскраской и форматированием), не зная глубинно о OM. С XML очень удобно работать… и масса дру-гих вещей.

3. На Matplotlib свет клином не сошелся. Пакетов много, но я говорю о конкретном решении, которое я собрал (оценивая по многим параметрам). Перечислять все пакеты в популярной статье, наверное, ни к чему. Я хотел рассказать об общем подходе в создании АРМ научного работника.

Смысл не в том, чтобы метаться от пакета к пакету, а в том, что можно собрать под себя инструмент и далее оттачивать свое мастерство в решении конкретных задач. Я вовсе не настаиваю на конкретном пакете, я говорю о концепции. Люди, которые решат использовать open source, так или иначе должны будут включиться в community и оглядеться вокруг повнимательнее.

АНАЛИЗЫ: Homo modificans. Часть вторая: Серпом по крыльям

Автор: Александр Чубенко

Предложение разобрать по косточкам мечты о летающих, дышащих жабрами или фотосинтезирующих людях, которым заканчивалась статья "Клыки и когти из стволовых клеток", некоторые читатели явно поняли буквально. И прислали абсолютно фантастические предложения, не дав себе труда подумать, зачем это вообще надо, каких усилий потребует от будущих генных инженеров и главное – что получится, если их идеи, несмотря на невообразимые трудности, все же удастся реализовать.

Лопух, парящий на крыльях ночи

Первый приз за необузданно необдуманную задумку я бы отдал читателю, предложившему"…возможность обретения человеком способности к эхолокации, подобно летучим мышам… Понятно, что на этом пути много проблем – надо изменить строение голосовых связок, чтобы научиться издавать высокочастотные звуки, а также усовершенствовать слуховой аппарат". Пищать и слышать ультразвук – это даже не четверть проблемы. Представляете, какие симпатичные личико и ушки понадобятся таким бэтменам?

На втором месте – не дающий покоя прожектерам вопрос: "Почему бы не встроить в человека фотосинтез? Полностью о хлебе забыть, конечно, не удастся, но если хотя бы на 10% снизятся расходы на питание – это уже большое достижение".

Поделиться:
Популярные книги

Титан империи 6

Артемов Александр Александрович
6. Титан Империи
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Титан империи 6

Как я строил магическую империю 2

Зубов Константин
2. Как я строил магическую империю
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Как я строил магическую империю 2

Болотник

Панченко Андрей Алексеевич
1. Болотник
Фантастика:
попаданцы
альтернативная история
6.50
рейтинг книги
Болотник

Курсант: Назад в СССР 11

Дамиров Рафаэль
11. Курсант
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Курсант: Назад в СССР 11

На границе империй. Том 3

INDIGO
3. Фортуна дама переменчивая
Фантастика:
космическая фантастика
5.63
рейтинг книги
На границе империй. Том 3

Рождение победителя

Каменистый Артем
3. Девятый
Фантастика:
фэнтези
альтернативная история
9.07
рейтинг книги
Рождение победителя

Сиротка

Первухин Андрей Евгеньевич
1. Сиротка
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Сиротка

Совершенный: пробуждение

Vector
1. Совершенный
Фантастика:
боевая фантастика
рпг
5.00
рейтинг книги
Совершенный: пробуждение

Начальник милиции 2

Дамиров Рафаэль
2. Начальник милиции
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Начальник милиции 2

Назад в СССР 5

Дамиров Рафаэль
5. Курсант
Фантастика:
попаданцы
альтернативная история
6.64
рейтинг книги
Назад в СССР 5

Месть бывшему. Замуж за босса

Россиус Анна
3. Власть. Страсть. Любовь
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Месть бывшему. Замуж за босса

Девяностые приближаются

Иванов Дмитрий
3. Девяностые
Фантастика:
попаданцы
альтернативная история
7.33
рейтинг книги
Девяностые приближаются

Шахта Шепчущих Глубин, Том II

Астахов Евгений Евгеньевич
3. Виашерон
Фантастика:
фэнтези
7.19
рейтинг книги
Шахта Шепчущих Глубин, Том II

Сердце Дракона. Том 12

Клеванский Кирилл Сергеевич
12. Сердце дракона
Фантастика:
фэнтези
героическая фантастика
боевая фантастика
7.29
рейтинг книги
Сердце Дракона. Том 12