MediaLex-2015

 

 

Тур Илья Викторович

WOLFRAM LANGUAGE В ЛИНГВИСТИЧЕСКОМ МОДЕЛИРОВАНИИ

 УО "Брестский государственный университет им. А.С. Пушкина"

 

Wolfram Language — мультипарадигмальный язык программирования, разработанный компанией Wolfram Research (Wolfram Research Inc.), который служит основным связующим языком для системы Mathematica. Он был спроектирован как максимально универсальный язык, с акцентом на символьные вычисления, функциональное и логическое программирование. Его создатели заложили в него возможность реализовывать произвольные структуры и данные.

Несмотря на то, что разработки данного языка ведутся уже около 30 лет, официальное название у него появилось только в июне 2013 года. До этого во внутреннем употреблении использовались различные имена, такие как "M" и "язык Wolfram". Рассматривались также многие другие возможные названия, такие как "Lingua" или "Express". Также его часто называют "Mathematica", в честь его основной реализации.

Язык является очень большим и касается многих, часто специализированных, сфер знаний. Например, он обладает встроенными функциями для создания и приведения в действие машины Тьюринга, создания графики и аудио, анализа трёхмерных моделей и решения дифференциальных уравнений. Он также обладает обширной документацией, но в настоящее время не стандартизирован. Планируется проведение частичной стандартизации. Незавершённый предварительный выпуск языка уже состоялся. Данный язык будет в комплекте программного обеспечения, установленного на каждом компьютере Raspberry Pi. Днём рождения языка принято считать 28 мая 2013 года [1].

Также были разработаны мощные механизмы для развёртывания данного языка. По словам Стивена Вольфрама (Stephen Wolfram), создателя Wolfram Language, при помощи этого языка можно производить огромные объёмы вычислений и любые их виды во всех интересующих областях знаний. Сам Стивен Вольфрам даёт одно из определений созданного языка, как «языка программирования, основанного на знаниях». В язык встроено большое количество функций для обработки изображений, слежения за курсами акций на фондовых биржах, создания различных интерфейсов, решения т.н. «задачи коммивояжёра» для заданных условий, построения математических графов (к примеру, установления взаимосвязей друзей в социальных сетях), создания 3D объектов и работы с ними, решения задач оптимизации, манипуляции с построенными в символьной форме объектами и многого другого. Поскольку язык Wolfram имеет символьную структуру, все данные функции работают в согласованности друг с другом.

Одним из достоинств языка Wolfram является наличие возможности его интерактивного использования в сети Интернет. Язык содержит колоссальный массив данных по тысячам всевозможных областей знаний. Самым важным Стивен Вольфрам считает взаимодействие всех этих массивных структур между собой. Безусловным является привлекательность использования Wolfram Language при выполнении всевозможных математических вычислений, но в силу своих широчайших возможностей данный язык программирования фактически способен играть важную роль и для других специалистов, а именно может быть полезен для проведения сложных вычислений в таких областях как социология, экономика, география, астрофизика и прочих. Ещё одна возможность данного языка - мощное функциональное программирование. По сути, Wolfram – язык автоматического объединения объектов. Поскольку он имеет символьную природу, в нём могут сочетаться практически любые стили программирования. По словам как создателей, так и пользователей Wolfram - очень мощный язык программирования. Wolfram представляет собой, по сути, язык шаблонов, что является одной из причин простоты его использования.

В видео, посвящённом презентации языка Wolfram, его создатель, Стивен Вольфрам, выделяет следующие важные черты данного языка программирования:

1) При разработке Wolfram программисты руководствовались идеей о том, что всё в языке должно быть совместимо, согласовано друг с другом. В результате долгой кропотливой тридцатилетней работы им удалось добиться реализации данной идеи в Wolfram Language. Это является одной из причин, почему данный язык программирования является в большинстве случаев лёгким для понимания людьми;

2) принцип максимальной автоматизации операций – в языке должно быть автоматизировано всё, что он в состоянии сделать сам, т.е. без помощи или вмешательства человека;

3) Wolfram Language отлично масштабируется – большие программы в символьной форме занимают меньше места, поэтому с ними более удобно и просто работать.

Данный язык может быть использован и для высокопроизводительных вычислений. Стоит упомянуть, что в нём содержатся не только различные алгоритмы и вычислительные функции, но и огромные объёмы знаний различного характера. Стивен Вольфрам утверждает и о возможности создания версии Wolfram Language, адаптированной для мобильных приложений. Связанные с работой языка документы представляют собой специальный интерактивный формат CDF (Computable Document Format), сам по себе также являющийся новым большим шагом в области информационных технологий и бесспорно заслуживающий отдельной статьи. Также, по словам Стивена Вольфрама, Wolfram Language можно использовать для поколения набирающих популярность одноплатных компьютеров - язык доступен в стандартном дистрибутиве Linux для Raspberry Pi. Кроме того, данный язык программирования может быть использован в целях взаимодействия с различными электронными устройствами.

Согласно Стивену Вольфраму, можно утверждать, что «этот язык вообще занимает уникальную позицию по отношению к устройствам и к реальному миру в целом, потому что Wolfram представляет собой такой особый язык программирования, в который уже встроена эта модель реального мира». WDF, структура данных Wolfram, довольно успешно реализует данную модель. Обширная база знаний об окружающем мире содержится в так называемом Wolfram Cloud (полное название – Wolfram Programming Cloud, WPC), являющемся, как и сам язык в целом, динамичной, постоянно развивающейся структурой. В языке имеется огромное число средств для сбора неструктурированных данных и внесения их в WDF. Наряду со всем этим, существует проект Wolfram Connected Devices (WCD), который курирует устройства для того, чтобы дать языку автоматический доступ к ним.

Создатель Wolfram Language описывает в нескольких словах собственно принцип работы с данным языком: после любого результата на экране появляется панель дальнейших действий с этим выражением. Более того, Стивен Вольфрам утверждает, что можно попытаться ввести данные на естественном языке и начать конструировать таким образом свою программу, а затем, в случае успешной реализации, можно использовать множество различных способов её развёртки. Столько вычислительных данных, сколько возможно. Концепция Wolfram Language и её реализация тесно связаны с широкий спектром передовых информационных технологий. В языке задействован широкий диапазон всевозможных программных методов и областей знаний. Автор ставит в известность, что в течение большего времени работы над созданием Wolfram Language (около 30 лет), был сформирован фундамент языка, который в наши дни постоянно разрабатывается и улучшается, обретая более целостную форму. По  словам Стивена Вольфрама, «это первый язык программирования, с помощью которого можно сделать так просто и одновременно так много». Основной целью создания данного языка Стивен Вольфрам называет следующую: «Wolfram создан для того, чтобы люди могли пройти путь от идеи до её реализации настолько быстро, насколько это возможно» [2].

В Интернете представлены сотни интерактивных моделей, полученных в результате символьных вычислений в Mathematica [3], в несколько десятков из них моделирует различные аспекты Textual Analysis и School Language Arts (раздел Our World, подраздел Linguistics).

Данные модели могут быть использованы в иллюстративном качестве для исследовательской или образовательной деятельности, они также могут представлять интерес в качестве объектов изучения и основы для собственного лингвистического моделирования на основе символьных вычислений, особенно в контексте преподавания компьютерной лингвистики для студентов гуманитарных специальностей.

В июне 2014 г. открыт сетевой ресур Wolfram Programming Cloud (облако программирования Wolfram), который позволяет в любом браузере и с любого устройства создавать готовые CDF-документы, приложения, работать с прямым API, создавать автоматически генерируемые отчеты, отсроченные задания, веб-страницы и многое другое [4].

Хотя инструментарий основан на использовании английского языка, в Интернете имеется достаточно ресурсов для изучения Wolfram Language и Mathematica на русском языке [5].
 

 


 

1. Wolfram (язык программирования). Википедия – русскоязычный раздел.  /  [Электронный ресурс]. – Режим доступа: https://ru.wikipedia.org/wiki/Wolfram_(язык_программирования)

2.  Введение Стивена Вольфрама (Stephen Wolfram) в язык Wolfram / [Электронный ресурс]. – Режим доступа: http://habrahabr.ru/post/218593/ Видео отдельно: Стивен Вольфрам о языке программирования Wolfram - впервые на русском языке - http://www.youtube.com/watch?v=gPVhz1cPA70

3. Wolfram Demonstrations Project & Contributors  / [Электронный ресурс] – Режим доступа: http://demonstrations.wolfram.com/

4. Wolfram Programming Cloud: Introducing a Programming  / [Электронный ресурс] – Режим доступа: www.wolfram.com/programming-cloud/

5. Ресурсы для изучения Wolfram Language (Mathematica) на русском языке / [Электронный ресурс]: Статья. – Режим доступа: http://habrahabr.ru/post/244451/

 

 

MediaLex 2015