Разделы

Цифровизация

Константин Моршнев: Эволюция без ломки — тренд развития Parser

Компании  делают ставку на проверенные технологии и все реже переходят на новые языки. Таковы данные рейтинга языков программирования за апрель 2025 года, который составила компания TIOBE. По мнению его составителей, этот тренд является свидетельством растущей осторожности в индустрии. В связи с этим обновление продуктов с многолетней репутацией надежно работающих инструментов рынок встречает с оптимизмом. Так, вышел крупный апдейт языка веб-разработки Parser — версия 3.5.0, к тому же с уникальным сопровождением — официальной книгой по языку, изданной «Студией Артемия Лебедева». Parser разработал программист Константин Моршнев еще в 1997 году. В 2002-м исходный код языка был открыт для всех разработчиков, что позволило ему быстро стать популярным инструментом: ведь для работы с РНР требовалась соответствующая подготовка, а Parser был специально спроектирован для того, чтобы даже ИТ-любитель мог собрать сложный динамический сайт без больших затрат. Используя Parser, не только Студия Лебедева, но и ИТ-специалисты из других компаний создали тысячи сайтов. CNews спросил Константина Моршнева о ключевых изменениях, дальнейшем развитии проекта и выходе печатного руководства.

CNews: Константин, в конце декабря вы объявили о выходе Parser версии 3.5.0. Какие главные возможности появились в этом релизе?

Константин Моршнев: Их несколько. Самое заметное новшество — встроенный класс для работы с одномерными массивами. Другие виды массивов были доступны и раньше: пользователи могли использовать ассоциативные массивы с числовыми ключами, которые во многих сценариях даже удобнее стандартных массивов, поскольку допускают разреженность данных. Также с самых ранних версий присутствует встроенный тип для табличных данных — двумерный массив, — эффективно покрывающий задачи по работе с выборками из баз данных. Новый встроенный тип для работы с одномерными массивами добавляет удобный «синтаксический сахар», позволяющий проще инициализировать данные и работать с ними, и предоставляет оптимизированную реализацию более чем двух десятков методов класса. Важная особенность нового массива — полная совместимость с существующими ассоциативными массивами и тесная интеграция с другими классами языка. Например, преобразование данных из JSON теперь автоматически возвращает одномерный массив вместо ассоциативного массива, при этом изменения в существующем коде не требуются. Еще одно важное новшество — именованные параметры у методов. Раньше, если у метода было много параметров, приходилось помнить их порядок. Теперь же, использовав специальный синтаксис, вызов можно делать с указанием имен параметров. Помимо этого, в версии 3.5.0 появились такие востребованные опытными разработчиками возможности, как удобный синтаксис доступа к элементам по вычисляемым индексам, метод для переименования ключей в хеше одним вызовом, поддержка генерации UUID седьмой версии и десятки других функций.

Константин Моршнев: После каждого изменения тестируем работу парсера на нескольких десятках операционных систем

CNews: Почему версия 3.5.0, а не 3.4.7? С чем связан скачок в нумерации?

Константин Моршнев: Мы придерживаемся простого правила: если в языке появились новые синтаксические возможности, повышается номер подверсии. Предыдущие релизы в ветке 3.4.Х хоть и добавляли функциональности, но не меняли синтаксических конструкций. А версия 3.5.0 принесла и новый синтаксис для инициализации массивов, и новую нотацию для использования выражений в качестве индекса, и именованные параметры — все это изменения синтаксиса языка.

CNews: То есть смена нумерации подчеркивает значимость обновления?

Константин Моршнев: Именно. Для пользователей это сигнал: обратите внимание, в языке появились новые конструкции, которых раньше не было. Но при этом сохранена совместимость с предыдущими выпусками Parser. Мы очень ценим обратную совместимость — код, написанный 5 или 10 лет назад, без изменений продолжит работать и на новой версии.

CNews: Вашему детищу уже почти три десятка лет, его поддержка ведется непрерывно все эти годы. Как вы определяете общее направление развития языка? На чем фокусируетесь при планировании новых версий?

Константин Моршнев: Язык изначально создавался как инструмент для серверного программирования, и хочется, чтобы он оставался максимально удобным и эффективным в этой нише. Все крупные изменения продиктованы либо технологическими трендами, либо запросами пользователей. Например, когда стал массово использоваться формат JSON, мы добавили полноценную поддержку JSON в Parser — это было одним из фокусов в версии 3.4.1. Когда появилась потребность проще интегрировать Parser с Nginx и упросить локальную разработку, я реализовал встроенный веб-сервер. Этот веб-сервер, кстати, большей частью написан на самом Parser, поэтому пользователи при желании могут посмотреть и изменить его логику под свои нужды. Такой подход — делать возможности языка расширяемыми и прозрачными — тоже часть нашей философии.

CNews: Пользователи ценят, что Parser одинаково хорошо работает на разных операционных системах, как вам это удается?

Константин Моршнев: После каждого изменения тестируем работу парсера на нескольких десятках операционных систем с разными компиляторами и архитектурами. Мы оперативно добавляем поддержку новых платформ. Например, Apple перешел на процессоры ARM, теперь и у Parser есть готовая сборка под эту платформу. Мы сотрудничаем с командой Linux дистрибутива Debian. Некоторые изменения, включая переход на новую версию библиотеки регулярных выражений PCRE, были внесены по их запросам. Практически сразу после релиза Parser 3.5.0 включили в тестируемые сборки Debian. Иными словами, эволюция без ломки, постепенное наращивание функциональности с учетом обратной связи — тренд развития Parser. При этом мы стараемся сохранять идентичность языка: его легкость освоения, лаконичность синтаксиса, ориентацию на безопасную веб-разработку. Уверен, что и через пять, и через десять лет Parser останется востребованным инструментом — как для новичков, делающих первые сайты, так и для профессионалов, решающих нестандартные задачи, — и при этом продолжит стабильно развиваться, приобретая новые функции и возможности.

CNews: Впервые вышло в свет печатное руководство к языку — книга «Язык скриптования сайтов Parser 3», в подготовке которой вы сыграли ключевую роль, проделав огромный объем работы. Книга содержит учебные уроки, синтаксический справочник, справочники операторов, классов и методов с подробным описанием и примерами использования. В чем ценность именно печатной версии, ведь сегодня все можно отыскать онлайн?

Константин Моршнев: Для меня, как автора книги, это действительно радостное и даже немного символическое событие. И тот факт, что вышло печатное издание ценю сразу по нескольким причинам.

Появление книги повышает доступность Parser для широкой аудитории. Это уже начало привлекать новых разработчиков. Опытные программисты открывают для себя какие-то тонкости, на которые раньше не обращали внимания. А новичкам книга помогает шаг за шагом освоить язык — начиная от основ синтаксиса и заканчивая продвинутыми темами.

Читая книгу, легче воспринимать большой объём информации, а книга получилась объёмная (почти 400 страниц). Отдельно отмечу, что в процессе подготовки книги я и моя команда значительно улучшили документацию. При подготовки материала к печати документации мы провели большую работу по редактуре — было внесено несколько тысяч правок, актуализированы примеры, улучшена структура изложения. Ведь очень долгое время вся документация о Parser была доступна только в онлайн формате, сейчас же, полностью переработанная и заново систематизированная информация стала максимально удобной для восприятия.

Поэтому я уверен, что книга пригодится всем, кто работает с Parser или только начинает его использование.

CNews: Чего нам ожидать от Parser в ближайшем будущем?

Константин Моршнев: Я буду и дальше развивать язык, выпуская обновления по мере накопления улучшений. Как показал опыт, даже спустя десятилетия находишь, что добавить и что оптимизировать. В планах — продолжать расширять функциональность, особенно в том, что касается интеграции с современными технологиями. Мир веб-разработки не стоит на месте, появляются новые протоколы, форматы, практики, и мы стараемся, чтобы Parser этому соответствовал. Задач много, но приоритет будет определяться запросами пользователей: в первую очередь внимание получат те направления, которые вызывают наибольший интерес.

Вокруг Parser сформировалось уникальное сообщество, а сама технология проверена временем. Так что основная задача — сохранить динамику развития, регулярно радовать пользователей обновлениями. Приглашаю всех попробовать Parser 3.5.0, поделиться впечатлениями на нашем форуме — обратная связь очень ценна. А тем, кто хочет глубже изучить язык, рекомендую наше новое пособие.

Иван Петров