Jump to content

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

(Перенаправлено с языка Wolfram )
Вольфрам Язык
Парадигма Мультипарадигма : переписывание терминов , функциональное , процедурное , массив.
Разработано Стивен Вольфрам
Разработчик Вольфрам Исследования
Впервые появился 1988 год ; 36 лет назад ( 1988 )
Стабильная версия
14.1.0 [1] / 31 июля 2024 г .; 5 дней назад ( 31.07.2024 )
Дисциплина набора текста Динамичный , сильный
ТЫ Кросс-платформенный
Лицензия Собственный
Расширения имен файлов .nb, .m, .wl
Веб-сайт www .вольфрам /язык / Отредактируйте это в Викиданных
Основные реализации
Mathematica , Mathics , 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 записывает основные арифметические выражения с помощью инфиксных операторов .

(* This is a comment. *)

4 + 3
(* = 7 *)

1 + 2 * (3 + 4)
(* = 15 *)
(* Note that Multiplication can be omitted: 1 + 2 (3 + 4) *)

(* Divisions return rational numbers: *)
6 / 4
(* = 3/2 *)

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

Sin[Pi]
(* = 0 *)

(* This is the function to convert rationals to floating point: *)
N[3 / 2]
(* = 1.5 *)

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

Oddlist={1,3,5}
(* = {1,3,5} *)

Синтаксический сахар

[ редактировать ]

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

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

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

FullForm[1+2]
(* = Plus[1, 2] *)

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

[ редактировать ]

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

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

[ редактировать ]

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

F[x_] := x ^ 0

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

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

sortRule := {x___,y_,z_,k___} /; y>z -> {x,z,y,k}
(* Rule[Condition[List[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]

(* Reciprocal rule *)
Int[1/x_,x_Symbol] :=
  Log[x];
(* Power rule *)
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» . Сочинения Стивена Вольфрама . 31 июля 2024 г. Проверено 31 июля 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. ^ Сомерс, Джеймс. «Научная статья устарела» . Атлантика . Проверено 10 апреля 2018 г.
  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 Language скоро будет интегрирован в 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
Номер скриншота №: 3d968edfc4abd523fc44803475b2c4b2__1722495540
URL1:https://arc.ask3.ru/arc/aa/3d/b2/3d968edfc4abd523fc44803475b2c4b2.html
Заголовок, (Title) документа по адресу, URL1:
Wolfram Language - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)