Волфрам (език за програмиране) – Уикипедия

Волфрам
Парадигмамулти-парадигма
АвторСтивън Волфрам
Софтуерен разработчикВолфрам Рисърч
Платформамеждуплатформен софтуер
Софтуерен лицензсобствен, несвободен
Файлово разширение.nb .m .wl
Уебсайтwww.wolframlanguage.org
www.wolfram.com/language/

Езикът Волфрам (на английски: Wolfram Language) е мулти-парадигмен[1] програмен език, който е залегнал в основата на математическия софтуер Mathematica и на облака Wolfram Programming Cloud, създадени от компанията Волфрам Рисърч, с основател и главен изпълнителен директор е Стефан Волфрам. Проектиран е да бъде максимално общ, но набляга на символното смятане, функционалното програмиране и логическото програмиране. Може да работи с произволни структури и данни[2]

Езикът обхваща много области, повечето специализирани. В него са включени вградени функции за генериране и изпълнение на Тюринг машини, за създаване на графики и звуци, за анализ на 3D модели, за операции с матрици и за решаване на диференциални уравнения. Разполага с обширна документация и специално създадена Волфрам Програминг Лаб (на английски: Wolfram Programming Lab) за лесен достъп при изучаване.

От 2013 г. той се предоставя в пакет със системния софтуер, инсталиран на всеки едноплатков компютър Raspberry Pi, разпространяван в британските училища с цел популяризиране на обучението по основи на компютърните науки. Едноплатковият модул Edison, представен през 2014 г. от Intel, също включва езика в софтуера си. Има планове езикът да бъде интегриран и в платформата за разработка на игри Unity.

Стивън Волфрам е британски учен, известен с работата си в областта на физиката на елементарните частици и клетъчните автомати, компютърните науки и математиката. Той е автор на книгата „A New Kind of Science“. Създател е на приложния софтуер Mathematica и на Wolfram Alpha, отговаряща машина, разработена през 2009 г. Това е онлайн услуга, която дава отговори на въпроси чрез пряко изчисляване на структурирана информация, както и чрез предоставяне на списък от уеб страници, които могат да съдържат отговора. Точно както търсеща машина тя извежда списък с резултати[3].

Въпреки че програмният език съществува от над 25 години, сегашното му наименование е официално обявено едва през юни 2014 г.[4] Преди това вътрешно се използват няколко имена, като „M“ и „Wolfram Language“. Обсъждани са и други възможности, сред тях „Lingua“ и „Express“, а след използването му в „Mathematica“ той често е наричан „Mathematica“[2].

За разлика от други езици за програмиране желанието на създателите на езика е да вградят в него колкото се може повече възможности и знания за реалния свят, така че да получат кохерентна структура с висока степен на автоматизация. Това е постигнато с повече от 5000 вградени функции и структури, автоматизиращи изчисленията[2].

Самият Волфрам нарича езика си средство за „програмиране, основано на знания“ и се стреми да го направи, заедно със софтуерната си философия, достъпен за повече хора, включително начинаещи студенти и деца.[5] Затова решава да създаде версия на езика и инструментите за развитието му като „свободна облачна услуга“. За тази цел публикува книга – „An Elementary Introduction to the Wolfram Language“, която е безплатна за четене онлайн или може да се поръча в печатна версия от уебсайта на компанията или от Amazon. Волфрам казва: „Моята голяма цел е да направя колкото може по-широко достъпно това, което може да се направи с изчисления.“ Със своите открития той се надява един ден „случайни деца да могат да създават такива неща, каквито в миналото можеха да постигнат само учените с най-сложните инструменти“.

Основните принципи, залегнали в езика, са:[6]

  • Научно програмиране, основано на максимум знания: философията на езика Волфрам е да съдържа възможно най-много знания за алгоритмите и за света.
  • Мета алгоритми: възможно най-голяма автоматизация, за да могат програмистите да се концентрират да определят какво искат да направят, а езикът автоматично да открие как да го направи.
  • Кохерентност: езикът поддържа обединена и елегантна структура, където всичко си пасва, постигнато чрез силен фокус към принципите на дизайна на ядрото, през широк обхват от функционалности
  • Символно представяне: всичко (данни, формули, графики, код, документи) се представя като символични изрази, осигурявайки възможност за гъвкаво програмиране
  • Модел на света: езикът Волфрам има широкоспектърен вграден модел на света чрез Wolfram Alpha и знае как да направи не просто изчисления за абстрактни данни, единици, дати, геолокация, но също и директно да ги свърже с обекти от реалния свят.
  • Естествено разбиране на езика (на английски: Natural language understanding, NLU, част от обработката на естествен език): позволява включване на ежедневен език в кода.
  • Универсално внедряване: Разполагане на езика на всякакви платформи – десктоп, облак, мобилни приложения, вграден софтуер.
  • Позволява формат на изчисляеми документи (на английски: Computable Document Format, CDF): документите стават част от езика. и дават възможност за смесване на изпълним код с текст, графики, интерфейс и др.
  • Вградена свързаност с широк спектър от езици, услуги, програми и устройства с помощта на Wolfram Cloud.
  • Интерактивност: Средата за разработка на езика е напълно интерактивна и позволява да се стартира код, докато се пише.
  • Напълно мащабируем: предоставя възможност за мащабиране от програми с един ред до програми с милиони редове, и от самостоятелно използване до широко публично разгръщане.
  • Мултипарадигмен, сливащ език: чрез уникалния си символичен характер, езикът слива много програмни парадигми, познати и нови.
  • 25-годишна история на последователност и визия: ядрото на езика поддържа конкурентоспособен код повече от 25 години.

През 2012 г. във Великобритания започва кампания по популяризиране на усвояването на компютърните науки в училищата. За тази цел се произвежда евтиният компютър Raspberry Pi, а в неговия пакет със софтуер е включена Mathematica и езикът Волфрам.

Raspberry Pi са малки компютри с размерите на кредитна карта, които работят с версия на Linux, но не са много мощни: Волфрам предупреждава, че графичният интерфейс на Mathematica може да бъде „бавен“, но интерфейсът с команден ред е бърз и машината е все още значително по-бърза от тези, на които Mathematica стартира преди 25 години. За сметка на това е надежден: „Raspberry Pi ... ме насърчи да опитам нов начин да свържа реалния свят и компютърния. На първо място е лесно да свързвате устройства към Pi, а Pi е достатъчно малък и евтин, за да можете да го поставите почти навсякъде. И ако стартирате на него програма на Волфрам, той е достатъчно надежден, за да може да се очаква тя да върви вечно, като анализира и качва данни, контролира автономна система, анализира и маршрутизира трафика, или нещо друго“.

Въпреки предимствата му, популярността на езика Волфрам все още изостава в сравнение със стандартните езици за програмиране.

  1. т.е. предоставя повече от един подход за решение на даден проблем
  2. а б в What Should We Call the Language of Mathematica?—Stephen Wolfram Blog // Blog.stephenwolfram.com, 12 февруари 2013. Посетен на 5 ноември 2015.
  3. Johnson, Bobbie. British search engine 'could rival Google' // The Guardian. 9 март 2009. Посетен на 9 март 2009.
  4. Slate's article Stephen Wolfram's New Programming Language: He Can Make The World Computable, 6 март 2014. Посетен на 14 май 2014.
  5. Stephen Wolfram Aims to Democratize His Software by Steve Lohr
  6. Принципи и концепции