На свете есть множество языков программирования, и, казалось бы, нужны веские причины для создания ещё одного. Однако кроме языков общего назначения (таких, как, к примеру, 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 году.