0,0
рейтинг
7 апреля 2014 в 23:18

Разработка → Введение Стивена Вольфрама в язык Wolfram перевод

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

Если сравнивать с существующими системами, программирование на Wolfram в чем-то схоже с программированием на Python: все предельно интуитивно и абсолютно любые возможности доступны из коробки. Но в отличие от Python, Wolfram ориентирован не на простую алгоритмизацию, а на обработку данных и научные исследования (хотя это не мешает программировать на нем в процедурном стиле, но это будет похож на использование goto в ООП). Если сейчас у вас в голове звучат слова MATLAB или Mathcad, то честно признаюсь, что с этими системами не знаком. Однако, я знаком со SciLab и Maxima, которые обычно ставят в один ряд. И на последние 2 экземпляра, технологии Wolfram ну ни как не похож. Это как Windows 2000 и iOS.
Однако, все это лишь сугубо мои скромные впечатления от использования Wolfram Mathematica, синтаксис которой составляет внушительную часть грядущего Wolfram Language. А о том что на самом деле грядет, лучше послушать того, кто в 1979 году заварил всю эту кашу с новым типом науки — Стивена Во́льфрама в озвучке Романа Осипова из Русскоязычной поддержки Wolfram Mathematica и моем переводе с Английского.


Оригинал
Перевод: Stephen Wolfram
Владислав Глаголев @Himura
карма
20,0
рейтинг 0,0
Пользователь
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Спецпроект

Самое читаемое Разработка

Комментарии (116)

  • +15
    После этого видео мое мнение того, что Wolfram писали полубоги только усилилось.
    • +14
      Ну сам Вольфрам себя точно полубогом считает.
  • +1
    У меня нет слов, хочу программировать на нём.
  • НЛО прилетело и опубликовало эту надпись здесь
    • +2
      Тем что Mathematica это программа, а Wolfram Language — это язык. И в Mathematica частично используется Wolfram Language. Разумеется, часть эта довольно большая, но основное отличие в том что Wolfram Language не зависит от платформы. Он работает и в облаках и на армах в отличие от Mathematica
      • НЛО прилетело и опубликовало эту надпись здесь
        • +2
          С# не зависит от платформы. Как же Mono?
          Новым языком это было всегда. Когда Математика только появилась. Просто они не выделяли это как язык, а это был просто синтаксис системы. А теперь они доросли до такого момента, когда захотели называть это отдельным языком
          • НЛО прилетело и опубликовало эту надпись здесь
            • 0
              Ага, на армах? Везде где есть math есть и окошки. Апо поводу платформ — тут разница только в принципах: называть синтаксис программы языком или нет. Язык — это нечто абстрактное, а синтаксис программы от программы не отвязывается
            • НЛО прилетело и опубликовало эту надпись здесь
      • +1
        Я что-то не понимаю, язык — это просто инструкции, что делать. Но кто-то эти инструкции должен же выполнить, предоставив необходимые данные (citydata, например). Т.е. среда все равно будет, а какая она — под десктоп (Mathematica), что-то облачное или для raspberry pi — не так и важно, не правда ли?
        Так что Wolfram Language — это в моем понимании не язык, а некое объединяющее название всего того, что в Wolfram'e сейчас делают.
        • +1
          вообще неплохое определение ))) Да, Wolfram Language без Wolfram не заработает )
        • 0
          язык — это просто инструкции, что делать
          

          не только, есть языки — «хочу получить это»

          см. Категории языков программирования

          но здесь речь не о том, прошу прощения
  • +11
    Wolfram Mathematica довольно интересная и мощная система, но у неё есть серьёзные проблемы. Так как всё храниться в символьном виде, имеет большое значение когда именно производятся вычисления, и это всё очень не интуитивно. И, похоже, что сами создатели языка и стандартных функций в этом путаются.

    Определим, например, такую функцию:
    f[x_] := NMinimize[{x^2 + y^2 + x y, -5 <= y <= 5}, y][[1]]
    Эта функция численно вычисляет минимум выражения.
    Подставляем в f любые значения: f[0.6], f[3.2] — всё прекрасно вычисляется.
    Можно даже построить график полученной функции:
    Plot[f[x], {x, -1, 1}]
    График прекрасно строиться, значит можно сделать вывод, что функция работает.
    Теперь попытаемся численно подсчитать её интеграл:
    NIntegrate[f[x], {x, -1, 1}]
    Казалось бы, никаких проблем быть не должно, функция вычисляется от любых аргументов, значит численно её проинтегрировать дело техники. Тем не менее, это не работает. Вываливается куча ошибок о том, что подынтегральное выражение вычисляется в нечисловые значения (хотя мы знаем, что это не так). Дело в том, что функция NIntegrate пытается упростить подынтегральное выражение перед вычислением и для этого подставляет в f символ x, а не число, с чем функция NMinimize не может справиться.

    Приведённую выше проблему мне как-то удавалось исправить. Но я не раз сталкивался с подобными проблемами, и не всегда понятно в чём именно проблема, так как по отдельности всё работает, но когда начинаешь соединять всё вместе, уже ничего не работает и вываливается куча непонятных ошибок.
    • +2
      Как бы то ни было, при использовании других средств, проблем с решением аналогичных задач будет намного больше. Самое крутое это то, что в языке огромная куча средств для того чтобы ходить другими путями. Я не вникал в вашу задачу, но мне кажется, что если вы все равно в численном виде считаете, можно хотя бы даже просчитать функцию на нужном диопазоне и интегрировать набор точек
      • 0
        А просчитать с какой дискретностью? Суть интеграла в том что dx->0 то-есть дельта разбиения аргумента для вычисления значения суммы на интервале стремится к 0 что и дает нам интегральное значение функции на интервале. Ваша методика к сожалению не сработает.
        • +1
          ну вам же не нужна символьная форма. Возьмите «наглазок» ту дискретность, которая даст необходимое количество знаков после запятой.
          • +1
            Вопрос только как этот глазок определить, особенно с учетом того что сначала нужно вычитать численные значения подинтегральной функции а потом уже сам интеграл.
            • –1
              Так ведь преимущество Wolfram Language же и есть в том что все пересчитывается в мгновение ока и подобрать на глазок не составит труда если пересчитать всю последовательность раз 10. Сделайте одну ячейку c полным алгоритмом и \[Epsilon] верху и исполняйте сколько нужно пока не станет очевидно что вы достигли необходимой точности. Сомневаюсь что необходимая вам точность на данной задаче сможет повесить современный проц более чем на пару секунд
              • +12
                Ну да, а преимущество оки — в том, что она не тяжелая и ее можно дотолкать, если не заведется.

                Хотя, в случае stepik777 все просто — NMinimize выполняется слишком рано — до подстановки. Надо ее задержать:

                NIntegrate[Hold[f[x]], {x, -1, 1}]
      • 0
        Если я сам возьму точки, то это значит, что я сам и проинтегрирую, а я хотел воспользоваться встроенной функцией NIntegrate, которая как раз для этого и предназначена.
    • –1
      Кстати, ваша проблема обсуждается дальше уже специалистами в сообществе поддержки
    • +3
      f[x_?NumericQ] := NMinimize[{x^2 + y^2 + x y, -5 <= y <= 5}, y][[1]]
      и можно интегрировать и делать что хочешь
  • +13
    Наложил 13 минут высоконаучных кирпичей
  • –1
    Выглядит на первый взгляд круто. Радует то, что в язык сразу интегрированы знания, символьные вычисления, различные алгоритмы. Можно ли это трактовать как небольшой шаг к построению сильного ИИ?
  • +3
    Чем-то напоминает IPython Notebook только в далеком будущем.
    • +1
      Скорее наоборот, потому что IPython Notebook как раз копирует внешнее устройство документа (ноутбука) Mathematica.
  • 0
    Кто может рассказать, как технологически устроена платформа? Например, я решил сделать у себя на сайте какой-нибудь виджет на данном языке. Что где будет обрабатываться и как выводиться, учитывая, что это как-то будет работать в облаке? Пока я не понял, какая существует связь между возможностями языка и традиционными технологиями.
    • 0
      У вас будет некоторое количество вычислиельной мощи в облаке и все запросы от юзеров вашего сайта которые тыкают в виджет будут считаться на вашем облачном аккаунте.
      • 0
        Виджет будет прослойкой в виде JS или как?
        • +1
          Это будет API. Вы сами напишете виджет, который будет делать запросы к API на чем хотите. Вы пишете код на вольфраме и создаете из него API. И API возвращает результаты по соотв. запросам
          • 0
            Вас про технологию спрашивали. API бывают построены на разных. У Вольфрама там REST?
  • +1
    Мне кажется, что для программирования на Wolfram нужнл вводить сертификацию по отдельным модулям… От геометрии, через финансы, попутным ветром через медицину. И в каждом, как утверждает автор тысячи алгоритмов, зарание декларированых фич и пре-подготовленных функций.
    При просмотре выидео возникло два чувства: восхищение мощью языка и чувством собственной несостоятельности :(

    Снимаю шляпу пред создателями такого.
    • +1
      Если вы имеете ввиду сертификацию специалистов, то вы глубоко ошибаетесь. Программировать на Wolfram могут абсолютно все! Они проводят летний лагерь у себя там и на этом мероприятии учат мелких кодить на Mathematica. Так вот мелкие ТАКИЕ алгоритмы в конце выдают что просто глаза на лоб лезут. Сертификация нужна там где реально сложно что-то делать, а тут все ультра просто. Во всех областях
      • 0
        И все заранее знают все функции Вольфрама во всех его областях и со всеми их дополнительными свойствами, угу.
        • 0

          Такого полного и удобного хелпа как в Математике, я еще ни в одной программе не встречал. Discoverability новых функций в этом хелпе очень высокий.

  • +1
    Что-то я не увидел «языка». Забавный интерпретатор, который способен показывать объекты изображений как картинки, но где там язык-то? Что в нём нового?

    Подозреваю, что что-то есть, только в видео это не раскрыто.
    • +2
      Я думаю, здесь нет никакой магии, но не стоит недооценивать их труд. Если по-простому, то они взяли символьное функциональное ядро Mathematica, которое само по себе очень мощное, доработали и расширили его, а затем заставили его работать со своей огромной базой знаний — основной для Wolfram Alpha. Получилась вот такая штука, которую в теории можно расширять до бесконечности. :)

      О том, как Mathematica работает внутри хорошо написано в этой книге (pdf)
      • +8
        Погодите, а где тут вообще про программирование? То есть интерактивная оболочка, которая много умеет — допустим. Но я вообще ничего про язык не услышал. Типизация, судя по увиденным фрагментам, динамическая. ООП? Функции первого класса? Замыкания? Лямбды?
        • +1
          Язык — это то, на чем в этом видео псали. Если будет понятнее, там все начинается с большой буквы и повсюду [квадратные скобки]
          А ООП это прошлый век по сравнению с Wolfram Language. Функции первого класса там все существующие. Замыкания тоже повсеместно. лямбды на их языке называются чистыми функциями.
          • +3
            Вот я по поводу того, что в рассказе ни слова про _язык_ и бухтел.

            наследование у них множественное? чисто абстрактные классы существуют? выведение типов, pattern matching?
            • +3
              Это НЕ ООП!!! Но в ваших категориях я пока могу ответить:
              Наследование множественное. можно писать Plot[x^2,{x,0,1}] а можно Plot[x^2,{x,0,1},PlotStyle->Red] это называется опции и они не обязательные, но их много
              Классов никаких нету ибо это не ООП
              Вы уже сказали что динамическая типизация. Да, это так.
              Pattern Matching — это один из самых детских примеров на Wolfram
              • +3
                Если я правильно понял, то что вы показываете, это необязательные аргументы в функцию. К ООП действительно никакого отношения не имеет.

                Вопрос: как делается pattern matching для динамических типов?

                ТО есть я пишу что-то вида:

                a = 1 «one»
                |2 «two»
                |3 «three»
                и т.д. При динамической типизации, кто ругнётся на то, что я пропустил 4, 5 и все остальные натуральные числа?

                Короче, моё возмущение сводится к тому, что были описаны возможности штатных библиотек (даже если они интегральная часть языка, это всё равно прикладные вещи), но не был описан сам язык.
                • +2
                  Я не понял ваш пример, возможно я уже слишком сильно прожег мозги этим языком и не могу мыслить обычным ООП. Язык этот сугубо и полностью прикладной. И его разработчики ставят это в приоритет. Синтаксис языка описывать нет смысла — он очень прост. Кстати, там нет библиотек — она одна и она называется Wolfram Language. Все едино.
                  Что по-вашему было не описано из языка? Что как не возможности языка описывают язык? Язык именно такой. Программирвоание на нем избавляет от необходимости помнить всякие термины и думать о всяких конструкциях, просто пишешь что нужно в любой форме и оно говорит результат
                  • +7
                    Кусочек кода был — это вольная интерпретация pattern matching в ocaml/haskell.

                    Что не было описано в языке? Например, создание своих функций. Ветвление и циклы. Как выглядит проверка типов данных? (если я попрошу посчитать результат деления «один» / «five» что мне выдадут в ответ?) Есть ли полиморфизм функций? Как, собственно, pattern matching выглядит? Как выглядят контейнерные типы данных? (списки/словари\хеш-таблицы/множества). Есть ли разделение между мутабельными и немутабельными типами данных? Как применить лямбда функцию двух аргументов к списку с применением карринга?

                    Короче, покажите примеры программ, а не интерактивного «потыкались в шелле».
                    • +1
                      создание своих функций f[x_] := x^2
                      ветвление If про циклы забудьте, это будет смотреться как goto. на все есть Map[]
                      Проверка типов данных
                      In[1]:= 1 \[Element] Integers
                      Out[1]= True
                      In[2]:= 1/«five»
                      Out[2]= 1/(«five»)
                      потому что все символьно
                      остальное сами найдете, ибо в этом посте нет цели учить юзеров языку. habrahabr.ru/post/216831/ Вот тут есть реальный пример, да и вообще их много
                    • 0
                      Короче, покажите примеры программ, а не интерактивного «потыкались в шелле».

                      Посмотрите на язык Mathematica — на данном этапе это оно и есть. Книга, ссылку на которую я давал выше об этом как раз. Видео же не об этом, не о синтаксисе языка.
        • НЛО прилетело и опубликовало эту надпись здесь
        • 0
          Если я правильно понял, это мультипарадигмальный динамически типизированный язык с большой примесью функциональных возможностей.
          • –3
            и с кучей того, для чего нет общепринятых терминов и что не вписывается в стандартные критерии.
            • НЛО прилетело и опубликовало эту надпись здесь
              • –3
                Тут 13 минут Стивен распинался на тему того что это язык, который новую представляет собой новую парадигму. Например, база знаний о мире. Например, идея того что все является символом. Встроенный Cloud Deployment. Ну и т.д.
  • 0
    как-то очень стало надо найти в символьном виде собственные векторы матрицы всего-то 4х4. И только бумажка с ручкой мне помогли (много бумажек и три ручки), а все эти символьные крутыши (Mathematica, Maple, Wolfram) сдулись. Хотя в целом, эта всякая автоматизация конечно удобна.
    • –2
      Если вы умеете делать ТАКИЕ вычисления на бумажке, то могли бы просто ваш алгоритм автоматизировать в Mathematica. Вообще, она не сдулась на этой задаче и результат нашла. Только он очень огромный. Но дальше с ним работать, думаю, можно если начать что-то подставлять
      • +1
        Вообще-то сдулись оба: и «клен» и «математика». Собственные числа могут становиться кратными время от времени, как раз «если начать что-то подставлять», если Вам это о чем-нибудь говорит.
        • –2
          Мне лично это говорит, но довольно мутно. С этим надо работать чтобы все помнить. Уверен что вашу задачу можно решить на Mathematica — попробуйте спросить в русскоязычной поддержке. Как недавно написал Роман Осипов «Почти всегда когда говорят о недостатке Mathematica это связано с тем, что с ней попросту мало знакомы.»
          • 0
            Если мои задачи начнет решать за меня Вольф, я просто уволюсь, как и все научные работники. Кстати именно этим и грозил как-то создатель Вольфа — якобы его прога заменит людей в науке. Пока его замысел выглядит смешно, несмотря на все потуги. Посмотрим, что дальше будет — вдруг правда ученых Вольф заменит, поржём тогда вместе с Вашим Романом Осиповым и русскоязычной поддержкой.
            • 0
              Раз вспомнили про меня, может быть приведете пример вашей матрицы 4x4?
    • 0
      Корни характеристического многочлена тоже на бумажке считали?
    • НЛО прилетело и опубликовало эту надпись здесь
      • 0
        если просто, то проблема в том, что можно подобрать такие цифорки для символьного вида (который у Вас «нормально находит»), что станет ненормально — например определитель матрицы из собственных векторов окажется равным нулю. В алгоритме проблема.
        • НЛО прилетело и опубликовало эту надпись здесь
          • 0
            мне тоже очень «понравилось», когда впервые не смог обратить матрицу из собственных векторов. Не знаю насколько нужен этот пример, но секрета никакого нет: проверял решение этих ребят
    • 0
      Специально для Вас:
      image
      • 0
        вы немного не поняли, задача найти это в символьном виде. У вас нет цифр вообще — есть только переменные
        • 0
          Вы ищете решение в общеи виде для любых 4х4 матриц? Или все-таки есть какие-то ограничения?
          С четыремя переменными вот такой пример решается на ура:
          eigenvectors{{a,b,c,d},{a,c,b,d},{b,c,d,a},{b,a,c,d}}
          • 0
            это не общий вид. общий вид — это 16 переменных. каждая уникальна. Но такое решение займет много листов
    • 0
      Проблема не в CAS, а в бездумном их применении. Попросить CAS обратить матрицу от зависимых переменных, а потом жаловаться на неправильный ответ это оригинально.
      • 0
        я про ANSYS похожее слышал, что надо долго тренироваться, чтоб дзен снизошел.
  • +1
    Хм, что-то туповат видимо, но не очень понял — как и где этот… не сказать, что язык, скорее систему, можно потрогать руками? На www.wolfram.com/language/ ссылка «Start Write your own code» помечена как «Coming Soon». Или пока только на примере Mathematica?
    • 0
      Вообще не только. Чуть больше чем в Mathematica уже есть на Raspberry Pi. Но там на самом деле совсем чучуть больше. Только работа с устройствами и все…
  • +2
    Прямо-таки первый шаг к Language as a Service (а ведь совсем недавно смеялись над первоапрельским «Processor as a Service»). Все ключевые зависимости живут в облаке, все сложные расчеты производятся готовыми алгоритмами, причем их реализация может быть абсолютным черным ящиком для пользователя. Скажем, если запустить сложный расчет по большому количеству данных, который хорошо поддается распараллеливанию, «хостер языка» может незаметно для пользователя запустить MapReduce, и вернуть ему результат и всякое такое. Звучит чертовски интересно, но в то же время несколько пугающе.
    • 0
      не первый шаг, к примеру, ideone уже довольно давно предоставляет подобные услуги, только там языки «обычные», ну то есть общего назначения
      • 0
        Ideone это все же несколько другое. Фактически это просто «удаленный компилятор\интерпретатор», а киллер фича Wolfram в том, что он может связываться с Wolfram Knowledge Base, чтобы доставать оттуда самую различную информацию. Таким образом язык сам по себе не так уж и ценен, так как многие его возможности доступны только при подключении к кластерам Wolfram.
  • 0
    Все эти наработки действительно будут служить людям и станут массовыми только в том случае, если Стивен откажется от коммерции, и выложит код системы под открытой лицензией. Это действительно очень серьёзные достижения, но только тот, кто будет разрабатывать эти технологии открыто и прозрачно для людей сможет приобразить мир. Где ты, Линус символьной обработки данных?
    • –1
      Да ладно, разве опенсурс массов? Куда проще заплатить денег и получить реально качественный продукт. Попробуйте посчитать что-нибуть в Scilab — он опенсурсный
      • 0
        Линукс скачать не пробовали?
        • 0
          А почему вы решили что я не работаю с линуксами? Для некоторых задач это отличная система. Но она совсем не User-friendly. Слышали такое слово unixway? Он повсюду в опенсурсах. Это не добавляет преимуществ…
          • 0
            Если бы разработчики Ubuntu не рассылали бесплатно диски по всему миру, фиг бы ей кто-то сейчас пользовался.
            • 0
              Вы хотите чтобы технологиями Wolfram тоже никто не пользовался?
              (Странно, я думал что физические диски никто уже давно не покупает)
    • 0
      Вольфрам уже много лет бьётся над мессианскими задачами, стал успешным бизнесменом. Но одного не может понять. Мессией он сможет стать только открыв исходники под некоммерческой лицензией. Надо не рекламировать свой товар, а отдать его людям. Благо, он далеко не бедный человек.
      • +7
        Люди сделают из него глюченое говно. Как обычно.
        • 0
          На мой взгляд, это и сейчас глючное говно.
          Если по-вашему люди занимающиеся опенсурсом делают только говно, то Вы ошибаетесь.
          До Вас попытались донести идею альтруизма,
          а пока ваша цель бабло — вам ее не понять.
          Моя же цель «светлое будущее человечества».
          А Вольфраму похоже сложно выбрать между этими двумя целями, потому что его окружают такие люди как Вы.
          • –1
            ИМХО
    • –2
      Наработки из Mathematica давно служат людям. А массовым оно никогда не станет, потому что наука и наукоёмкие технологии никогда не были массовыми.

      Сравните стоимость Mathematica и MATLAB. Полный пакет Mathematica может себе позволить практически каждый (у кого ЗП >= 1000$), а MATLAB стоит десятки тысяч долларов. При этом Mathematica во многом превосходит MATLAB.

      Сейчас продукт разрабатывается командой крутых ребят, которые занимаются им десятки лет, душу в это вложили. А что будет, если всё это уйдёт в OpenSource? Большой вопрос. К тому же вокруг Mathematica большое сообщество, есть портал MathWorld и т. д.

      Всякие SciPy/Scilab/Octave и т. п. развиваются с черепашьей скоростью, никто особо не спешит реализовывать там революционные идеи и алгоритмы, многие штуки написаны в лоб без всяких оптимизаций. Очень многих вещей там нет, потому что просто некому их делать, потому что это OpenSource.

      А что там с другими OpenSource «аналогами»?
      Sage — развитие очень медленное. IPython Notebook стал развиваться более активно только после того, как им гранд дали, но им до Mathematica очень далеко.
      • +4
        Что значит «уйдёт» в open source? Ты как был координатором, так и остался. Просто другие люди могут видеть исходники, что-то допиливать для своих нужд и слать тебе патчи.
  • +13
    Больше похоже не на самостоятельный язык программирования, а на очень функциональный шелл.
  • +3
    Язык извлечение фактов и всяческого их преобразования? А например можно ли запрограммировать действия? Ну к примеру когда он захватил картинку с вебкамеры, а потом еще в динамике ее преобразовывал, я думаю очедивно что либо уже можно либо скоро станет можно извлекать из стрима действия (улыбнулся, подмигнул, открыл рот), вопрос в том, можноли добавлять действия на эти события. Ну т.е. сделать именно что приложения (event driven). Иначе это умная база данных c волшебным SQL.
    • 0
      Можно конечно. Он же показал что в динамике можно что угодно делать. Любые алгоритмы можно над этим изображением с камеры фигачить. Распознавание лиц делается в 3 строчки
      • +1
        не алгоритмы, а события на действия. Многопоточность, асинхронность, и все такое
        • 0
          а событие на действие это подмножество алгоритмов. Можно в любой момент сделать HTTP POST и включить свет в комнате.
          Многопоточность там присутствует, но я не понял как это связано с событиями. Многопоточность обычно приходится форсить
  • 0
    Wolfram ориентирован не на простую алгоритмизацию, а на обработку данных и научные исследования

    По-моему это очень сужает круг использование. Ну вот не занимаюсь я научными исследованиями, мне больше по душе играться с вебом, с консольными приложениями, написать простейшую игрушку на несколько человек. Я понимаю, что это не достойно настоящего программиста, но всё же мне это больше нравится. Тут мне Вольфрам поможет? Или придётся использовать «устаревшие» языки программирования из прошлого десятилетия/века?
    • 0
      Нет не поможет. Вы собираетесь забивать микроскопом гвозди. Гвозди забивать тоже необходимо, бесспорно. Иначе жить негде будет
      • +3
        Хорошо. Тогда я не буду пока выбрасывать свой набор молотков.
  • +5
    >Однако, я знаком со SciLab и Maxima, которые обычно ставят в один ряд. И на последние 2 экземпляра, технологии Wolfram ну ни как не похож. Это как Windows 2000 и iOS
    То есть как сравнивать мощнейшую ОС общего назначения способную работать на системах с 32 процессорами и однозадачную ОС для мобильных телефонов?
    П.С.
    Нет смысла раздувать пузырь из этой системы, это очень качественная вещь, но новой парадигмой программирования здесь и не пахнет.
    • +1
      Вот этим отличаются линуксойды от ценителей прекрасного )
      • +5
        Чем? Тем, что не приплетают бездумно абсолютно нелогичные аналогии? Или тем, что используют инструменты, а не онанируют на них? А может тем, что менее подвержены синдрому утенка?
        • –2
          для линуксойдов важны только функциональные возможности и не важно сколько раз и через какую жопу ходить чтобы достичь результата. Не важно сколько запоминать и не важно сколько печатать вручную. Думаю из представленных вами вариантов больше всего подходит «тем, что используют инструменты, а не онанируют на них».
          К сожалению, многим людям важны красота и удобство. И любят могут получать эстетическое наслаждение от процесса использования инструментов. В ваших критериях это называется рукоблудством.
          • 0
            >для линуксойдов важны только функциональные возможности и не важно сколько раз и через какую жопу ходить чтобы достичь результата. Не важно сколько запоминать и не важно сколько печатать вручную.
            С чего вы вообще взяли, что это так? Как будто той же Wolfram Mathematica под линукс нет. Кстати, напомню еще раз, вы сравнили windows 2000 и iOS, это совершенно разные инструменты для совершенно разных задач, их некорректно сравнивать и я на это указал. Возможно вы просто не компетенты и путаете iOS с Mac OS X, но тогда это исключительно ваша ошибка.

            >К сожалению, многим людям важны красота и удобство. И любят могут получать эстетическое наслаждение от процесса использования инструментов. В ваших критериях это называется рукоблудством.
            Есть разница между получением эстетического удовольствия от использования инструмента и онанированием на инструмент в сочетании с синдромом утенка. Я лишь сказал, что wolfram language это лишь количественное развитие идей, и ничего качественно нового он не привносит.
  • +1
    Захватом изображения с камеры никого сейчас не удивишь, и не удивишь функциями статистической обработки. Основное отличие, насколько я понял, — это крупнейшая база знаний, с которой это язык может работать из коробки. Плюс экспертная система, которая правильно (автоматически или с минимальным вмешательством программиста) эти знания связывает друг с другом. Вот это действительно магия.

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

    Интересно было бы нагрузить систему какой-нибудь реальной задачей и сравнить с решением этой задачи на других системах. Обычно как только дело доходит до реальных задач — от многих специализированных программ приходится отказываться, не подходят по той или иной причине.
  • +5
    Время идет, а Вольфрам все так же на пороге потрясающих возможностей и великих свершений.
  • 0
    Это так круто все. Но я могу заказать через вольфрам пиццу?)
    • 0
      С помощью Import[] можно делать HTTP запросы.
  • 0
    И тут я задался вопросом безопасности Language as a Service. Ниже немного паранойи, больших заговоров и пр.

    Организовали мы, скажем, медицинскую экспертную систему — выставляем диагнозы по симптомам, назначаем лечение, выписываем препараты.
    Проверили алгоритмы, прогнали по тестам, может быть даже сертифицировали как-то. И пустили в работу — пусть и в пробном режиме, под присмотром опытных специалистов.
    И все идет хорошо.
    Пока в дело не вступает Большой брат.
    Он дожидается момента, пока Вольфраму станут действительно доверять, а «живые» спецы отойдут на второй план.
    И тут он делает подлог данных (ведь мед. данные тоже хранятся в облаке, это так удобно и доступно для всего мира!), можно даже для определенного региона: скажем, глобально выявлять симптомы рака у жителей какой либо страны и назначать им соответствующую терапию, в т. ч. и лучевую. А на аппаратах лучевой терапии, управление которыми также к тому времени доверят Вольфраму (он ведь такой крутой), немножко «вывернем ручку» мощности. И получим целую страну облученных.

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

      И такой подход вполне закономерен и логичен. Хочешь чтобы все было подконтрольно только тебе — пожалуйста — нанимай специалистов, трать 30 лет на разработки и делай свою систему так как хочешь. Пользуешься чужой — уважай чужой труд, давший работу.
      • 0
        в такие аппараты терапии вряд ли будут
        А почему бы и нет? Аппарат, основываясь на ранее проведенных исследованиях, полностью автоматически выбирает оптимальные методы и зоны воздействия. Как, например, работает агрегат по лазерной коррекции зрения — там ведь, насколько я помню, всё основные процедуры (отрезать лоскут, спозиционировать лазер, рассчитать мощность, пальнуть им, положить лоскут на место) делает прибор.
        • 0
          Этот аппарат не подключен напрямую к интернету, т.е. загрузить в него деструктивный код, запрограммированный гораздо позже производства этого аппарата — малореально. А запрограммировать все заранее, предугадав ситуации на все случаи жизни тоже нельзя. Загрузите деструктивный код в устройство, произведенное 30 лет назад, например в «игру на экране» где волк ловит яйца или расстреливает уток. Вы не найдете ни среды ни документации. А если найдете, вам понадобится вникать в нее месяц и еще месяц писать этот деструктивный код, тогда как такие решения, как отключение, должны приниматься и исполняться оперативно. И кроме того, для аппарата терапии это малоэффективно — несколько пациентов он угробит, потом его снимут с эксплуатации.

          Единственно более-менее реализуемое технически решение — это блокировка использования. Это то, что можно заложить в программу и то, что можно заложить в некоторые сложные системы.
    • 0
      Для этого есть юнит-тесты. Или другие подобные тесты.
  • 0
    Раз никто ссылку из видео не дал, дам сам: reference.wolfram.com/language/
    • +1
      Ок. А попользоваться-то самим языком онлайн где?
  • 0
    Видео меня впечатлило (смотрел в оригинале и без звука), но перевод я не смог посмотреть: абсолютно никакой синхронизации между тем, как говорит человек на видео и речью переводчика.

    Уж лучше субтитрами, честное слово
  • НЛО прилетело и опубликовало эту надпись здесь

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.