Представитель Шуры Люберецкого в ЖЖ (brat_luber) wrote,
Представитель Шуры Люберецкого в ЖЖ
brat_luber

Railway Oriented Programming

В подтверждение записи о том, что работа программиста – это придумывание языков программирования. В одном англоязычном блоге обнаружил пример этого подхода, так сказать, в действии. Рассматривается простая задачка, элементарная последовательность действий, каждый шаг в которой может привести к какой-либо ошибке. Постановка задачи и начало ее решения, прямо скажем, не впечатляют. Но во второй части, как раз и названной “Railway Oriented Programming” – как раз и происходит самое интересное.

Диаграммка типа “поток данных” в принципе, выглядит вполне привычно для многих. Слева вход, справа выход(ы), в квадратиках написаны какие-то функции – все замечательно. Но для того, чтобы перевести ее в реальный программный код на “классическом” ЯП – нужно выполнить некоторую формальную процедуру. Предлагается что-то типа “универсального” языка – который одновременно и изображает конструкции с диаграммы (используются железнодорожные аналогии – типа “стрелка”, “тупик” и т. п.) – и одновременно позволяет записывать программы. Что это, если не язык программирования?

Не так давно мне пришлось освоить одну систему “программирования мышкой”. Нет, это не мейнстримное “визуальное программирование”, обычно понимаемое, как “накидать компонентов на форму”. Та система, с которой мне пришлось столкнуться (что-то типа “русского LabVIEW на коленке”) – это в чистом виде “программирование мышкой”, но идеологически очень близкое к вышеописанному подходу. Изображенные на некоей двумерной схеме “виртуальные приборы” соединяются линиями (”виртуальными проводами”). Авторы утверждают, что с помощью подобной системы можно разрабатывать какие угодно SCADA-приложения (SCADA – это Supervisory Control and Data Acquisition, “диспетчесрское управление и сбор данных”). Как может убедиться практически любой, “каркас” такой системы реализуется на подходящем языке программирования с помощью нескольких десятков строк кода.

Запись опубликована в блоге Шуры Люберецкого. Вы можете оставлять свои комментарии там, используя свое имя пользователя из ЖЖ (вход по OpenID).

Tags: программирование
Subscribe

  • Про кофе

    Регулярно в фейсбуке встречаю ужасы от путешествующих по Италии, которые то ли не в то время суток заказали капуччино, то ли неправильно поставили…

  • А как это называется?

    А скажите, как называется то чувство, когда ты сначала хуесосишь чувака в твиторе за тупость, а потом видишь его юзерпик в корпоративном чате? И…

  • Электронный документооборот

    Пока тут Исавнин с Артамоновым кидают друг в друга какахами на хабре из-за дистанционного электронного голосования — реальные электронные…

Comments for this post were disabled by the author