-  Ранее не раз говорилось, что Mathematica, в сущности, является диалоговым языком программирования сверхвысокого уровня. Однако мы еще не поднимались (или не опускались) до уровня подготовки программ в среде Mathematica 3/4. 
-  Образцы (patterns) в системе Mathematica служат для задания выражений различных классов и придания переменным особых свойств, необходимых для создания специальных программных конструкций, таких как функции пользователя и процедуры. 
-  Понятие функции ассоциируется с обязательным возвратом некоторого значения в ответ на обращение к функции по ее имени с указанием аргументов (параметров) в квадратных скобках. Возврат функциями некоторых значений позволяет применять их наряду с операторами для составления математических выражений. 
-  Иногда может потребоваться создание функции, не имеющей имени (например, если функция будет использоваться только один раз, сразу же после ее создания). Эта функция представляется только выражением без идентификатора, отсюда и ее название – чистая функция (pure function). 
-  При функциональном программировании часто используется суперпозиция функций. Для ее реализации используются следующие функции: | Nest [expr, x, n] – n раз применяет выражение (функцию) ехрг к заданному аргументу х, 
-  Рассмотрим несколько простых примеров, выявляющих суть функционального программирования. 
-  Графические задачи составляют значительную часть задач, решаемых с помощью Mathematica. С точки зрения программирования эти задачи не имеют особой специфики. Большая часть из них сводится к заданию функции, описывающей график, и применению одной из многочисленных графических функций системы с соответствующими опциями и директивами. | На рис. 
-  В основе процедурного программирования лежит понятие процедуры и типовых средств управления – циклов, условных и безусловных выражений и т. д. Процедурный подход – самый распространенный в программировании, и разработчики Mathematica были вынуждены обеспечить его полную поддержку. 
-  Многие задачи в системе Mathematica решаются с использованием линейных алгоритмов и программ. Они могут быть представлены непрерывной цепочкой выражений, выполняемых последовательно от начала до конца. 
-  Для подготовки полноценных программ помимо средств организации циклов необходимы и средства для создания разветвляющихся программ произвольной структуры. Обычно они реализуются с помощью условных выражений, позволяющих в зависимости от выполнения или невыполнения некоторого условия (condition) выполнять те или иные фрагменты программ. | Рис. 10.5. 
-  Мы уже не раз обращали внимание на то, что при создании документов нередки конфликты между переменными, назначаемыми пользователем, и переменными, входящими в программы ядра, между функциями пользователя и встроенными функциями, между их заголовками и т. д. 
-  Для разрешения подобных противоречий в системе Mathematica введен особый механизм контекстов. Напомним, что под контекстом подразумевается некоторое разъяснение характера связанных с контекстом объектов. 
-  Мощным средством расширения возможностей системы Mathematica является подготовка пакетов расширений. Пакеты расширений позволяют создавать новые процедуры и функции и хранить их на диске в виде файлов с расширением .m. 
-  Для создания пакетов расширений в общем случае используются следующие средства системы: | Begin ["context'"] – устанавливает текущий контекст; | BeginPackage ["context'"] – делает context единственным активным контекстом. Возможна также форма BeginPackage [ "context" ", { "needl' ", "need2'",…}]; 
-  Ценность многих программ на любом языке программирования нередко сводится к нулю из-за отсутствия подробных текстовых комментариев. Из-за этого даже сами разработчики программ через месяц-другой перестают понимать собственные творения. 
-  Атрибут защиты Protected | Как уже отмечалось, система Mathematica позволяет вводить константы, переменные и функции со своими именами – идентификаторами. Между функциями можно задавать различные отношения, в том числе и те, которые не соответствуют правилам, заданным в ядре системы. 
-  Наиболее сложным моментом работы с системой Mathematica является разработка пакетов расширения профессионального качества. Именно такие пакеты позволяют приспособить всю мощь системы к решению тех задач, которые полезны конкретному пользователю. | Начать работу с системой можно за несколько часов. 
-  Что такое визуально-ориентированное программирование | Под визуально-ориентированным программированием обычно понимается автоматическая генерация кодов программ на некотором языке программирования при активизации различных графических объектов – чаще всего кнопок с наглядным изображением программируемых действий или с надписями, указывающими на такие действия. 
-  Отладка программ, за исключением самых простейших, дело далеко не простое. Начальный опыт программирования на любом языке приходит спустя годы практической работы с ним. Эти сроки намного сокращаются, если пользователь всерьез знаком хотя бы с одним, а лучше с несколькими языками программирования. 
-  В практике подготовки и отладки программ важное значение имеет наличие специальных средств отладки программ по шагам – средств трассировки. Mathematica имеет ряд функций для осуществления трассировки своих программных конструкций. | Функция Trace [ехрг] позволяет выполнить трассировку выражения ехрг.