Математические пакеты: от натурального хозяйства к товарному производству через Интернет
сторию использования компьютеров для научно-технических расчетов условно можно разделить на три этапа:
• работа с машинными кодами;
• программирование на языках высокого уровня;
• использование математических пакетов типа Mathcad, Maple, MatLab, Mathematica и др.1
Четких границ между перечисленными этапами (технологиями) нет — работая, например, в среде Mathcad, можно при необходимости вызывать собственные функции, написанные на языке C, в код которых вкраплены фрагменты ассемблера. Машинные коды, кстати, остались в программируемых калькуляторах, которые по-прежнему широко используются в инженерно-технических расчетах. Здесь скорее следует говорить не об этапах развития средств решения задач, а о некой тенденции, которая, в частности, приводит к резкому сокращению времени создания и реализации на компьютере расчетных методик и математических моделей, к исключению программиста как дополнительного и часто бестолкового (с точки зрения специалиста-прикладника) звена между исследователем и компьютером.
Но нет роз без шипов. Главный недостаток математических пакетов состоит в том, что они, как правило, не могут генерировать так называемые exe-файлы, которые можно запускать без программы-прародительницы. Это, в частности, серьезно мешало такому прогрессивному явлению, как разделение сидящих за компьютером на пользователей и разработчиков2. Люди, работающие с математическими пакетами, как правило, ведут «натуральное хозяйство» — разрабатывают расчетные методики исключительно для личного употребления. Передать они их могут только тому, у кого на компьютере установлен Mathcad. А такой человек покупать файл не станет, а постарается (норовит — как скажет продавец) воссоздать нужный расчет сам3. Передать же (продать) файл тому, кто не знаком с пакетом Mathcad и не имеет его на компьютере, можно только с большой нагрузкой — с условием установки на компьютере самого пакета Mathcad нужной версии, что часто влечет за собой необходимость обновления не только операционной системы Windows, но и «железа». Да и поучиться обращаться c Mathcad тоже необходимо…
1 В этом списке нет электронных таблиц Excel — самых популярных средств реализации расчетов на компьютере. Excel занимает промежуточную позицию между языками программирования и математическими программами.
2 «А ты, Каштанка, недоумение. Супротив человека ты все равно, что юзверь супротив девелопера». (Цитата из римейка рассказа А.П.Чехова «Каштанка» (http://www.lib.ru/LITRA/CHEHOW/kashtanka.txt. В оригинале «плотник супротив столяра», если кто не помнит).
3 Речь идет, конечно, о небольших расчетных программах, для которых время создания и отладки сопоставимо со временем поиска их готового варианта, установки его на компьютер и освоения.
Фирма Mathsoft Engineering & Education, Inc. (www.mathsoft.com) разработчик пакета Mathcad предприняла ряд действий для исправления создавшегося положения.
Во-первых, были предприняты попытки запуска с очередным (восьмым, если быть точным) релизом пакета Mathcad его бесплатной4 и укороченной версии Mathcad Explorer, которая позволяла открывать Mathcad-файлы и считать по ним, но не давала возможности редактировать и сохранять на дисках документы (так называемая версия read-only).
Во-вторых, интенсивно развивались средства публикации Mathcad-документов в Интернете. Ведь основной потребитель математических программ — это сфера образования, где важен не сам результат расчета, а путь к результату, изучение расчетных методик, заложенных в расчет. На это была нацелена, в частности, версия Mathcad 2001i, где буква i означала «интерактивный» (interactive).
4 Мы здесь не затрагиваем финансовую сторону проблемы — не говорим о том, сколько
стоят сами математические пакеты в их легальных и нелегальных версиях.
Но все это были неполные решения. Mathcad Explorer нужно было скачивать из Сети и устанавливать на свой компьютер. А в таком случае проще поставить сам пакет Mathcad, а не его укороченную версию (см. сноску 4). Кроме того, Mathcad-документы, вернее их html- или MathML-копии, открытые в Сети, всегда хочется не только разглядеть, но и «пощупать» — изменить исходные данные и увидеть (распечатать, сохранить на диске) новый ответ.
Решение этой проблемы, но уже не частичное, а почти полное опять пришло со стороны Интернета.
В конце 2003 года фирма Mathsoft запустила в опытную эксплуатацию так называемый Mathcad Application Server (MAS), позволяющий запускать на нем Mathcad-документы и обращаться к ним дистанционно через Интернет. Автор данной статьи тестировал бета-версию MAS и установил ее локальную копию по адресу www.vpu.ru/mas. Там же можно найти ссылки на документы, касающиеся технологии использования MAS и подготовки Mathcad-документов к публикации в Интернете5.
5 В таком Mathcad-документе достаточно заменить операторы ввода «:=» на так называемые WebControls (сетевые элементы управления) и вставить кнопку Submit для передачи изменения на сервер — см. http://twt.mpei.ac.ru/ochkov/VPU_Book_New/mas/From_WorkSheet_to_WebSheet.html.
Технология MAS обладает следующими особенностями:
• нет необходимости ставить на компьютеры пользователей саму программу Mathcad, где-то искать, проверять на отсутствие вирусов и запускать прикладные файлы — достаточно подключить компьютер к Интернету и обратиться к MAS через браузер Internet Explorer (5.5 и выше); причем создается полная иллюзия того, что на компьютере открыт Mathcad-документ, в котором можно изменить исходные данные и считать (распечатать, сохранить на диске) ответ. При этом сама расчетная методика (набор формул в традиционной математической нотации, а не в виде компьютерных программ — особенность, за которую так любят Mathcad) может быть либо открыта, либо закрыта полностью или частично (продажа результата расчета, а не самого расчета);
• новые расчетные методики становятся моментально доступны в Интернете — достаточно только сообщить будущим пользователям Интернет-адрес расчета. При этом можно предоставить пользователям возможность выбора языка общения (русский, английский и др.). Чтобы эти расчеты стали товаром (вспомним название статьи), можно сделать доступ к сайту платным (умеренно платным, частично платным), окружить ссылки на них баннерами и т.д.;
• любые ошибки, опечатки, недоработки и допущения в расчете, замеченные как самим автором (разработчиком), так и пользователями, могут быть быстро (и незаметно для пользователей) исправлены;
• технология MAS не исключает традиционной возможности скачивания с сервера самих Mathcad-документов для их расширения и модернизации. Для этого достаточно в расчете сделать соответствующую ссылку на FTP-сервер.
Технология MAS кардинально решает проблему лицензирования работы с программой: пользователю нет необходимости покупать дорогостоящую программу Mathcad или ставить на компьютер «пиратскую» копию программы, а также постоянно обновлять их и дополнительно заменять и/или обновлять саму операционную систему Windows, делать апгрейд компьютеру — достаточно только обратиться к MAS. Покупать дорогостоящие программы должен будет только разработчик — продавец расчетных методик.
Не нужно также учиться обращаться (редактировать) с Mathcad-документами, бояться их испортить. Изменение исходных данных в MAS-документе ведется приемами, которые посетители Интернета давно уже освоили, засвечиваясь на различных сетевых форумах, болтая на чатах…
Приведем два примера MAS-документов.
На рис. 1 показано окончание Mathcad-документа, который можно открыть в Сети (http://twt.mpei.ac.ru/mas/worksheets/Old_Car.mcd) и по которому оценивается старый автомобиль по его возрасту и пробегу. Начало документа содержит описание статистической обработки массива данных по цене подержанных автомобилей, выуженных автором из Интернета и позволивших делать соответствующие оценки. В документе есть ссылка на подробное описание методик этого статистического анализа.
Рис. 1
Другой пример показан на рис. 2. При проектировании строительных объектов необходимо выполнить массу расчетов различной степени сложности. Эти расчеты регламентируются «Строительными нормами и правилами» (СНиП), которые, в частности, можно найти в Интернете, но только в виде описаний, а не в виде реализованных расчетных методик.
Технология MAS позволяет «оживить» эти правила и в интерактивном режиме через Интернет произвести расчет по новым данным строго по СНиП, распечатать ответ со всеми промежуточными результатами и отдать его на экспертизу, без которой не обходится ни одно серьезное строительство. Как понимает читатель, рынок таких расчетов огромен. Вот вам и товарное производство!
Рис. 2
P.S. Расчетные серверы других математических пакетов:
MatLab http://www.mathworks.com/products/webserver/demos.jsp;
Mathematica http://rtuis.miem.edu.ru/alex/math/index.htm.