Украинский инженер создал самый безликий код в истории.
Как назвать новый язык программирования? Этот нелегкий вопрос зачастую сильно усложняет жизнь разработчикам. Но киевский инженер Олександр Каленюк решил пойти против системы и создал язык без единого наименования.
Каленюк преследовал сразу две цели: с одной стороны, выразить протест против извечной проблемы, над которой коллеги постоянно ломают голову, а с другой — проверить, действительно ли давать названия всему и вся так уж необходимо. Поначалу кажется, что автор рассматривает свое творение со всей серьезностью, однако затем в интервью он сам признает абсурдность затеи: это уж точно не упростит процесс, а сделает его только сложнее.
Тем не менее, этот странный эксперимент оказался довольно полезным. В языке есть всего одна операция и одна структура данных, которые не требуют обозначения. Разветвления внутри структуры выступают в роли массивов и матриц. Парами символов в свою очередь представлены строки, числа, логические сравнения и арифметические действия. В качестве имени файла используется исходный код.
По мере обработки единственной структуры данных интерпретатор помещает значения в стек при встрече с определенным символом или выполняет над ними заданные операции. Команда «помощь» зашифрована в паре знаков е_, так что файл the_namingless_programming_language покажет меню справки, как только парсер доберется до этих символов.
Каленюк иронично отмечает парадокс своего творения: раз его язык единственный в своем роде, ему попросту не нужно название. Впрочем, обозначая его как «безымянный язык», мы тоже присваиваем ему своеобразный идентификатор.
Хотя идея и кажется бессмысленной на первый взгляд, за ней стоят вполне серьезные программистские концепции. Автор черпал вдохновение в таких известных системах, как Forth, APL, PostScript, ориентированных на стековую модель обработки данных.
Одним из основных источников вдохновения стал PostScript - язык описания страниц для электронных публикаций, содержащий исполняемый код. В своей работе с задачами 3D-печати Олександру часто не хватало такого инструмента. По его мнению, было бы удобнее кодировать формы для печати компактными формулами, вместо передачи огромных объемов данных. Поэтому он выбрал алгоритм обработки массивов, работающий с лаконичными и абстрактными конструкциями, ведь большую часть такого кода генерируют и используют машины.
С 2015 года Каленюк работает инженером в компании Materialise, специализирующейся на 3D-печати. Помимо эксперимента с безымянным языком, у него есть и более серьезные проекты. Он ведет образовательный сайт с материалами по программированию и математике. В 2022 году он выпустил книгу «Геометрия для программистов» о математических основах САПР, игровых движков и геоинформационных систем.
Безымянный язык получил неожиданно позитивные отклики в профессиональном сообществе. Опытные разработчики отмечают, что работа над «бессмысленными» проектами с искусственными ограничениями может быть интересной и весьма поучительной для настоящих разработок.
Большой взрыв знаний каждый день в вашем телефоне