Бесплатная библиотека Wolfram Engine для разработчиков программного обеспечения

Бесплатная библиотека Wolfram Engine для разработчиков программного обеспечения
Оригинал перевода в моём блоге

Пара видео о Wolfram Language


Почему вы до сих пор не используете технологии Wolfram?

Что ж, такое случается, и довольно часто. В процессе общения с разработчиками программного обеспечения, они достаточно лестно отзываются о наших технологиях, например о том как они очень помогали им при обучении в школе или в проведении научных работ, но когда после этого я задаю им вопрос: «Итак, вы используете язык Wolfram Language и его вычислительные возможности в своих системах программного обеспечения?» Иногда они отвечают — да, но слишком часто наступает неловкое молчание, и после этого они говорят: «Нет, а разве это возможно?».

Бесплатная библиотека Wolfram Engine для разработчиков программного обеспеченияЯ хочу быть убежден, что ответом на этот вопрос всегда будет только: «Да, это просто!». И чтобы помочь Вам в этом, мы сегодня запускаем бесплатный движок Wolfram Engine для разработчиков (Free Wolf Engine for developers). Это полноценный движок языка Wolfram Language, который можно развернуть в любой системе и вызвать из любых программ, языков, веб-серверов или чего-либо еще…

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

Язык программирования Wolfram Language

Многие люди знают о языке Wolfram Language (часто только в форме программы Mathematica) как о мощной системе для интерактивных вычислений, а также для проведения научных исследований в области образования, при обработке данных, а также «Computational X» (области вычислений) для многих X (областей знаний). Однако все чаще его используют, не выводя на передний план, как ключевой компонент в построении производственных программных систем. Так что же сейчас может сделать бесплатная библиотека Wolfram Engine для разработчиков? — Она именно упаковывает язык таким образом, чтобы его было удобно вставлять во множество программных сред и проектов.

Здесь следует немного остановиться для разъяснений, каким я вижу язык Wolfram Language в сегодняшний реалиях. (Следует отметить, что вы можете сразу запустить его в Интернете в изолированной программной среде Wolfram Language). Самое важное — это осознать, что язык Wolfram Language в его нынешнем виде — это действительно принципиально новый программный продукт, а именно полнофункциональный вычислительный язык. На сегодняшний день, это чрезвычайно мощный (символьный, функциональный, … ) язык программирования, но при этом он представляет собой нечто гораздо большее поскольку он обладает уникальной особенностью, заключающейся в том, что в него встроено огромное количество вычислительных баз знаний: знания о алгоритмах, знания о окружающем мире, знания о том, как автоматизировать программные продукты и процессы.

Уже более 30 лет наша компания планомерно развивает все то чем является язык Wolfram на сегодняшний день. И я особенно горд тем (хотя это и достаточно тяжело, например обработка прямых видео трансляций!) насколько единообразный, элегантный и стабильный программный проект нам удалось воплотить во всем языке. В настоящее время в языке более 5000 функций, охватывающих практически все области: от визуализации до машинного обучения, обработки числовых данных (числовых вычислений), обработки графических изображений, геометрии, высшей математики, распознавания естественного языка, а также множества других областей знаний об окружающем мире (географии, медицины, искусства, инженерии, науки и т. д.).

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

Цель языка Wolfram Language проста, хотя при этом достаточно амбициозна: все что необходимо должно быть встроено в язык и при этом быть максимально автоматизированным.

Например: Необходимо проанализировать изображение? Нужны географические данные? Обработка звука? Решить проблему оптимизации? Информация о погоде? Создать 3D-объект? Анатомические данные? Распознавание на основе естественного языка (NLP)? Обнаружение аномалии во временном ряду? Отправить сообщение? Получить цифровую подпись? Все эти задачи (и многие другие) являются просто функциями, которые вы можете незамедлительно вызвать из любой программы, написанной на языке Wolfram Language. Отсутствует необходимость выискивать специализированные программные библиотеки, а все сразу встроено в язык.

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

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

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

Движок Wolfram

Бесплатная библиотека Wolfram Engine для разработчиков реализует полный язык Wolfram Language как программный компонент, который можно сразу подключить к любому стандартному стеку разработки программного обеспечения. Он может работать на любой типовой системной платформе (Linux, Mac, Windows, RaspberryPi,…; персональном компьютере, сервере, виртуально, распределенно, распараллеленно, встроенно). Вы можете использовать его напрямую из программного кода или из командной строки. Вы можете вызвать его из языков программирования (Python, Java, .NET, C/C++,…) или из других программ таких как Excel, Jupyter, Unity, Rhino и др. Вы можете вызывать его через различные средства передачи данных — сокеты, ZeroMQ, MQTT или через собственный встроенный протокол WSTP (протокол символьной передачи Wolfram). Он читает данные и записывает в сотни форматов (CSV, JSON, XML,… и др.), подключается к базам данных (SQL, RDF / SPARQL, Mongo, …) а также может вызывать внешние программы (исполняемые файлы, библиотеки…), из браузеров, почтовых серверов, API-интерфейсов, устройств, а также языков (Python, NodeJ, Java, .NET, R, …). В ближайшем будущем он также сможет подключаться напрямую к веб-серверам (J2EE, aiohttp, Django, …). Вы можете редактировать и управлять своим кодом на языке Wolfram Language с помощью стандартных сред IDE, редакторов и инструментов (Eclipse, IntelliJ IDEA, Atom, Vim, Visual Studio Code, Git и др.).

Бесплатный движок Wolfram для разработчиков имеет доступ ко всей базе знаний Wolfram посредством бесплатной базового плана подписки на сервис Wolfram Cloud. (Если вам не требуются данные в режиме реального времени, все может быть кэшировано и вы сможете запускать Wolfram Engine без подключения к сети). Базовая подписка на Wolfram Cloud также позволяет вам хранить свои методы API в облаке.

Ключевой особенностью языка Wolfram Language является то, что вы можете запускать точно такой же код где угодно. Вы можете запустить его в интерактивном режиме с помощью документов Wolframна персональном компьютере, в облаке или на мобильном телефоне. Вы можете запустить его в облачном API (или в виде запланированной задачи и т. д.), в общедоступном облаке Wolfram или в частном локальном облаке Wolfram Enterprise. А теперь, с использованием Wolfram Engine, вы также можете легко выполнить его внутри любого стандартного стека разработки программного обеспечения.

(Безусловно, если вы хотите использовать всю нашу «сверхархитектуру», охватывающую настольные, серверные, облачные, параллельные, встроенные, мобильные — и интерактивные, разработки и производственные вычисления — тогда хорошей отправной точкой для Вас будет Wolfram|One, которая доступна в виде бесплатной пробной версии).

Запуск в эксплуатацию

Итак, как же работает лицензирование бесплатной библиотеки Wolfram Engine для разработчиков? За последние 30 с лишним лет у нашей компании была очень простая модель использования: мы лицензировали наше программное обеспечение с целью получения прибыли, именно это и позволяет нам продолжать нашу долгосрочную миссию непрерывных, и энергичных научных разработок. Также мы сделали много важных программ доступными бесплатно — например, это наш основной сайт Wolfram|Alpha, Wolfram Player и доступ к облаку Wolfram в подписке по базовому тарифу.

Бесплатный движок Wolfram Engine для разработчиков предназначен для использования при разработке готового программного обеспечения. Вы можете использовать его для разработки готовых программных продуктов, как для себя лично, так и для компании, в которой работаете. Вы можете использовать его для разработки личных проектов дома, в школе или на работе. Вы можете использовать его для изучения языка Wolfram Language для будущих программных проектов. (Если вас это заинтересовало по этой ссылке доступна действующая лицензия).

Если у вас есть готовый программный продукт (система), готовый к запуску, вы также можете получить лицензию на производство с применением Wolfram Engine. Как именно это работает, будет зависеть от того, какой именно программный продукт вы создали и предлагаете. Существует несколько вариантов: для локально-индивидуального, для корпоративного развертывания, для распространения библиотеки Wolfram Engine с программным или аппаратным обеспечением, для развертывания на платформах облачных вычислений и для развертывания в Wolfram Cloud или Wolfram Enterprise Private Cloud.

Если вы создаете бесплатную систему с открытым исходным кодом, в этом случае вы можете подать запрос на бесплатную лицензию на использование Wolfram Engine. Кроме того, если у вас уже есть лицензия по типу лицензии Wolfram (того типа, который есть, например, в большинстве университетов), вы можете свободно использовать Free Wolfram Engine for Developers для всего, что прописано в лицензии.

Мы пока не успели рассмотреть все возможные нюансы использования движка Wolfram, но мы стремимся обеспечить простое лицензирование на долгосрочную перспективу (и мы работаем над тем, чтобы обеспечить постоянную доступность и работоспособность языка Wolfram Language, в автономном режиме). В настоящий момент у нас стабильные цены на все наши программные продукты, которые были созданы за 30 с лишним лет усердной работы, и нам хотелось бы держаться как можно дальше от множества вариантов рекламных уловок, которые, к сожалению, в последнее время стали слишком распространенными в области лицензий на программное обеспечение.

Применяйте на здоровье!

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

Целью бесплатного движка Wolfram Engine для разработчиков является именно облегчение для каждого пользователя применения языка Wolfram Language в любом проекте по разработке программного обеспечения и при создании систем, использующих его мощные вычислительные возможности.

Наша команда упорно работала для того, чтобы сделать Free Wolfram Engine для разработчиков, настолько простым в использовании и развертывании, насколько это вообще возможно в принципе. Но если вдруг что-то не сработает у вас лично или в вашем проекте на работе, тогда пожалуйста отправьте мне письмо! Если все в порядке, используйте то, что мы разработали для вас, и сделайте что-то новое на базе того, что уже создано!

О переводеПеревод поста Стивена Вольфрама «Launching Today: Free Wolfram Engine for Developers
«.

Выражаю огромную благодарность Петру Тенишеву и Галине Никитиной за помощь в переводе и подготовке публикации.

Хотите научиться программировать на языке Wolfram Language?
Смотрите еженедельные вебинары.
Регистрация на новые курсы. Готовый онлайн курс.
Заказ решения на Wolfram Language.

Источник: habr.com