Вы когда-нибудь представляли себе язык, в котором программы выглядят как абстрактные картины? Или какое-то визуальное кодирование? Взглянем.

Поверите ли вы мне, если я скажу, что второе изображение на самом деле является известной программой «Hello World»? Вы знаете… первый шаг к изучению любого языка программирования и погружению в область программирования?

Позвольте представить вам, Пит! Язык, на котором программы выглядят как настоящие абстрактные картины. Позвольте мне объяснить...

Когда дело доходит до языков программирования, существует множество парадигм и принципов, таких как императивные, декларативные или структурированные. Общим для большинства языков программирования является использование алфавита с латинскими символами и специальными символами, такими как кронштейны. Используя эти символы, мы создаем такие вещи, как циклы и структуры if-then-else.

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

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

И да… Как вы, наверное, думаете..

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

Но теперь вы, наверное, спрашиваете, как это будет работать правильно?

Это немного сложно…. и не так эффективно.

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

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

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

В настоящее время сообщество вокруг Пита довольно мало, и язык в основном используется для иллюстрации того, какие программы были созданы в результате необычных исследований и концепций. Также интересно отметить, что Piet является полным по Тьюрингу, что означает, что вы потенциально можете написать что-то вроде Medium (или подобного) с его помощью!

Я надеюсь, что вам понравилось искусство Пита и визуальный способ повествования, поэтому вам также могут понравиться эти ссылки:











Удачи и приятного обучения! ❤️