«Геомодель – 2011» - 13ая конференции по проблемам комплексной
интерпретации геолого-геофизических данных.
Россия, г. Геленджик, 11 – 15 сентября, 2011 г.
СКРИПТЫ – ТАК ЛИ СТРАШНЫ ДЛЯ ПОЛЬЗОВАТЕЛЯ?
Борисов Михаил Александрович* (ЗАО Пангея)
Современные геофизические системы невозможно представить без механизмов, реализующих
вычислительные алгоритмы пользователя более сложные, чем простой калькулятор. Но так ли
удобны они конечным пользователям, какие подводные камни встречаются при написании подобного
рода дополнительных программ внутри геофизических систем и что действительно
полезного можно
получить от их использования?
Собирательное название небольших программ, самостоятельно создаваемых пользователем – Скрипт.
В различных программных комплексах они могут называться по разному и иметь больше или меньше
функций, но суть от этого не меняется – это дополнительный аппарат для автоматизации
последовательности действий в виде небольшой по размеру программы, с открытым
исходным кодом
и возможностью правки непосредственно пользователем системы.
Давайте обратимся к источникам и разберемся что же, в сущности, вкладывается в понятие Скрипт (в
терминологии некоторых программ «макрос»)? Приведу выдержку из Википедии: Скри́птовый язы́к
(англ. scripting language, в русскоязычной литературе принято название язык сценариев) — язык
программирования, разработанный для записи «сценариев», последовательностей
операций,
которые пользователь может выполнять на компьютере. Простые скриптовые языки раньше
часто называли языками пакетной обработки (batch languages или job control languages). Сценарии
обычно интерпретируются, а не компилируются (хотя всё чаще применяют компиляцию каждый
раз перед запуском). В прикладной программе, сценарий (скрипт) — это программа, которая
автоматизирует некоторую задачу, которую без сценария пользователь делал бы вручную,
используя
интерфейс программы.[1]
Справедливости ради, заметим, что существует еще одна разновидность расширения системы за счет
плагинов (независимые модули, написанные на компилируемых языках; в некоторых программах они
могут называться «утилитами», «экспортёрами», «драйверами»). Но формат данной статьи не
позволяет рассмотреть обе темы подробно, поэтому отложим тему плагинов до следующего раза.
Скрипты (
или макросы) прочно вошли во многие офисные пакеты, так MS Office использует Visual
Basic for Application (VBA), тем же могут похвастаться последние версии продуктов Corel, широко
используемые в оформлении графических приложений и т.д. В Lunux среде часто используется сразу
несколько языков, интерпретируемых самой системой, при помощи которых можно быстро,
например, рассортировать и преобразовать входные данные, для дальнейшего использования
в
геофизических пакетах.
Рассмотрим реализацию скриптов в непосредственно геофизических системах. Подходы можно
разделить по нескольким критериям:
1. использование собственного интерпретатора для языка программирования (Си подобный,
полностью оригинальный) или распространенного (Python, Java и т.п.)
2. возможность работы с дополнительными объектами, такими как: палетки/кросс-плоты,
математический аппарат самой геофизической системы
3. визуальные
средства построения скрипта или только текстовый редактор (с подсветкой
синтаксиса или без таковой)
4. необходимость создания внутреннего цикла по данным или использование внешнего цикла
(относительно текста скрипта)
5. наличие средств отладки (только простые в виде печати в лог или более продвинутые)
6. для систем интерпретации ГИС - наличие многоскважинной работа (с
заданием
стратиграфических границ для расчета, либо использование для разных интервалов разных
констант и условий)
7. выполнение программы на сервере либо на рабочей станции пользователя