MathCAD

       

Программирование


А роза упала на лапу Азора

А.Фет

Средства реализации сложных алгоритмов были введены только в версию Mathcad PLUS 6.0 (1995 г. – см. этюд 6). Maple же с самого начала задумывался как язык управления символьными преобразованиями. Его команды, как уже было отмечено ранее, выполняются немедленно после нажатия клавиши Enter. Но ничто не мешает собрать эти команды воедино и сформировать из них новые функции и процедуры, поместить их в тело цикла или альтернативы и т.д.

В описании Maple сказано, что это fortran-подобный язык. Под этим подразумевается, что он не prolog-подобный, не APL-подобный и не lisp-подобный (на языке lisp в 1958 году John McCarthy написал программу поиска производных функций, которая стала «первой ласточкой» компьютерной символьной математики), но скорее BASIC-подобный. И не только из-за возможности непосредственного выполнения операторов, но и из-за своего синтаксиса. Различия – в деталях. Разработчики языка Maple, по-видимому, увлекаются палиндромами – текстами, которые читаются одинаково слева направо и справа налево (см. эпиграф). В языке Maple альтернатива, как и во всех других языках, начинается с ключевого слова IF, а заканчивается новым ключевым словом FI (IF наоборот). Такая же заготовка-палиндром (DO...OD) предусмотрена для тела цикла и т.д. Программисту наконец-то открывается широкая возможность написания программ-палиндромов типа IF A THEN NEHT A FI. Написание стихов-палиндромов относится к области экспериментальной поэзии (В.Хлебников и др.). Язык Maple может быть инструментом экспериментального программирования. Автор одно время был очень увлечен экспериментальным программированием. В его коллекции есть, например, программа численного интегрирования методом прямоугольников, состоящая из прямоугольных блоков. Другая программа рассчитывает числа Фибоначчи: число знаков в каждой ее строке совпадает с числами Фибоначчи. Третья программа ищет минимум функции методом золотого сечения. Она вписана в рамки структурной диаграммы, стороны которой находятся в золотом соотношении.


Язык Maple обладает всеми качествами «настоящего» языка программирования. Так, язык Maple оснащен средствами отладки, чего, к сожалению, нет у языка Mathcad.
Maple состоит из ядра (kernel), написанного на языке С и включающего в себя поддержку основных функций. Из ядра пакета можно вызывать большое количество библиотек (см. на рисунках команду with(название библиотеки), написанных на языке Maple. В Release 4 насчитывается 31 библиотека: combinat, combstruct, DEtools, difforms, Domains, finance, GaussInt, genfunc, geometry, grobner, group, inttrans, liesymm, linalg, logic, LREtools, networks, numapprox, numtheory, orthopoly, padic, plots, plottools, powseries, process, simplex, stats, student, sumtools, tensor и totorder. Такой набор инструментов определяет и высокую цену пакета[53]. Кроме того, он требует защиты – Maple V Release 4 работает только с электронным ключом. Все библиотеки съедают до 24 Мбайт дискового пространства.
Но здесь кроется и одна из главных причин того, что у нас пакет Maple менее популярен, чем Mathcad. Приобретая Maple, пользователь получает своеобразный «подарочный набор», включающий в себя вещи, которые ему никогда не понадобятся. Кроме того, универсальность очень часто (увы!) подразумевает облегченность – нельзя объять необъятное. Автор, к примеру, протестировал библиотеку simplex (решение задач линейного программирования симплекс-методом). С учебными задачами она справляется, но если их слегка усложнить, то ответа можно и не дождаться. Maple явно перегружен. Из-за этого, например, многие одноименные встроенные функции имеют разное содержание и разные аргументы после загрузки разных пакетов.
Разработчики Mathcad «пошли иным путем». Они сделали ставку на электронные учебники
и Internet. Нужно пользователю решить дифференциальное уравнение – он либо покупает отдельно соответствующий электронный учебник, который содержит описание задачи и функции, обеспечивающие ее решение, либо через Internet открывает на отдаленном сервере файл с прототипом задачи. Если пользователю Mathcad требуется неординарная графика, то он может воспользоваться пакетом Axum. Одновременно с Maple V Release 4 (лето 1996 года) на рынке появилась новая версия Mathcad под названием StudyWorks. Она стоит около 50 долл., содержит мультимедийный обучающий курс и, главное, как и Mathcad 8 Pro, предоставляет пользователям широкие возможности коллективной работы через Internet. Платой за использование чужих открытых библиотек должна быть разработка и открытие миру своих собственных.

Содержание раздела