На свете есть множество языков программирования, и, казалось бы, нужны веские причины для создания ещё одного. Однако кроме языков общего назначения (таких, как, к примеру, C++ или Python) есть и узкоспециализированные. Например, язык SQL предназначен исключительно для описания запросов к базам данных, XSL – для преобразования документов XML, Processing – для работы с графикой, и так далее. Профессор Массачусетского технологического института Сеп Кемвар подметил, что описывать запросы к социальным сетям на языках общего назначения очень непросто – каждый из веб-сервисов использует свой программный интерфейс и требует особого подхода. Так почему бы не создать специализированный язык программирования, который позволял бы описывать социальное взаимодействие в интернете?

Кемвар назвал свой язык программирования словом Dog (собака) и на момент написания заметки вместе с группой студентов активно занят его разработкой. Поскольку социальные взаимодействия проще всего описывать естественным языком, для синтаксиса Dog была выбрана форма, которая по возможности звучит как законченные фразы. К примеру, написав выражение “LISTEN TO PEOPLE FROM mit VIA http FOR posts”, мы скомандуем компьютеру следить за постами в блоге людей, работающих в МТИ.

В языке Dog есть четыре главных ключевых слова: ask, listen, notify и compute. Каждое из них используется для построения выражений, описывающих разные типы социальных взаимодействий. Увы, ничего не сообщается о том, как Кемвар думает описывать команды, специфичные для той или иной социальной сети (к примеру, в Facebook можно “потыкать пальцем” кого-нибудь из своих друзей). Зато сообщается, что, по возможности, будет упрощено взаимодействие с другими языками программирования.

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