Как стать автором
Обновить

Комментарии 20

OsipovRoman не могли бы вы описать преимущества wolfram engine перед python в качестве языка для ML и DS?
Можно посмотреть на такое. Скорей всего из коробки будет гораздо более функциональным.
habr.com/ru/company/wolfram/blog/451640
нам хотелось бы держаться как можно дальше от множества вариантов рекламных уловок, которые, к сожалению, в последнее время стали слишком распространенными в области лицензий на программное обеспечение

всем желающим

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

Лицензионные ограничения весьма нешуточные. По сути, можно только играть дома по вечерам или в университете, привыкая к первой дозе. Любое коммерческое (и вообще production) использование требует покупки лицензии. Нет, всё понятно, бизнес есть бизнес, я только за, но упомянутые альтруистические декламации выглядят как подмена понятий.

Цена почти не кусается
Price per copy distributed: typically $5–$100 per Wolfram Engine, depending on volume and application
А у кого-то получилось так же красиво видеть графики/изображения в консоли?
У меня пишет «Out[16]= -Graphics-» и всё…
С помощью Export можете их выгружать в любой растровый формат на жесткий диск.
Да, но как сделано на видео?
Уточните, пожалуйста, что именно имеете ввиду? Если вам нужна интерактивная среда разработки — можете использовать:
Wolfram|One, Wolfram Cloud, Mathematica…
Статья немного похоже на воззвание «Почему же, черт возьми, меня, такого замечательного, никто не любит?»

И вроде бы преимущества Вольфрама, по сравнению с условным Питоном, очевидны — встроенные базы данных и алгоритмов.

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

С базами данных тоже не все очевидно – в реальном проекте почти наверняка понадобятся данные которых в языке нет. Какому проценту разработчиков может пригодиться база населения городов мира? В научном проекте – безусловно, подобные базы очень полезны. Но в разработке обычного ПО их польза сомнительна.

Преимущества безусловно важные, но есть два фатальных недостатка: объем и цена.

Wolfram Engine после установки занял у меня на диске 4 Гб. Если я захочу задействовать пару алгоритмов в своем продукте – должен буду убедить каждого клиента получить такой довесок. Это как минимум неудобно. Возможно есть вариант сократить базу оставив только нужные функции, не знаю.

Второе (и главное) – даже для собственного некоммерческого использования я должен получить на сайте временную лицензию и зарегистрировать продукт через интернет. А судя по фразе «В отличие от Mathematica, он не лицензирован для генерации результатов для коммерческого или организационного использования.» — я даже прав на результаты полученные дома не имею.

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

Иными словами, овчинка, конечно, хороша, но выделки явно не стоит.

На мой взгляд у языка Wolfram два пути:

Первый – выход на массовый рынок пойдя по пути игровых движков: предлагать бесплатную базовую версию, в том числе для коммерческого использования, но только при обороте менее заданной суммы (как Unity, 100 тыс. $ в год), при превышении оборота – ставить серьезный ценник для разработчиков. С конечных пользователей не брать денег совсем, даже упоминания не требовать. Иначе о массовости можно забыть.

Второй – оставаться в собственной нише «умного» вычислительного инструмента, для хобби проектов и научных исследований. Честно признать, что это не «язык программирования», а продвинутая система запросов к базе, обычное ПО с соответствующей системой лицензирования. По сути, все та же «Mathematica» только с базой побольше.

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

Wolfram Language не поддерживает ООП. Без ООП он никогда не станет полноценным языком программирования — для программистов, а не математиков.

В Wolfram Language есть ошибки. Но позиция Стивена в том, чтобы эти ошибки — не признавать. Некуда слать баг-репорты о неправильно посчитанных интегралах. Это удручает.

Многое, помимо математики, в Wolfram добавлено ради галочки и не доработано до логического завершения. Например — обработка звука в реальном времени невозможна в принципе. А жаль. Есть основные оконные функции, но нет Дольфа-Чебышева. Понятно, почему — определение через дискретный спектр не позволяет её определить аналогично другим через функцию времени. Но оконную функцию Тейлора вполне можно было добавить.

В вейвлет-преобразовании тоже не всё можно. Нельзя использовать произвольный вейвлет. Можно, только если всё с нуля делать — но с нуля всё что угодно можно сделать.

Утечки памяти имеют место быть. Диспетчер задач у меня открыт постоянно, чтобы вычислительные ядра грохать периодически. PVS-Studio им не помешал бы.

Оставлю дополнение к вашему комментарию.


Статья немного похоже на воззвание «Почему же, черт возьми, меня, такого замечательного, никто не любит?»

Абсолютно согласен с этим, хотя может быть сам Стивен Хьюгович и не пытался вкладывать такой посыл, но получилось похоже. Данная статья вышла относительно давно и на самом деле эта новость уже освещалась на хабре, хоть и юридически это был перевод другой статьи-конспекта.


С базами данных тоже не все очевидно – в реальном проекте почти наверняка понадобятся данные которых в языке нет. Какому проценту разработчиков может пригодиться база населения городов мира? В научном проекте – безусловно, подобные базы очень полезны. Но в разработке обычного ПО их польза сомнительна.

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


Второе (и главное) – даже для собственного некоммерческого использования я должен получить на сайте временную лицензию и зарегистрировать продукт через интернет. А судя по фразе «В отличие от Mathematica, он не лицензирован для генерации результатов для коммерческого или организационного использования.» — я даже прав на результаты полученные дома не имею.

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


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

Это на мой взгляд проблема даже больше чем сама по себе стоимость для разработчика. Полное отсутствие возможности пользоваться готовыми решениями для массового пользователя. Есть конечно Wolfram Player (Ранее CDF Player), который совсем бесплатен, но его функционал сильно урезан, да и все что он может делать по сути — просматривать красивые подготовленные презентации. Установка Wolfram Player — это отдельная история. Когда браузеры еще поддерживали такие расширения — думаю пользователи уже тогда не хотели устанавливать Adobe Flash Player, на который требуется 2 минуты и чуть-чуть свободного места, после чего он находится где-то в тени браузера, тогда как Wolfram Player весит больше гигабайта и его необходимо специально запускать, так как в качестве расширения браузера он тоже больше не поддерживается.


Первый – выход на массовый рынок пойдя по пути игровых движков: предлагать бесплатную базовую версию, в том числе для коммерческого использования, но только при обороте менее заданной суммы (как Unity, 100 тыс. $ в год), при превышении оборота – ставить серьезный ценник для разработчиков. С конечных пользователей не брать денег совсем, даже упоминания не требовать. Иначе о массовости можно забыть.

Второй – оставаться в собственной нише «умного» вычислительного инструмента, для хобби проектов и научных исследований. Честно признать, что это не «язык программирования», а продвинутая система запросов к базе, обычное ПО с соответствующей системой лицензирования. По сути, все та же «Mathematica» только с базой побольше.

Также абсолютно согласен с обоими предложениями. В данный момент Wolfram Research делает не очень быстрые шаги в сторону бесплатного использования и разработки, как будто пробует почву — об этом говорит и бесплатный (в том числе для коммерческого использования но с сильными ограничениями по ресурсам) Development Platform и Wolfram Player и совсем свежий Wolfram Engine, который кстати можно прикрутить к jupyter notebook. На мой взгляд можно также использовать и еще один путь, похожий на первый, предложенный вами. Это сделать полностью бесплатной для любого типа использования минимальную версию ядра, которая бы весила значительно меньше чем Wolfram Engine. Пусть эта версия содержала бы основной язык, работу с сетью, файловой системой, примитивную графику и что-то еще подобное, а за отдельную плату предоставлять доступ к встроенным базам, тренировочным данным для машинного обучения, серверам, запланированным задачам и прочему. Тогда можно было бы добиться легкого распространения как среди разработчиков, так и среди пользователей. К сожалению такой вариант малореалистичен из-за того, что с самого начала Wolfram Mathematica проектировалась с тесной интеграцией всех модулей, библиотек и пакетов друг с другом, а по итогу безболезненно разделить их уже не получится.


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

Периодически читаю статьи про вольфрам, но всё ещё с трудом понимаю где область его применения, кроме «быстро что-то посчитать и сделать красивый отчёт» и «даёшь хардкорную математику».

Есть в природе success story его применения в «обычных» проектах? Каком-нибудь онлайн магазине, например :-) или в геймдеве.
Вот тут Отраслевые решения… вы найдете кучу примеров применения в самых разных областях и компаниями.

Лично я применял в своей работе Wolfram со следующими заказчиками (Яндекс, Баласс, ВалентаФарм и др.).
Могу поделиться своим опытом использования. Я занимаюсь анализом геолого-геофизической информации и часть работы выполняю в специализированном ПО (что то вроде этого ). Но нередко возникает необходимость использовать относительно новые алгоритмы, которые ещё не появились в релизе этого специального ПО. В этом случае использую Wolfram – как мне кажется для таких задач неплохо походит. Один из примеров по этой ссылке .
OsipovRoman, подскажите имеется ли возможность управлять сторонними приложениями, например как AutoIt?
Также интересна возможность создания интерактивных приложений, например визуально создавать электрические подключения?
OsipovRoman, подскажите имеется ли возможность управлять сторонними приложениями, например как AutoIt?
Да, через Run, скажем. Подробнее см. Calling External Programs.

Также интересна возможность создания интерактивных приложений, например визуально создавать электрические подключения?
Это можно делать через Wolfram Cloud выгружая через Cloud CDF, см. скажем Web Operations. Сами интерактивы делаются на основе Manipulate, DynamicModule.
OsipovRoman, спасибо за ответ, но видимо и дальше буду смотреть в сторону AutoIt и draw.io
нам хотелось бы держаться как можно дальше от множества вариантов рекламных уловок

Очень иронично, что в статье про это сказано, а OsipovRoman добавляет свою рекламу в переводе статьи сделанном нанятыми переводчиками в корпоративном блоге компании, в которой он не работает.

Честно говоря, ожидал увидеть ссылку на GitHub. Платный язык программирования со своей закрытой экосистемой? Конечно, такие есть, SAP, 1C, FileMaker, MS Access они успешные, но в строго в своей маленькой нище.
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.