Комментарии 5
Хочу еще раз отметить одну из самых важных концепций проекта. Все, что печатается в ячейках с CodeMirror-редактора - является выражением на Wolfram Language. Это одна из самых главных особенностей Mathematica, которая там работает в точности так же. Отличие только в способе реализации. Mathematica - это приложение рабочего стола написанное на QT, а WLJS - такое же приложение, но в виде веб-страницы. В нашем приложении есть интерпретатор, который работает в браузере и передает результат выполнения кода на рендер браузеру и CodeMorror-редактору, но и в Mathematica точно так же есть отдельное Fronend Kernel, которое является интерпретатором зашитым именно в сам UI написанный на QT, а результат интерпретации передается в QT для рендера.
Пользуюсь Wolfram Mathematica и хотел бы задать уточняющие вопросы или дать комментарии
Проприетарный формат/среда, который стоит дорого
Согласен, что зачеркнуто! Во-первых, платно, зато WR отвечает за совместимость всех алгоритмов, функций и пр. Во-вторых, у нас на предприятии, например, Python установить нельзя, а WolframMathematica можно - такие особенности лицензирования видимо!
Тяжелый интерфейс (в плане отзывчивости), нестабильный UI (краш, фриз это обычное дело)
Я не согласен. Интерфейс запускается быстро. Не видел каких-то тормозов.
Клиент и среда связаны, нельзя подключаться с телефона / тостера
Да и ладно! С телефона неплохо работает WolframCloud, сейчас уже не работает. Но не согласен прям записывать в недостатки?
Кривой экспорт в PDF и только статические графики / изображения
Согласен. Но наверно экспорт в pdf хорош только у AdobePhotoshop?;)
Нельзя встроить блокнот на сайт/блог
Совершенно согласен, этого не хватает для публикации результатов!
Сложно (неочевидно) как добавить другие языки или типы ячеек на низком уровне (нативно)
А чем плох функционал ExternalEvaluate?
Спасибо за фидбек, @ekimenkoav!
Может мне не везет, но с 2018 года работая из под Windows, было довольно напряжно. Примеры с SE, где я тоже плакался по этому поводу 1, 2... Как теоретику, мне часто требуется иметь 5-6 динамических окон, где пересчитываются графики и т.п., соотвественно одно неверное движение (скажем *нечисло* попало в расчет), возникает краснота и все падает) Я бы понял, если бы упало ядро, но падает весь интерфейс. Даже прокуртка оказывается дерганной, если есть динамические окна (Windows 11 Mathematica 12, OSX Mathematica 12). Я вижу что фронтенд как-то тесно связан с ядром, UI блокируется, если "тяжелые" вычисление не завершились. Идея была в том, чтобы отцепить ядро и UI, чтобы не важно что и как там вычисляется, как много динамики - ячейки и блокнот были сохранены и доступны пользователю.
Согласен, перегнул палку. Подправил в тексте.
Я имел ввиду, скажем, при работе с Юпитером, я могу ехать на поезде и проверять, что и как там с моим расчетом в другом городе/стране с телефона или компьютера друга. ;) Мне бывает часто приходится работать из разных мест по VPN, а тащить с собой ноутбук с математикой - это не всегда выходит, особенно если вовлечены CUDA, OpenCL или другие модули. RDP или TeamViewer это сразу боль, а Wolfram Cloud тут особо что-то серьезное не покрутишь. А здесь выходит, вы можете себе локальный Wolfram Cloud устроить. Я ни в коем случае не против нативного подхода с QT и т.п., однако при всей сложности интерфейса и расширяемости, возможно песочница с JS и DOM в этом случае подходит тоже неплохо.Лучше Adobe Illustractor ;).
Блокноты Юпитера в формате HTML мне всегда вызывали зависть. Длинное полотно, как на первых печатных текстовых терминалах и даже иногда какие-то графики можно потыкать. В PDF оттуда уже по-проще переводить, впрочем, так как фронтенд открытый с максимально плоской и простой структурой, можно любой экспорт прикрутить.
Мы шагнем еще дальше, так как фронт все равно это HTML документ, можно зарегистрировать URLProtocol, так, что при открытии страницы блога со встроенным блокнотом можно будет запустить ядро Wolfam Kernel по кнопке у себя локально, которое присоединится к открытой странице, и "попробовать" поработать в опубликованном ноутбуке (без возможности сохранения конечно) на чужом сайте.
7. Убрал этот пункт. Тут больше технический вопрос, как отображение сделать другим (условно не только текст, как результат выполнения, а что-то более сложное)
Свободная реализация языка со стандартными библиотеками уже давно доступна - это Wolfram Engine, который подобно Питону можно подключить в качестве скриптового языка к чему-угодно.
Строго говоря она не сводобна и совсем к чему угодно ее подключить не получится. Как минимум, для коммерческого использования придется заплатить. Причем платить придется не за лицензию для разработчика, а за экземпляр установки:
Согласен, тогда правильнее ограничено-свободная. Для своих проектов или внутри компании пользоваться можно, так как если проект в статусе демо или прототипа (что очень расплывчато) лицензия разрешает использование.
Мы в университете Аугсбурга крутим сервер на нем (WE) в лаборатории как БД для хранения и обработки данных под как раз такой лицензией. Вопросы от WRI начались только когда мы попросили разрешение на 5-10 запущенных одновременно процессов на одной машине. После ценника в 600 евро в год, решили оставить как и было 2.
Open-source блокнот Wolfram Language или как воссоздать минимальное ядро Mathematica на Javascript и не только