Иллюстрированный самоучитель по Mathematica



              

Идеология систем Mathematica


Идеология систем Mathematica базируется на двух, казалось бы, взаимно исключающих друг друга положениях:

  • решение большинства математических задач в системе может производиться в диалоговом режиме без традиционного программирования;
  • входной язык общения системы является одним из самых мощных языков функционального программирования, ориентированных на решение различных задач (в том числе математических).

Противоречивость этих положений кажущаяся. На самом деле Mathematica — типичная система программирования с проблемно-ориентированным языком программирования сверхвысокого уровня . Его можно отнести к классу интерпретаторов. Как известно, языки такого типа последовательно анализируют (интерпретируют) каждое выражение и тут же исполняют его. Таким образом, работа с системой происходит явно в диалоговом режиме — пользователь задает системе задание, а она тут же выполняет его. Разумеется, Mathematica содержит достаточный набор управляющих структур для создания условных выражений, ветвления в программах, циклов и т. д.

На первый взгляд может показаться, что система ведет диалог на куда более примитивном уровне, чем хорошо известный язык программирования Бейсик (тоже относящийся к интерпретирующему типу). И в самом деле, работа с системой Mathematica напоминает работу с Бейсиком в режиме непосредственного исполнения команд — в ответ на каждый вопрос тут же следует результат вычислений. Более того, сохранился такой архаизм (впрочем, при необходимости отключаемый), как нумерация строк (ячеек).

Однако первое впечатление часто бывает обманчивым. Помимо того что Mathematica даже в ходе такого элементарного диалога предоставляет пользователю средства сверхвысокого уровня (например, аналитическое вычисление производных или интегралов, что Бейсику абсолютно недоступно), система имеет все возможности для создания практически любых управляющих структур , организации ввода/вывода, работы с системными функциями, обслуживания любых периферийных устройств и т. д. Другое дело, что рядовому пользователю эти средства программирования могут и не понадобиться — его вполне удовлетворят встроенные математические функции системы, поражающие своим обилием и многообразием даже опытных математиков.




Содержание  Назад  Вперед