~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ 115BD1D062F66AB0648B55C028E23F73__1716762240 ✰
Заголовок документа оригинал.:
✰ Wolfram Language - Wikipedia ✰
Заголовок документа перевод.:
✰ Язык Wolfram — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/Wolfram_Language ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/11/73/115bd1d062f66ab0648b55c028e23f73.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/11/73/115bd1d062f66ab0648b55c028e23f73__translat.html ✰
Дата и время сохранения документа:
✰ 16.06.2024 09:14:24 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 27 May 2024, at 01:24 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

Язык Wolfram — Википедия Jump to content

Вольфрам Язык

Из Википедии, бесплатной энциклопедии
Вольфрам Язык
Парадигма Мультипарадигма : переписывание терминов , функциональное , процедурное , массив.
Разработано Стивен Вольфрам
Разработчик Вольфрам Исследования
Впервые появился 1988 год ; 36 лет назад ( 1988 )
Стабильная версия
14.0.0 [1] / 9 января 2024 г .; 5 месяцев назад ( 09.01.2024 )
Дисциплина набора текста Динамичный , сильный
ТЫ Кросс-платформенный
Лицензия Собственный
Расширения имен файлов .nb, .m, .wl
Веб-сайт www .вольфрам /язык / Отредактируйте это в Викиданных
Основные реализации
Математика , Математика , Expreduce , MockMMA
Под влиянием
Под влиянием

Язык Wolfram ( / ˈ w ʊ l f r əm / WUUL -frəm ) является запатентованным, [7] общий очень высокого уровня многопарадигмальный язык программирования [8] разработан компанией Wolfram Research . Он делает упор на символьные вычисления , функциональное программирование и программирование на основе правил. [9] и может использовать произвольные структуры и данные. [9] Это язык программирования математической программы символьных вычислений Mathematica . [10]

История [ править ]

Язык Wolfram Language был частью первоначальной версии Mathematica в 1988 году. [11]

Символические аспекты движка делают его системой компьютерной алгебры. Язык может выполнять интегрирование, дифференцирование, манипуляции с матрицами и решать дифференциальные уравнения, используя набор правил. Кроме того, в первоначальной версии была представлена ​​модель ноутбука и возможность встраивания звука и изображения согласно Теодора Грея . патенту [12]

Wolfram также добавил функции для более сложных задач, таких как 3D-моделирование. [13]

Название для языка было окончательно принято в 2013 году, когда компания Wolfram Research решила сделать версию языкового движка бесплатной для пользователей Raspberry Pi , и им нужно было придумать для нее имя. [14] Он был включен в рекомендуемый комплект программного обеспечения, который Raspberry Pi Foundation предоставляет новичкам, что вызвало некоторые разногласия из-за проприетарного характера языка Wolfram. [15] Планы по портированию языка Wolfram на Intel Edison были объявлены после презентации платы на выставке CES 2014, но так и не были выпущены. [16] В 2019 году была добавлена ​​ссылка на совместимость библиотек Wolfram с игровым движком Unity , предоставляющая разработчикам игр доступ к функциям языка высокого уровня. [17] [18]

Синтаксис [ править ]

Синтаксис языка Wolfram Language в целом похож на M-выражение 1960-х годов LISP с поддержкой инфиксных операторов и вызовов функций с «нотацией функции».

Основы [ править ]

Язык Wolfram записывает основные арифметические выражения с помощью инфиксных операторов .

(* Это комментарий. *) 

 4   +   3 
 (* = 7 *) 

 1   +   2   *   (  3   +   4  ) 
 (* = 15 *) 
 (* Обратите внимание, что умножение можно опустить: 1 + 2 (3 + 4) *) 

 (* Деления возвращают рациональные числа: *) 
 6   /   4 
 (* = 3/2 *) 

Вызовы функций обозначаются квадратными скобками:

Sin  [  Pi  ] 
 (* = 0 *) 

 (* Это функция для преобразования рациональных чисел в числа с плавающей запятой: *) 
 N  [  3   /   2  ] 
 (* = 1,5 *) 

Списки заключаются в фигурные скобки:

Список шансов  =  {  1  ,  3  ,  5  } 
 (* = {1,3,5} *) 

Синтаксический сахар [ править ]

Язык может отклоняться от парадигмы М-выражений, когда доступен альтернативный, более удобный для человека способ отображения выражения:

  • В этом языке используется ряд правил форматирования, в том числе TeXForm для наборных выражений и InputForm для языкового ввода.
  • Функции также можно применять с помощью префиксного выражения @ и постфиксное выражение //.
  • Производные можно обозначать апострофом. '.
  • Сами инфиксные операторы считаются « сахаром » для системы обозначения функций .

А FullForm форматтер очищает входные данные: [19]

Полная форма  [  1  +  2  ] 
 (* = Плюс[1, 2] *) 

Функциональное программирование [ править ]

каррирование Поддерживается .

Сопоставление с образцом [ править ]

Функции в языке Wolfram Language фактически представляют собой случай простых шаблонов замены:

F  [  х_  ]   :=   х   ^   0 

The := является «оператором SetDelayed», поэтому x не ищется сразу. x_ это синтаксический сахар для Pattern[x, Blank[]], т.е. «пробел» для любого значения, заменяющего x в остальной части оценки.

Итерация пузырьковой сортировки выражается как:

sortRule   :=   {  x___  ,  y_  ,  z_  ,  k___  }   /;    y  >  z   ->   {  x  ,  z  ,  y  ,  k  } 
 (* Правило[Условие[Список[PatternSequence[x, BlankNullSequence[]], Pattern[y, Blank[]], Pattern[z, Blank[]], PatternSequence [k, BlankNullSequence[]]], Greater[y, z]], List[x, z, y, k]] *) 

The /; оператором является «условие», так что правило применяется только тогда, когда y>z. Три подчеркивания — это синтаксис для BlankNullSequence[], для последовательности, которая может быть нулевой.

ЗаменаПовторенная //. Оператор можно использовать для многократного применения этого правила, пока не прекратятся изменения:

{   9  ,   5  ,   3  ,   1  ,   2  ,   4   }   //  .    sortRule 
 (* = replaceRepeated[{ 9, 5, 3, 1, 2, 4 }, sortRule] *) 
 (* = {1, 2, 3, 4, 5, 9} *) 

Система сопоставления шаблонов также легко обеспечивает интеграцию и вывод на основе правил. Ниже приведены выдержки из пакета правил Rubi: [20]

(* Правило взаимности *) 
 Int  [  1  /  x_  ,  x_Symbol  ]   := 
   Log  [  x  ]; 
  (*Правило степени *) 
 Int  [  x_  ^  m_  .   ,  x_Symbol  ]   := 
   x  ^  (  m  +  1  )  /  (  m  +  1  )   /; 
  FreeQ  [  m  ,  x  ]   &&   NeQ  [  m  ,  -1  ] 

Реализации [ править ]

Официальная и эталонная реализация языка Wolfram Language находится в системе Mathematica и связанных с ней онлайн-сервисах. Это закрытый исходный код. [21] Однако компания Wolfram Research выпустила анализатор языка под с открытым исходным кодом лицензией MIT . [22] Парсер изначально был разработан на C++ , но в 2023 году был переписан на Rust . Справочник находится в открытом доступе . [23]

За более чем три десятилетия существования языка Wolfram с открытым исходным кодом также был разработан ряд сторонних реализаций . MockMMA Ричарда Фэйтмана 1991 года имеет историческое значение как потому, что является самой ранней повторной реализацией, так и потому, что получил разрешение от Wolfram о прекращении противоправных действий. Современные по состоянию на апрель 2020 года все еще поддерживаются. включают Symja в Java , expreduce в Golang и SymPy на основе Mathics . [24] Эти реализации сосредоточены на базовом языке и системе компьютерной алгебры, которую он подразумевает, а не на функциях онлайн-базы знаний Wolfram.

В 2019 году [25] Компания Wolfram Research выпустила бесплатное программное обеспечение Wolfram Engine, которое будет использоваться в качестве библиотеки программирования в некоммерческом программном обеспечении. [26]

Именование [ править ]

Язык был официально назван в июне 2013 года и использовался в качестве серверной части Mathematica и других технологий Wolfram более 30 лет. [27] [28]

См. также [ править ]

Ссылки [ править ]

  1. ^ «История продолжается: анонс версии 14 языков Wolfram Language и Mathematica» . Сочинения Стивена Вольфрама . 09.01.2024 . Проверено 10 января 2024 г.
  2. ^ Вольфрам, Стивен. «Тини Вельтман (1931–2021): от языка ассемблера к Нобелевской премии — сочинения Стивена Вольфрама» . Stephenwolfram.comwritings . Проверено 22 января 2021 г.
  3. ^ Медер, Роман Э. (1994). Программист Mathematica® . Academic Press, Inc. с. 6. ISBN  978-1-48321-415-3 .
  4. ^ «Вопросы и ответы по языку Wolfram» . Вольфрам Исследования . Проверено 5 декабря 2016 г.
  5. ^ Somers, James. "The Scientific Paper Is Obsolete". The Atlantic. Retrieved 2018-04-10.
  6. ^ Хикки, Рич. «Книжная полка Clojure» . Amazon.com . Архивировано из оригинала 3 октября 2017 г. Проверено 6 мая 2020 г.
  7. ^ «Открытый код Wolfram, открытый исходный код, открытые данные, открытые ресурсы» . www.wolfram.com . Проверено 3 февраля 2023 г.
  8. ^ «Заметки для экспертов по языкам программирования о языке Wolfram Language» . Вольфрам.com . Проверено 5 ноября 2015 г.
  9. ^ Перейти обратно: а б «Как нам следует называть язык Mathematica? — Блог Стивена Вольфрама» . Блог.stephenwolfram.com. 12 февраля 2013 г. Проверено 5 ноября 2015 г.
  10. ^ «Празднование первой четверти века Mathematica — блог Wolfram» . Блог.wolfram.com. 23 июня 2013 года . Проверено 5 ноября 2015 г.
  11. ^ Вольфрам (1988). Mathematica, система для выполнения математических вычислений на компьютере.
  12. ^ Хейс, Брайан (1 января 1990 г.). «Мысли о математике» (PDF) . Пиксель .
  13. ^ «Центр языковой и системной документации Wolfram» . Ссылка.wolfram.com . Проверено 5 ноября 2015 г.
  14. ^ «Размещение языка Wolfram (и Mathematica) на каждом Raspberry Pi — блог Wolfram» . Блог.wolfram.com. 21 ноября 2013 года . Проверено 5 ноября 2015 г.
  15. ^ Шерр, Ян (22 ноября 2013 г.). «Премиум-программное обеспечение Mathematica, бесплатное и бюджетное для Raspberry Pi — CNET» . News.cnet.com . Проверено 5 ноября 2015 г.
  16. ^ Дэниел А.Дж. Соколов (22 ноября 2014 г.). «Intel's Edison: система Pentium в формате SD-карты | heise online» . Heise.de . Проверено 5 ноября 2015 г.
  17. ^ «Язык Wolfram скоро будет интегрирован в Unity» . Гамасутра. 10 марта 2014 г. Проверено 5 ноября 2015 г.
  18. ^ «Есть ли способ использовать язык Wolfram Language в Unity3D?» . Вольфрам. 2017. Архивировано из оригинала 19 июля 2017 года . Проверено 11 апреля 2017 г.
  19. ^ "Полная форма" . Документация по языку Wolfram .
  20. ^ «Добро пожаловать в Rubi, интегратора на основе правил» . Интеграция на основе правил .
  21. ^ МакЛун, Дж. (2 апреля 2019 г.). «Почему технология Wolfram Tech не имеет открытого исходного кода — дюжина причин — блог Wolfram» .
  22. ^ «codeparser: анализировать исходный код языка Wolfram Language как абстрактные синтаксические деревья (AST) или конкретные синтаксические деревья (CST)» . Гитхаб . Вольфрам Рисерч, Инк.
  23. ^ «Открытые материалы от Wolfram: открытый код, открытый исходный код, открытые данные, открытые ресурсы» . www.wolfram.com .
  24. ^ Саймон. «Существует ли реализация языка Mathematica с открытым исходным кодом?» . Обмен стеками Mathematica .
  25. ^ Вольфрам, Стивен (21 мая 2019 г.). «Запуск сегодня: бесплатный движок Wolfram Engine для разработчиков — статьи Стивена Вольфрама» .
  26. ^ «Бесплатный движок Wolfram Engine для разработчиков» . www.wolfram.com . Проверено 19 января 2021 г.
  27. ^ Кастренакес, Джейкоб (14 ноября 2013 г.). «Wolfram объявляет о «самом важном» проекте: языке программирования, моделирующем мир» . Грань . Проверено 21 сентября 2023 г.
  28. ^ «Приближается что-то очень большое: наш самый важный технологический проект — сочинения Стивена Вольфрама» . сочинения.stephenwolfram.com . 13 ноября 2013 г. Проверено 21 сентября 2023 г.

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: 115BD1D062F66AB0648B55C028E23F73__1716762240
URL1:https://en.wikipedia.org/wiki/Wolfram_Language
Заголовок, (Title) документа по адресу, URL1:
Wolfram Language - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)