Wolfram

Wolfram

Бесплатные инструменты для Wolfram Language

В этой статье разберу бесплатные инструмены для работы с Wolfram Language. Надеюсь, что среди читателей найдутся интересующиеся этой темы.1

5058

Многим известен такой инструмент, как Wolfram Mathematica. Распространяется он совсем не бесплатно. Лицензия для личного использования стоит около $440 (~34 500 руб. в день написания статьи). Для коммерческого использования и для учебных заведений цена ещё выше.

Но это не самая большая проблема. Если рассматривать Wolfram Mathematica как инструмент для учёного, то всё нормально — пользователи просто приобретают ПО для своих личных целей. Когда дело доходит до применения Wolfram как языка программирования, становится намного сложнее.

Допустим я написал код и хочу его распространить. Никто не мешает мне выложить исходники на GitHub, однако тот, кто заинтересуется моим проектом должен будет иметь лицензию чтобы просто его запустить. В итоге распространение свободного ПО на Wolfram остаётся в рамках относительно узкого сообщества пользователей с очень отличающимися интересами.

Я не считаю, что эта статья должна стать какой-то прорывной и заставить людей массово переходить на Wolfram, однако, очень надеюсь, что среди читателей всё же найдутся интересующиеся.

Wolfram Engine

Изображение внешней ссылки

Wolfram Enginewolfram.com

Wolfram Engine — бесплатная реализация языка Wolfram, которая содержит в себе полную стандартную библиотеку языка — ка Mathematica, но без пользовательского интерфейса. То есть это само ядро Wolfram, взаимодействие с которым осуществляется через интерфейс командной строки.

На мой взгляд отсутствие UI — это очень маленькая плата за то, что у пользователей появится законная и бесплатная версия языка. Конечно же, те кто привык к Mathematica, не смогут быстро перестроится к другому рабочему процессу, но при наличии терпения работа с Wolfram Engine может стать более эффективной, чем с Mathematica.

Теперь рассмотрим процесс установки Wolfram Engine:

  1. Переходим на страницу загрузки.
  2. Выбираем подходящую версию и скачиваем.
  3. После скачивания необходимо получить лицензию — для этого нужно зарегистрироваться или авторизоваться в учетной запись account.wolfram.com.
  4. Запускаем установщик и следуем инструкции.
  5. После установки в консоли и выполняем команду wolframscript.
  6. При первом запуске ядра необходимо ввести учетные данные из шага 3.

После выполнения действий выше Woflram Engine готов к использованию — вместе с ним устанавливаются ещё две утилиты: Wolfram Script и Wolfram Player. Первая — утилита командной строки, которая по сути является расширением стандартного интерфейса командной строки ядра.

Вторая — программа для просмотра блокнотов Mathematica и вычисляемых документов. Редактировать и выполнять код с её помощью нельзя, но если блокнот был подготовлен должным образом, в нём будут работать все заранее выгруженные интерактивные объекты. Получается таким образом Wolfram Player можно использовать для запуска подготовленных программ.

Hello World

Теперь напишем первую программу. Откроем консоль и запустим ядро:wolframscript

После чего можно будет использовать его в режиме интерпретатора. Введём следующую команду:Print["Hello, World!"]

Первая традиционная программа заработала — ниже должна была напечататься строка: "Hello, World!":

Бесплатные инструменты для Wolfram Language 1

В режиме интерпретатора

Другой способ — запустить код напрямую из командной строки (без запуска интерпретатора). Для этого достаточно в консоли выполнить следующее:wolframscript -code 'Print["Hello, World!"]'

Бесплатные инструменты для Wolfram Language 2

Выполнения строки с кодом из консоли

И третий способ — создать скрипт (обычно это файлы с расширениями .m, .wl, .wls), добавить туда код и выполнить его в консоли:

Бесплатные инструменты для Wolfram Language 3

Скрипт в текстовом редакторе

Бесплатные инструменты для Wolfram Language 4

Выполнения скрипта в консоли

Wolfram Script

Изображение внешней ссылки

WolframScript for the Command Line: Execute Wolfram Language Code Anywherewolfram.com

Как было сказано выше, это расширение интерфейса командной строки. В общем случае Wolfram Script может устанавливаться совершенно отдельно и работать с любым ядром Wolrfam. То есть на локальном компьютере может и не быть Wolfram Engine или Mathematica, но при помощи Wolfram Script можно подключиться к удаленному ядру на другом компьютере или же в облако Wolfram Cloud и запускать команды там, при этом получая вывод в консоль. Например так можно выполнить код в облаке:wolframscript -cloud -code 'Print["Hello, World!"]'

Ниже мы рассмотрим еще несколько полезных опций командной строки.wolframscript -function WL wolframscript -fun WL

Данная опция позволяет указать на то, что исполняемый код является не просто скриптом, а функцией, в которую необходимо передать аргументы.wolframscript -args ARGS wolframscript -- ARGS

Здесь думаю объяснения не требуются. Это способ указать что далее идет набор аргументов командной строки.wolrfamscript -signature TYPE wolrfamscript -s TYPE

Эта опция позволяет задать типы аргументов по порядку. Список доступных типов довольно большой и сводится он в итоге ко всем заголовкам выражений Wolfram, которые язык может интерпретировать из строки или числа. Для проверки, что данный тип поддерживается можно просто посмотреть содержимое переменной$InterpreterTypes

в интерактивном режиме (не все из перечисленных типов можно будет конвертировать из строки):

Бесплатные инструменты для Wolfram Language 5

Список типов, которые может интерпретировать Wolfram

Три опции, показанные выше, лучше всего использовать вместе.

Вот как это будет выглядеть в командной строке:wolframscript -fun Print -s String -args "Hello, World!"

Бесплатные инструменты для Wolfram Language 6

Все опции вместе

Есть ещё одна хитрость. В функцию можно превратить целый скрипт. Необходимо просто указать это в его первой строке, тогда Wolfram Script будет воспринимать вызов скрипта именно как вызов функции с некоторыми аргументами. Это даёт возможность очень сильно упросить процесс обработки аргументов командной строки. Важно, что код скрипта должен заканчиваться точкой входа — функцией.

Создадим простой скрипт и превратим его функцию. Пусть код просто печатает числа Фибоначчи от нулевого и до указанного. Код скрипта будет выглядеть так:#!/usr/bin/env wolframscript -function -signature Integer Function[n, Fibonacci[Range[0, n]]]

Сохраним его с именем Fib.wls и вызовем этот файл из консоли:wolframscript -file Fib.wls -args 10

Бесплатные инструменты для Wolfram Language 7

Результат в консоли

При этом, благодаря тому, что мы указали сигнатуру функции, то по умолчанию будет происходить проверка типов аргументов:

Бесплатные инструменты для Wolfram Language 8

Wolfram Script не смог интерпретировать string1 как целое число

Выше результат напечатался в виде списка в фигурных скобках. В данном случае это представление ещё достаточно удобное, однако, часто бывает так, что результат выполнения функции — это картинка, график, таблица, трёхмерный массив и вообще что угодно. Всё вышеперечисленное неудобно просматривать в консоли. Для таких случаев существует специальная опция:wolframscript -format FORMAT wolframscript -f FORMAT

Она позволяет экспортировать результат в нужное представление. Все доступные аргументы — это, по сути, список доступных форматов для функции Export. Например, ниже те же числа Фибоначчи в виде таблицы и json:

Бесплатные инструменты для Wolfram Language 9

В виде таблицы и массива json

Так же стоит перечислить те форматы, которые будут использоваться чаще всего: XML, CSV, TSV, PNG, JPEG, RawJSON, RawData, String, Buinary и так далее. Кроме того результат выполнения кода и экспорта в какой-либо формат затем очень легко записать в файл просто перенаправив выход консоли.

Известные проблемы

При работе с Wolfram Script пользователи могут встретиться со многими трудностями, которые зависят от конкретной программы, которая используется в качестве терминала. У меня например при запуске скрипта в Windows Terminal + PowerShell не выводится результат — вместо этого PowerShell решает запускать саму по себе утилиту Wolfram Script в отдельном окне, где всё и происходит.

При работе в консоли MINGW64, которая устанавливается на Windows вместе с git, нельзя запустить скрипт как исполняемый файл, так как MINGW воспринимает первую строку в скрипте как путь к платформе для запуска — то есть так, как это происходит в Linux. На Windows этого пути не существует. Хотя в Windows файлы с расширением .wls по умолчанию являются исполняемыми — более того, они легко запускаются двойным щелчком или в PoserShell или CMD.

Так же в PoserShell будут трудности при передачи нескольких строк как нескольких аргументов если там содержатся кавычки или пробелы.

А в Linux нельзя использовать сокращённый вариант передачи аргументов --, так как он воспринимается как «системный» символ, а не как опция для Wolfram Script.

Но после некоторых экспериментов с предпочтительным типом терминала можно понять оптимальный способ работы с Wolfram Script.

Wolfram Player

Изображение внешней ссылки

Wolfram Player for Notebookswolfram.com

Его можно установить как отдельную программу или вместе с Wolfram Engine.

Как было сказано выше, это программа для просмотра интерактивных документов без возможности их редактирования. Но также в данной программе отключен пользовательский ввод данных — то есть, увы, не получится сделать документ, который будет импортировать файлы чтобы затем их обрабатывать. Основной функционал — просто открытие блокнотов (.nb) и вычисляемых документов (.cdf). Ниже скриншоты:

Бесплатные инструменты для Wolfram Language 10

Блокнот созданный в Mathematica

Чтобы посмотреть как будет выглядеть вычисляемый документ – создадим его сами при помощи Wolfram Script. Пусть это будет то же, что и выше, но с возможностью интерактивно менять начальные условия. Код скрипта будет вот такой:CDFDeploy["SIR.cdf", Manipulate[ sol = {S, II, R, T} /. NDSolve[Join[ {S'[t]==-a*S[t]*II[t], II'[t]==a*S[t]*II[t]-b*II[t], R'[t]==b*II[t], T[t]==S[t]+II[t]+R[t]}, {T[0] == T0, II[0] == II0, R[0] == R0}]/. {a -> 0.07, b -> 1.08}, {S, II, R, T}, {t, 0, 50}][[1]]; Plot[Evaluate[Through[sol[t]]], {t, 0, 50}, PlotTheme->"Scientific",PlotLegends->{"S(t)", "I(t)", "R(t)", "T(t)"}, GridLines->Automatic, PlotStyle->Thick], {{T0, 50.05}, 0.0, 100.0}, {{II0, 0.1 * 50.05}, 0.0, 100.0}, {{R0, 0.0}, 0.0, 100.0} ] ]

Выполним его и получим файл SIR.cdf. Его можно будет открыть в Wolfram Player и график будет интерактивно меняться при изменении положения бегунков:

Бесплатные инструменты для Wolfram Language 11

Подготовленный вычисляемый документ

При выгрузке в вычисляемый документ Wolfram сохраняет в него все необходимые определения и интерактивные объекты. Поэтому выполнять код не требуется — график с манипуляторами работает сразу после открытия.

Редакторы кода

По очевидным причинам, рассмотренного ранее недостаточно, чтобы эффективно работать с языком Wolfram. Ведь весь этот код надо ещё как-то написать. Использовать Vim или блокнот не очень удобно, хотя вполне возможно, если требуется написать что-то короткое (опытные пользователи Vim со мной не согласятся и по-своему будут правы).

Поэтому далее мы рассмотрим несколько бесплатных редакторов кода, которые имеют расширения специально для Wolfram Language. Я не буду описывать подробно процесс установки редакторов, так как он во всех случаях практически одинаков, но указать какие расширения необходимо поставить стоит.

Visual Studio Code

Изображение внешней ссылки

Visual Studio Code – Code Editing. Redefinedcode.visualstudio.com

Скачиваем установочный файл со страницы загрузки и устанавливаем по инструкции. После установки необходимо перейти в менеджер расширений и в строке поиска ввести Wolfram:

Бесплатные инструменты для Wolfram Language 12

Лично я использую официальное расширение, которое разработали  в Wolfram Research. Однако можно попробовать и некоторые другие — их функционал примерно одинаковый.

Теперь посмотрим как же выглядит код на Wolfram в этом редакторе:

Бесплатные инструменты для Wolfram Language 13

Пример кода — пакет для создания ботов в Telegram

Очень удобно то, что в VS Code и других текстовых редакторах легко запустить консоль, в которой можно проверять работоспособность кода. Выглядеть это будет вот так:

Бесплатные инструменты для Wolfram Language 14

Тестирование функции в терминале редактора

На этом мы перейдём к следующему редактору кода, но к Visual Studio Code еще вернемся ниже.

GitHub Atom

Изображение внешней ссылки

Sunsetting Atom – The GitHub Blogatom.io

Установка данного редактора ещё проще и быстрее. Необходимо просто скачать установочный файл и запустить — редактор установится автоматически в папку пользователя и сразу же запустится.

После запуска, как и в предыдущем случае, переходим в менеджер расширений и ищем расширения по ключевому слову Mathematica (или Wolfram, но тогда строка поиска и расширение, которое я выбрал, не помещаются на одной странице). Я использую расширение от разработчика Fitzse:

Бесплатные инструменты для Wolfram Language 15

Менеджер расширений Atom — в него легко перейти из Welcome Guide сразу после запуска

Полезная функция расширения для Atom: в нём по умолчанию работает автодополнение с пометкой типа имени (функция, переменная или встроенное имя) и для системных функций, и для всех имён, используемых в текущем файле:

Бесплатные инструменты для Wolfram Language 16

Пример авто-дополнения – в списке предложения не зависимо от регистра

Sublime Text

Изображение внешней ссылки

Sublime Text – Text Editing, Done Rightsublimetext.com

Ещё один популярный редактор кода. В отличии от рассмотренных выше, он не был написан на Electron, поэтому в среднем, по моим ощущениям, работает чуть-чуть быстрее: быстрее открывает большие файлы, нет тормозов при вызове авто-дополнения и так далее.

Стандартная установка: необходимо просто скачать инсталлятор и следовать инструкциям. После этого перейти в менеджер расширений. Сделать это можно при помощи сочетания клавиш Ctrl + Shift + P или в основном меню Preferences > Package Control:

Бесплатные инструменты для Wolfram Language 17

Меню Sublime Text для перехода в менеджер расширений

После чего в поле ввода необходимо написать Install Package или выбрать этот пункт:

Бесплатные инструменты для Wolfram Language 18

Доступные действия менеджера

Далее в открывшемся поле поиска необходимо ввести как обычно ключевое слово Wolfram:

Бесплатные инструменты для Wolfram Language 19

Поиск нужного расширения

После установки, как это было выше для файлов с кодом на Wolfram, станет доступна подсветка синтаксиса и автодополнение для системных имён и имён, используемых в текущем документе:

Бесплатные инструменты для Wolfram Language 20

Пример авто-дополнения и подсветки кода- в списке предложений указаны типы имен

Jupyter Notebook

Изображение внешней ссылки

Project Jupyter | Homejupyter.org

Изображение внешней ссылки

Free Download | Anacondaanaconda.com

Изображение внешней ссылки

GitHub – WolframResearch/WolframLanguageForJupyter: Wolfram Language kernel for Jupyter notebooksgithub.com

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

Такой способ удобен, если необходимо только один раз запустить исполняемый скрипт с аргументами, чтобы он выполнял свою работу в фоне. Но работа в консоли становится не так удобна, если вам необходимо в ручном режиме проверить работу множества функций с множеством параметров и часто их комбинировать.

Блокноты Mathematica с этим справляются просто отлично — в них легко писать код и проверять результат выполнения. Есть ли альтернативы? Конечно — использовать блокноты Jupyter. Обзор Jupyter Notebook самого по себе выходит за рамки этой статьи, однако основные шаги по установке мы всё же рассмотрим.

Для начала нам потребуется сама среда Jupyter. Если вы используете Linux, то ничего объяснять не надо — подробная инструкция есть по первой ссылке под заголовком. Установка Jupyter выполняется при помощи утилиты apt.

Если вы используете Windows и не знакомы с Python и Jupyter, лучший вариант — это установить пакет Anaconda по второй ссылке. Необходимо просто следовать инструкциям. При установке очень важно отметить пункт, в котором предлагается добавить пути к исполняемым файлам в системную переменную PATH. Вместе с Anaconda установится не только Python, но и автоматически установится среда Jupyter Notebook (и многое другое). Вот так будет выглядеть окно приветствия Anaconda:

Бесплатные инструменты для Wolfram Language 21

Стартовое окно Anaconda — из него можно запустить нужную утилиту

Из всего многообразия на скриншоте выше в дальнейшем нам понадобится Jupyter Notebook. В теории можно было бы использовать и JupyterLab, но он, увы, не работает с ядром Wolfram.

Следующий шаг — добавление ядра Wolfram в Jupyter. Для этого, в первую очередь, необходимо скачать проект WolframLanguageForJupyter от разработчика Wolfram Research — третья ссылка под заголовком. После того как проект будет скачан на локальный компьютер, необходимо открыть терминал в корневой папке и выполнить следующее (предполагается что Wolfram Engine и Wolfram Script установлены):wolframscript -file configure-jupyter.wls add

Данная команда автоматически создаст в конфигурации ядер Jupyter новое ядро для языка Wolfram. Чтобы попробовать его, снова откроем навигатор и запустим Jupyter Notebook нажатием кнопки Launch, откроется браузер по умолчанию и обзор директории пользователя:

Бесплатные инструменты для Wolfram Language 22

Обзор домашней директории пользователя в Jupyter

Перейдём в любую доступную папку и нажмем кнопку «Новый» (я искренне прошу прощения у всех читателей за то, что им приходится видеть русифицированный интерфейс Jupyter). В выпадающем списке выберем ядро Wolfram Language. Далее откроется новый блокнот. Выглядеть он будет примерно так:

Бесплатные инструменты для Wolfram Language 23

Я решил не обращать внимания на проблемы с локализацией и любой ценой дописать статью

Готово. Теперь в ячейках можно писать код на язык Wolfram и выполнять его прямо в блокноте. Конечно же, конкретно для языка Wolfram пока что пользовательский интерфейс и возможности среды далеки от того, что есть в Mathematica (да даже далеки от того что есть в этом же Jupyter для Python).

Подсветки кода и автодополнения нет, а результаты исполнения команд могут быть только двух типов: текст и картинка. В картинку конвертируется абсолютно всё, что не является текстом. Это не очень большое разнообразие, но всё же лучше того, что мы видели в консоли. Ниже несколько примеров:

Бесплатные инструменты для Wolfram Language 24

Решение уравнения и странный аттрактор системы Лоренца

К сожалению, манипуляторы, интерактивные объекты, таблицы, графики и многое другое не будет здесь работать. Также нельзя будет изменять графики непосредственно в ячейке вывода при помощи встроенных в UI Mathematica-инструментов.

И одна из интересных фич Mathematica — возможность просто перетаскиванием превратить результат выполнения в код — тоже не доступна. Но сама по себе возможность работать с ячейками и сохранять свою работу в виде блокнота — это уже прекрасно.

nteract

Изображение внешней ссылки

nteract: write your next code-driven story.nteract.io

Будем считать, что мы уже установили Jupyter, Wolfram Engine и они работают вместе. Тогда можно воспользоваться альтернативной средой для работы с блокнотами .ipynb — nteract.

Скачиваем по ссылке под заголовком и выполняем стандартную установку. После того как NTeract установится, просто запустим его и создадим новый пустой блокнот. Если ядро Wolfram было ранее добавлено правильно,яя то оно автоматически появится и в nteract:

Бесплатные инструменты для Wolfram Language 25

Меню выбора ядра для создания нового блокнота

Здесь будет доступно то же, что и в Jupyter Notebook:

Бесплатные инструменты для Wolfram Language 26

Площадь шарнирного многоугольника

Из плюсов nterat можно выделить то, что в нём по умолчанию больше настроек. Также очень удобно то, что данную программу можно использовать в качестве программы по умолчанию для открытия файлов с расширением .ipynb. И в моём случае более приятный пользовательский интерфейс.

Visual Studio Code + Jupyter

Вот мы и вернулись к редактору VS Code. Как я заметил выше, ни в Jupyter, ни в nteract нет подсветки кода. Однако в редакторе VS Code есть расширение, которое позволяет открывать, редактировать и выполнять код в блокнотах .ipynb. Конечно же, в этом случае, если установлено расширение для языка Wolfram, оно будет так же работать и в ячейках блокнота. Разработчик расширения — Miscrosoft, оно очень популярно и проблем с его установкой возникнуть не должно. Вот оно в менеджере расширений VS Code:

Бесплатные инструменты для Wolfram Language 27

Расширение для VS Code

После установки расширения с его помощью можно будет открывать уже существующие блокноты и создавать новые. Чтобы создать новый блокнот, необходимо использовать сочетание клавиш Ctrl + Shift + P, открыть меню команд и выбрать создание нового блокнота (первая строка на скриншоте):

Бесплатные инструменты для Wolfram Language 28

Команда для создания нового блокнота

После этого откроется новый блокнот, в котором точно так же можно выполнять код на языке Wolfram. Предварительно нужно выбрать ядро:

Бесплатные инструменты для Wolfram Language 29

Ячейки теперь с подсветкой кода, но результат так же текст и картинки

Если таким образом использовать VS Code, то разработка на языке Wolfram становится ещё проще. Ведь в VS Code тогда можно одновременно редактировать и пакеты с исходным кодом и сразу же проверять их работу в интерактивных блокнотах:

Бесплатные инструменты для Wolfram Language 30

Пример кода пакета и его применения в одном окне редактора

Atom + Hydrogen + Jupyter

Примерно то же самое можно проделать и для редактора Atom. Устанавливаем расширение Hydrogen от разработчика nteract:

Бесплатные инструменты для Wolfram Language 31

Менеджер пакетов Atom

Когда расширение установлено, его необходимо настроить. Для этого нужно открыть настройки (кнопка settings на скриншоте выше) и добавить сопоставление языков "wolfram language": "Mathematica" вот так:

Бесплатные инструменты для Wolfram Language 32

После этого выполнение кода станет доступно непосредственно в файлах с исходным кодом на Wolfram — то есть в скриптах и пакетах. Чтобы выполнить код, нужно выделить строку целиком с кодом (или несколько) и нажать сочетание клавиш Shift + Enter. Вот как это выглядит:

Бесплатные инструменты для Wolfram Language 33

Выполнение кода прямо в файле .wls

Eclipse + Wolfram Workbench

Eclipse Packages | The Eclipse Foundation – home to a global community, the Eclipse IDE, Jakarta EE and over 350 open source projects…eclipse.org

Изображение внешней ссылки

Wolfram Workbench: Eclipse-based IDE for the Wolfram Languagewolfram.com

До сих пор мы рассматривали либо текстовые редакторы, либо интерактивные среды. В последней части обзора речь пойдёт о среде разработки Eclipse. Она очень популярна и не нуждается в дополнительном представлении.

Для установки необходимо просто скачать подходящий архив (например Eclipse IDE for Java Developers) и распаковать его в любую доступную директорию. Затем запустить исполняемый файл eclipse.exe. Перед запуском убедитесь, что у вас установлена Java и путь к бинарным файлам добавлен в системную переменную PATH.

Следующим шагом необходимо установить расширение Wolfram Workbench. Открываем меню и выбираем пункт Help > Install New Software.

Бесплатные инструменты для Wolfram Language 34

Окно приветствия IDE

После этого откроется окно, в котором необходимо добавить нажатием кнопки Add новое хранилище, откуда можно установить расширение. В поле ввода можно ввести любое имя и адрес хранилища http://workbench.wolfram.com/update.

Бесплатные инструменты для Wolfram Language 35

Добавление хранилища с расширением

Далее необходимо просто следовать инструкциям по установки, и в конце расширение Wolfram Workbench будет готово к работе. Его можно добавить на основную панель инструментов Eclipse кнопкой в правом верхнем углу:

Бесплатные инструменты для Wolfram Language 36

Добавление «перспективы» для разработки на Wolfram

Последнее, что нужно выполнить — это указать корректные пути до исполняемых файлов. Открываем настройки и ищем пункт Wolfram. Далее указываем правильные пути в исполняемым файлам как показано на скриншоте ниже:

Бесплатные инструменты для Wolfram Language 37

Изменение пути до ядра по умолчанию

Всё готово для создания нового проекта. Далее просто нажимаем выбираем пункт Create a project и выбираем необходимый тип проекта:

Бесплатные инструменты для Wolfram Language 38

Меню выбора проекта на языке Woflram

Следуя инструкции, необходимо будет также ввести имя проекта и его расположение:

Бесплатные инструменты для Wolfram Language 39

При создании нового проекта стоит отметить все пункты в этом окне

После выполненных выше действий Wolfram Workbench сгенерирует шаблонную структура файлов для типичного пакета на языке Wolfam (пакеты и работа с Wolfram Workbench — обширная тема, которая заслуживает отдельного внимания, поэтому мы не будет долго останавливаться на ней):

Бесплатные инструменты для Wolfram Language 40

Структура типичного пакета

Вот и всё. Далее уже можно писать код. Wolfram Workbench позволяет запуска код в режиме отладки, поддерживает подсветку синтаксиса, отображает встроенную документацию, умеет запускать юнит-тесты, собирать пакетные файлы, которые затем пригодны для установки по сети или прямо из файла.

Одна из самых полезных функций — Wolfram Workbench — умеет собирать документацию для пакетов неотличимую от документации для встроенных функций. На этом мы закончим краткий обзор Wolfram Workbench.

Полезные ссылки

Wolfram Language & System Documentation Centerreference.wolfram.com

Официальная документация к языку Wolfram Language. Определённо одна из лучших документаций среди всех существующих.

reference.wolfram.com

Документация к Wolfram Workbench.

Изображение внешней ссылки

Mathematica Stack Exchangemathematica.stackexchange.com

Раздел посвящённый Wolfram Mathematica на всем известном сайте вопросов и ответов.

ВКонтакте | ВКонтактеvk.com

Русскоязычная мини-версия Mathematica Stack Exchange. Открытая группа, где можно задавать любые вопросы, касающиеся языка Wolfram, и получать оперативные ответы. В том числе на вопросы стараюсь отвечать я. Если у вас возникнет какой-то — смело можете написать его на стене этой группы. Кроме вопросов-ответов на стене публикуются интересные материалы, касающиеся языка Wolfram.

Изображение внешней ссылки

An Elementary Introduction to the Wolfram Language by Stephen Wolframwolfram.com

Электронная книга — введение в язык от CEO компании Wolfram Research.

Изображение внешней ссылки

Wolfram Language Tutorial: Fast Introduction for Programmerswolfram.com

Ещё одна короткая методичка.

Книга одного из сотрудников компании Wolfram Research, в которой очень хорошо раскрывается сама концепция Wolrfam как языка программирования.

Wolfram Cloud

Выше я упоминал об облаке Wolfram, однако в этой статье мы не будем останавливаться на нём. Всё же здесь мне хотелось сделать обзор инструментов, которыми можно пользоваться на локальном компьютере. Обзор возможностей Wolfram Cloud — это отличная тема для отдельной статьи.

Заключение

В заключении хочу поблагодарить всех, кто дочитал до этого пункта. Я очень надеюсь что кто-то из читателей заинтересуется языком Wolfram и благодаря моему труду сможет выбрать для себя правильный инструмент для работы с ним.

В первую очередь мне хотелось показать читателям, что у интересующихся языком, кроме Mathematica, есть ещё достаточно широкий выбор средств. Если же у читателей возникнут вопросы и предложения, обязательно напишите о них в комментариях или свяжитесь со мной любым другим способом — я буду рад ответить на них.