Maple 9.5/10 в математике, физике и образовании (Дьяконов) - страница 6

Современные СКМ, включая Maple, позволяют готовить и распечатывать документы высочайшего полиграфического качества, затрачивая на это куда меньше времени, чем популярные у математиков редакторы класса ТеХ или LaTeX. Впрочем, системы Maple и Mathematica прекрасно сожительствуют с этими редакторами и позволяют представлять данные в характерном для них формате.

Центральное место в структуре Maple занимает ядро системы, которое состоит из множества заранее откомпилированных функций и процедур, представленных в машинных кодах и обеспечивающих достаточно представительный набор встроенных функций и операторов системы. Спецификой СКА является наличие в ядре множества правил преобразований математических выражений и функций и их определений в символьном виде.

Ядро СКМ тщательно оптимизируется, поскольку от этого зависит скорость вычислений, обеспечиваемых той или иной системой компьютерной математики. Этому способствует и компиляция ядра. Доступ в ядро пользователя для его модификации, как правило, исключен. Объем ядра достигает нескольких мегабайт. Пишется ядро на языке реализации системы — в Maple это язык С.

Поставка ядра в исходных кодах (на языке реализации) не практикуется. Нередко улучшенные алгоритмы вычислений ядра являются ноу-хау разработчиков и относятся к разряду секретных данных. Пожалуй, это один из главных недостатков СКМ.

Интерфейс это совокупность аппаратных и программных средства для работы ПК с внешним оборудованием и пользователем. Интерфейс пользователя СКА в настоящее время почти исключительно является графическим и сокращенно именуется GUI (Graphics User Interface). Она наследует принципы построения интерфейса в операционных системах класса Windows.

Функции и процедуры (в понятии языков программирования), включенные в откомпилированное ядро, выполняются предельно быстро. С этой точки зрения в ядро было бы выгодно включать как можно больше вычислительных средств. Однако это невольно приводит к замедлению поиска нужных средств из-за возрастания их числа, увеличению времен загрузки ядра и поиска нужных его средств и к другим нежелательным последствиям. Поэтому объем ядра ограничивают, но к нему добавляют библиотеки более редких процедур и функций, к которым обращается пользователь, если в ядре не обнаружена нужная процедура или функция.

Кардинальное расширение возможностей систем и их адаптация к решаемым конкретными пользователями задачам достигается за счет пакетов расширения систем (packages). Эти пакеты, как правило, пишутся на собственном языке программирования той или иной системы, что делает возможным их подготовку как разработчиками СКМ, так и обычными пользователями.