Еще раз об уникальных возможностях языка программирования Wolfram Alpha

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

Какое-то время продолжим трудится на общее благо по адресу https://n-n-n.ru.
На новой платформе мы уделили особое внимание удобству поиска материалов.
Особенно рекомендуем познакомиться с работой рубрикатора.

Спасибо, ждём вас на N-N-N.ru

Стивен Вольфрам (Stephen Wolfram), ученый в области информационных технологий и основатель компании Wolfram Research, недавно представил результаты своей работы (кое-что об этом мы уже писали), которой он занимался на протяжении последних 25 лет. Все это время Вольфрам и его команда занимались разработкой нового символического языка программирования, который получил название Wolfram Alpha и который, по мнению разработчиков, является самым эффективным способом создания программ для компьютеров на сегодняшний день.

Wolfram Language является языком, основанным на обширной базе знаний при помощи которой можно создавать достаточно сложные приложения не прибегая к процессу традиционного программирования.

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

Базой языка Wolfram Language является механизм восприятия естественного языка (natural language understanding, NLU) при помощи которого производится как определение и описание объектов реального мира, так и собственно написание исходного кода будущей программы.

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

20140311_1_2.jpg Рис. 1.

Создаваемая при помощи языка Wolfram Language программа, как и большинство программ, написанных на других языках, состоит из нескольких функциональных частей. Но каждая функциональная часть программы представляет собой отдельный исполняемый модуль, который может быть запущен и отлажен независимо от других частей конечной программы. Создаваемые программы могут работать как локально, так и совместно с другими программами, сервисами и устройствами посредством обмена данными через сервис облачных вычислений Wolfram Cloud.

При помощи языка Wolfram Language достаточно просто без участия программиста создавать приложения визуализации, которые могут представлять в различном визуальном виде огромные массивы структурированной и неструктурированной информации. Пользователю, создающему такую программу, требуется только описать данные, относящиеся к конкретным объектам и взаимосвязи между этими объектами.

Возможности языка Wolfram Language позволят относительно несложно реализовать управление элементами и устройствами Интернета вещей, технологическим оборудованием и даже робототехническими устройствами.

Первой компанией, осуществившей поддержку языка Wolfram Language, является компания Intel, которая разработала и представила библиотеку кода и демонстрационные примеры программ для своего миниатюрного компьютера Edison, который был продемонстрирован на выставке CES, проходившей в январе этого года.

А в настоящее время уже имеются варианты реализации языка Wolfram Language, способные работать на процессорах архитектуры x86 и ARM под управлением операционных систем Linux, Mac и Windows, а в ближайшем будущем поддержкой этого языка обзаведутся платформы iOS и Android.

Пожалуйста, оцените статью:
Ваша оценка: None Средняя: 4.9 (17 votes)
Источник(и):

1. slashgear.com

2. dailytechinfo.org



OSV аватар

Во-первых, хотел бы поблагодарить Стивена за программу Mathematica, оказавшую мне большую помощь при моделировании. Её возможности действительно широки, а имея собственное ядро (почему, собственно, я на ней и остановился) эта программа позволяет уменьшить влияние Виндоуса, тормозящего и ограничивающего громоздкие расчёты.

Но, видимо не без договорённости с Мелкософтом, последние версии Mathematica стали менее самостоятельными. В частности, программа вырубается при подходе к некоторым ограничениям Виндоуса. Почему я решил, что не без договорённости с Мелкософтом – потому, что я посылал Стивену различные замечания по Mathematica и, ранее, получал благодарности и обещания исправить в новых версиях, которые, ранее, выполнялись. Теперь же реакция уже не та, а на моё предложение кардинально расширить возможности его программы, усилив её ядро, вообще ответа не последовало. Т. ч. я вижу некое противоречие между предлагаемым глобальным расширением возможности Mathematica и отказом принять участие в первом кардинальном шаге, расширяющем её возможности на порядок.

Мой личный опыт говорит, что не бывает безошибочных программ. И это нормально, для того и делаются обновления, хоть БИОСА, хоть Виндоуса, хоть конкретных программ. Но глобализация какой-либо программы обычно приводит к тому, что она становится очень громоздкой и практически менее работоспособной. Это порочный путь подогнать под найденный, возможно очень интересный алгоритм, всё и вся. И он не уменьшает кардинально число ошибок. Так что переход на уровень языка не является гарантией от ошибок. Это лишь определённое удобство, как например, язык LabView, в котором, кстати, я тоже находил ошибки, которые разработчики в следующих версиях исправляли.

Так что лично я остаюсь на той точке зрения о которой и писал ранее Стивену. Программу Mathematica надо усиливать изнутри более чётким соблюдение математических принципов и усилением её самостоятельности – её ядра. В этом плане мои предложения ему остаются в силе – было бы желание этим заниматься у него, понимание им, что именно это даст НАДЁЖНОСТЬ получаемых результатов и даст выигрыш по сравнению с другими программами. А создание языка, если он считает, что найдётся широкое поле для его применения, то это отдельная, скорее коммерческая задача. Но если её обсуждать, то надо бы в статье приводить не общие слова, а описать как базовые посылки (на пример –синтаксис) предлагаемого пользователям языка и описать его видение поля приложения этого языка. А этого то в статье и нет.

Станислав Ордин.