Стивен Вольфрам: «Приближается что-то большое: самый важный в нашей истории технологический проект»

от автора

Disclaimer

Эта статья является переводом оригинального поста Стивена Вольфрама в его личном блоге

Вычислительные знания. Символическое программирование. Автоматизация алгоритмов. Динамическое взаимодействие. Естественные языки. Вычислимые документы. Облака. Связанные устройства. Символическая онтология. Выявление алгоритмов. Это все, над чем мы интенсивно работали, годы, создавая Вольфрам/Альфа (Wolfram|Alpha), Математика (Mathematica), CDF (Формат Вычисляемых Документов) и остальное.

Но недавно произошло кое-что удивительное. До нас дошло, как объединить все эти направления и все технологии, которые мы уже создали, чтобы получилось что-то, что выведет нас на абсолютно новый уровень. И мощь того, что у нас получается, не перестает меня удивлять. Одно я уже понимаю точно и ясно — это будет крайне важно как для мира технологий, так и для всех остальных.

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

Должен признаться, что я не замечал того, что грядет. Да, постепенно, с годами, я все больше осознавал, чего же позволяют добиться разработанные нами парадигмы. Но что меня по настоящему накрыло — так это то, какого захватывающе-высокого уровня унификации мы достигли. Когда, вдруг, становится ясно, что все, чего мы добились за последние 25 с лишним лет — было лишь только первыми ступеньками на пути к чему-то гораздо большему и гораздо более важному.

У меня не получится объяснить всего в этой статье (будем надеяться, что нам не придется ждать так долго, как в случае с  книгой «Наука Нового Типа» (A New Kind of Science)). Но меня распирает от того, что я уже могу поделиться с вами тем, что происходит. Причем в ближайшие месяцы я надеюсь и рассказать о некоторых невероятных вещах, над которыми мы сейчас работаем, и сделать их широкодоступными.

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

И ключевой строительный элемент всего этого — то, что мы называем Языком Вольфрам (Wolfram Language).

В каком-то смысле Язык Вольфрам вынашивался внутри Mathematica более 25 лет. Это язык Mathematica, и CDF, и язык, который использовался для создания Wolfram|Alpha. Но теперь, значительно расширенный и унифицированный с базой знаний Wolfram|Alpha — он выходит на сцену самостоятельно, готовый стать центром поразительной плеяды новых разработок.

Мы называем его Языком Вольфрам потому что это язык. Но это новый, другого типа язык. Это общецелевой язык основанный на знаниях, абсолютно по новому покрывающий все виды вычислительных задач.

На свете существует достаточно много компьютерных языков общего назначения. Но у них очень отличающийся и, в каком-то смысле, более скромный подход, чем у Языка Вольфрам. Они сосредоточены на управлении структурой программ, стараясь сохранить достаточно узкие рамки для самого языка и полагаясь на сеть внешних библиотек, обеспечивающих дополнительную функциональность. В случае с Языком Вольфрам, с самого начала, моя концепция заключалась в том, чтобы создать единую, тесно интегрированную систему, в которой как можно больше всего включено в сам язык.

Итак, в Язык Вольфрам, встроенные прямо в язык, сразу заложены возможности и по выводу графов, и по обработке изображений, и по созданию пользовательского интерфейса, да и по всему, что угодно. Там, внутри, огромная сеть алгоритмов (на текущий момент самая большая из когда-либо собранных), многие из которых были изобретены нами. И еще, там же, тысячи аккуратно спроектированных функций, предназначенных для использования этих алгоритмов, выполняющих операции настолько автоматизировано, насколько это возможно.

Несколько лет я вкладывал огромные усилия в проектирование этого языка, стараясь сделать так, чтобы различные части подходили друг к другу самым гладким, из всех возможных, способом. Так, чтобы было очень просто объединить вот этот анализ данных вон с той генерацией документа, еще и применяя, кое-где, математическую оптимизацию, например. Я очень горд результатами — и я знаю — в течении нескольких лет, для достаточно большого количества людей, этот язык уже доказал свою впечатляющую эффективность.

Но сейчас мы имеем даже больше благодаря тому, что мы интегрировали все знания и данные, и алгоритмы встроенные в Wolfram|Alpha прямо в язык. Так, в каком-то смысле, внутри Языка Вольфрам, мы получили полную вычислимую модель мира. Да, теперь становится тривиальным написание программы, которая использует последние биржевые расценки, рассчитывает следующий прилив, генерирует карту улицы, показывает изображение заданной модели самолета, или делает несметное количество других вещей.

Мы также получили произвольной формы, естественный язык для Wolfram|Alpha. Таким образом, когда нам нужно указать дату, или место или песню — мы запросто можем сделать это на родном языке. Мы можем, даже, используя только лишь язык человеческого общения, начать строить программы.

Тут много составных частей. Получается достаточно большая матрица всяких штук:

Но что действительно примечательно — так это то, как все собирается в единое целое.

В какой-то степени это результат невероятного количества работы (и дисциплины) вложенной нами в процесс проектирования за последние двадцать пять с лишним лет. Но есть еще кое-то. Это фундаментальная идея, заложенная в самой основе Языка Вольфрам: идея символического программирования, идея представления всего через символические выражения. Слишком постепенно, на протяжении десятилетий, до меня доходило какая же это мощная идея. Что вот он — полностью обобщенный и единообразный способ представления всего, где каждый уровень сразу и неприметно становится доступным для обработки.

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

Однако Язык Вольфрам — это не просто основа для создания окружения из этого разнообразия. Прямо в языке, для каждого случая, содержится необъятный, отборный набор контента и знаний. Не важно, будут ли это разного вида визуализации. Или геометрические построения. Или актуальные социо-экономические временные ряды данных. Или пользовательские интерфейсы различных видов.

Конечно, я понимаю, что подобные объяснения не могут донести суть символического программирования. Каждый должен попробовать сам. Убедиться, какую невероятную мощь дает возможность относиться к коду как к данным, или возможность запрятать небольшие программы в частях изображений, документов, или в массиве данных. Или возможность размещения картинки, или элемента интерфейса напрямую в коде программы. Или получение фрагментов любой программы, способных к немедленному самостоятельному исполнению и несущих свой собственный смысл.

В большинстве языков есть четкое разделение между программами, данными и выводом. В Языке Вольфрам не так. Тут все абсолютно гладко. Данные становятся алгоритмическими. Алгоритмы становятся данными. Нет необходимости в разграничении кода и данных. Все становится, по сути, описательным, и, по сути, интерактивным. Появляется новый уровень совместимости, и, в то же время, новый уровень модульности.

Так что это все значит? Идея универсальных вычислений подразумевает, что, в принципе, любой компьютерный язык может делать то же самое, что и все остальные. В принципе, но не на практике. На самом деле — любой серьезный опыт использования Языка Вольфрам разительно отличается от случаев с другими языками. Просто потому, что в нем так много всего уже есть и сам язык уже готов для выражения так многого об этом мире, нам становится неизмеримо проще добиться реальных результатов и функциональности.

На протяжении многих лет я уделял большое внимание автоматизации. Так, что там, где это вам может понадобиться, Язык Вольфрам сделает все автоматически. Будь это поиск оптимального алгоритма; или выбор наиболее эстетичного внешнего вида; или эффективность параллельных вычислений; или распознавание семантического значения какого-то куска данных; или, если уж на то пошло, предсказание вашего следующего пожелания. Или понимание того, что вы сообщите ему на естественном языке.

И вот только достаточно недавно я обнаружил, что у нас тут есть еще один уровень. Тот, где приходится иметь дело с актуальным распространением программ, связями между программами и устройствами и т.п. Видите ли, как и все остальное, вы можете описать инфраструктуру для развертывания ПО символически — так, например, чтобы сами структура и деятельность облака стали данными, которыми может оперировать ваша программа.

И это не просто теоретическая идея. Благодаря бесконечным слоям инженерных решений, разработанным нами за эти годы, благодаря массивной автоматизации, это абсолютно реально и очень впечатляюще. Язык Вольфрам готов к непосредственному описанию своего собственного развертывания. Будь то немедленное создание API, или публикация интерактивной веб-страницы, или создание мобильного приложения, или сбор данных из сети встроенных программ.

Но что еще важнее, он может абсолютно прозрачно делать это и на настольных компьютерах, и в облаках, и на мобильных, и на корпоративных платформах, и во встроенных системах.

Достаточно удивительная вещь — наблюдать, как все это заработало. И как это способно создавать маленькие программки, которые распределяют вычисления по разным системам такими способами, которых никто и никогда и представить не мог.

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

Начиная с Языка Вольфрам, со всеми его встроенными вычислениями и знаниями и способами представления вещей, и заканчивая нашей Универсальной Системой развертывания, мы получили новый вид универсальной платформы необычайной мощности. И часть общей задачи, теперь — найти наилучший способ эту мощь обуздать.

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

Так у нас будет Программное Облако Вольфрам, которое позволит создавать системы на Языке Вольфрам и тут же публиковать их через API, или обычное приложение, или что-нибудь еще. Или развернуть их в частном облаке, или, например, через Интерфейс Вызова Функций, разместить их автономно в настольных и встроенных системах. И до ненормально коротких сроков сократить путь от появившейся идеи до полностью развернутой реализации.

Появится Научно-информационная Платформа Вольфрам, которая позволит подключиться к любым источникам данных, потом применить к ним автоматизацию из Wolfram|Alpha Pro, потом отобрать и подправить программы на Языке Вольфрам, чтобы исследовать эти данные, ну а потом, используя CDF, через интерфейсы приложений или что-нибудь еще, настроить автоматическое, по расписанию, генерирование отчетов.

Будет у нас и Издательская Платформа Вольфрам, которая позволит создавать документы, вставлять в них интерактивные элементы при помощи Языка Вольфрам и его произвольной грамматики, а потом, используя что-нибудь вроде Облачного CDF, и разместить в сети эти документы, которые будут у нас изначально интерактивны в любом веб-браузере/на мобильных платформах, благодаря поддержке технологии Облачных Приложений Вольфрам.

А еще мы сможем сильно развить Mathematica. Ну, к примеру, у нас будет Mathematica Онлайн, где весь сеанс Mathematica будет выполнен в облаке и через веб-браузер. И на настольных системах мы получим бесшовную интеграцию с Облаком Вольфрам, что даст нам такие штуки, как перманентное символическое хранилище и легкодоступные масштабные параллельные вычисления.

И будет у нас еще очень многое, список пугающе длинный.

Или вот еще пример: так же, как мы управляем всеми видами данных и алгоритмов, мы можем управлять и устройствами и связями между ними. И вот, в Языке Вольфрам у нас будет встроенный механизм общения с очень широким спектром устройств. А при помощи нашей Платформы Встроенных Вычислений Вольфрам, мы сможем запустить Язык Вольфрам на встроенных системах любого сорта, налаживать общение между устройствами, облаками, и т.д.

В центре всего оказывается Язык Вольфрам и мы собираемся сделать его настолько доступным каждому, насколько это возможно.

Язык Вольфрам отлично подходит в качестве первого изучаемого языка (мы уже провели несколько успешных экспериментов в этой области). И мы планируем создать Учебную Площадку, которая позволит каждому начать освоение языка, а через Программное Облако, даже создать какие-нибудь библиотеки и тому подобное, бесплатно.

Мы также занимаемся разработкой Платформы Создания Курсов Вольфрам, которая значительно автоматизирует весь процесс, от создания плана до реализации всех элементов онлайн-курсов, и позволит разместить их в облаке, да так, чтобы студенты тут же получив доступ к Песочнице Вольфрам, могли бы исследовать материал курса, делать упражнения и все остальное. И, конечно, так как все это основано на нашей единой платформе, данные полученные в ходе выполнения заданий, например, могут сразу же передаваться для анализа в Научно-информационную Платформу Вольфрам.

Я очень взволнован тем, какие возможности у нас открываются. Как только Язык Вольфрам разойдется по всем этим разным местам, у нас начнут расти и расти возможности по единому символическому представлению всего. Вычисления. Знания. Содержимое. Интерфейсы. Инфраструктура. И все компоненты наших систем смогут общаться с полной семантической точностью, обмениваясь символическими выражениями Языка Вольфрам.

Точно так же, как размываются границы между данными, сущностями и кодом, так же будет исчезать разница между программированием и простым вводом. Все станет доступным для программирования широкими слоями населения — или напрямую через Язык Вольфрам, или просто при помощи произвольного, человеческого, языка.

Было время, когда компьютеры были, в каком-то смысле, обнаженными — это был просто процессор и все. Но потом появились операционные системы. Потом различные языки и прикладные программы. То, что у нас появилось сейчас — это огромная следующая ступень такого развития. Все потому, что с Языком Вольфрам мы на самом деле можем встроить в наши компьютеры огромный урожай текущих знаний о вычислениях и о мире.

Если мы собираемся создать что-то вроде глобального разума, используя все наши объединенные компьютеры и устройства — естественным языком для этого будет Язык Вольфрам. Язык символически представляющий и мир и то, что может быть создано через вычисления. И, что особенно удобно, эффективный и понятный как для людей, так и для компьютеров.

Основой всего этого послужили десятилетия потраченные на Mathematica и Wolfram|Alpha и «Науку Нового Типа». Но то, что происходит сейчас — это что-то новое и неожиданное. Фактически, это возникновение действительно нового уровня вычислений, возможных благодаря Языку Вольфрам и всему с ним связанному.

В данный момент я могу разглядеть только ранние стадии того, к чему это все может привести. Но уже сейчас я могу сказать, что то, что происходит, является нашим самым важным из когда-либо осуществлявшихся технологических проектов. Впереди еще много работы, но ведь как невероятно удивительно видеть, как все это разворачивается. И мне уже не терпится побыстрее перейти от «скоро на экранах» к реальным системам, которые люди смогут начать использовать повсюду…

Полезные ссылки:

Обсуждение статьи на kurzweilai.net (English)
Другие статьи о Стивене Вольфраме на Хабре

На Википедии:

WolframAlpha
Mathematica
Формат вычисляемых документов (Computable Document Format или CDF)
О книге «Наука нового типа»
Wolfram Research

ссылка на оригинал статьи http://habrahabr.ru/post/202586/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *