Идеология систем Mathematica базируется на двух, казалось бы, взаимно исключающих друг друга положениях:
Противоречивость этих положений кажущаяся. На самом деле Mathematica — типичная система программирования с проблемно-ориентированным языком программирования сверхвысокого уровня
.
Его можно отнести к классу интерпретаторов.
Как известно, языки такого типа последовательно анализируют (интерпретируют) каждое выражение и тут же исполняют его. Таким образом, работа с системой происходит явно в диалоговом режиме
—
пользователь задает системе задание, а она тут же выполняет его. Разумеется, Mathematica содержит достаточный набор управляющих структур для создания условных выражений, ветвления в программах, циклов и т. д.
На первый взгляд может показаться, что система ведет диалог на куда более примитивном уровне, чем хорошо известный язык программирования Бейсик (тоже относящийся к интерпретирующему типу). И в самом деле, работа с системой Mathematica напоминает работу с Бейсиком в режиме непосредственного исполнения команд — в ответ на каждый вопрос тут же следует результат вычислений. Более того, сохранился такой архаизм (впрочем, при необходимости отключаемый), как нумерация строк (ячеек).
Однако первое впечатление часто бывает обманчивым. Помимо того что Mathematica даже в ходе такого элементарного диалога предоставляет пользователю средства сверхвысокого уровня (например, аналитическое вычисление производных или интегралов, что Бейсику абсолютно недоступно), система имеет все возможности для создания практически любых управляющих структур , организации ввода/вывода, работы с системными функциями, обслуживания любых периферийных устройств и т. д. Другое дело, что рядовому пользователю эти средства программирования могут и не понадобиться — его вполне удовлетворят встроенные математические функции системы, поражающие своим обилием и многообразием даже опытных математиков.
![]() |
![]() |
![]() |