Pull to refresh
VK
Building the Internet

Moscow.pm в офисе Mail.Ru Group: о Play Perl и предрассудках Perl-программистов

Reading time 3 min
Views 7.2K
4 апреля мы открыли двери своего офиса для встречи сообщества московских Perl-программистов Moscow.pm.

На встрече выступили программист проекта Деньги Mail.Ru Елена Шишкина, руководитель направления в проекте Почта Mail.Ru Владимир Перепелица и разработчик поиска по блогам Яндекса Вячеслав Матюхин.


Moscow.pm — участник всемирной ассоциации Perl Mongers, насчитывающей свыше двухсот сообществ по всему миру. Все они поддерживают отношения друг с другом, стремятся создавать комфортные условия для профессионального роста своих участников, осуществлять совместные проекты и делиться идеями. Технические оффлайн-встречи проходят раз в 2-3 месяца. На встречах разработчики делятся опытом и удачными находками в применении Perl.

Елена Шишкина, выступавшая первой, рассказала о том, как модифицировать таблицу символов динамического кода во время выполнения. Эта тема освещается во многих источниках, но не всегда понятно, как это применять на практике. Доклад Елены был посвящен именно практическим аспектам кодогенерации. «Доклад о велосипедах, которые можно изобретать, если очень хочется», — как определила его сама Елена.



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

В качестве выхода из затруднительной ситуации Елена Шишкина предложила свой способ, к которому пришла методом проб и ошибок. Это использование методов runtime кодогенерации: переопределение подпрограмм, eval и изменение таблицы символов. Она рассказала и о других способах из своего опыта: о генерации по запросу, об изменении кода сторонних модулей на лету и о многом другом.

Вячеслав Матюхин посвятил выступление возможностям своего сервиса Play Perl, который был запущен зимой 2013 года. Это предназначенный для Perl-разработчиков to-do list с игровыми элементами + социальная сеть. Здесь они выкладывают свои идеи и задачи и соревнуются в их исполнении, накапливая баллы. Во френдленте можно общаться и оставлять свои комментарии к работе друзей.



Вячеслав раскритиковал известные инструменты, такие как GitHub, Trello и Asana за недостаточную открытость и социальность, а также за то, что они не расширяют круг контактов пользователей. Критике подверглись и социальные сети — за то, что оптимизируют количество просмотров, то есть стимулируют потребление. Вячеслав же предлагает побуждать пользователей соцсетей к действию, то есть оптимизировать количество полезных дел – с помощью геймификации. Все три составляющих: социальность, направленность на действие и геймификация, по мнению Вячеслава, должны присутствовать в соцсетях будущего. Этими же принципами он руководствовался при создании Play Perl.

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



Владимир рассказал не столько о приемах и техниках, сколько об основных принципах, которыми руководствуется в работе. Четко и красиво сформулированные и емкие по смыслу принципы могут послужить руководством в работе специалиста любого профиля — не только Perl-программиста. Например: «Магии нет. Есть непонимание процессов», «Не используй, не изучив. Не используй, не понимая». «Не верь предрассудкам. Они сложились при других обстоятельствах».

Среди развенчанных им предрассудков, часто встречающихся в среде Perl-разработчиков, были, к примеру, такие: «Предварительная оптимизация – зло!», «Не надо экономить на спичках – надо писать удобный код», «Компилятор умнее», «С быстрее, чем Perl». Каждое из этих утверждений может быть как верным, так и неверным в зависимости от ситуации, заявил Владимир и подкрепил свою убежденность множеством плохих и хороших примеров.

Встреча получилась насыщенной, а обсуждение услышанного порой было не менее увлекательным, чем сами доклады. Вообще, айтишные встречи, конференции и другие события мы организовываем и принимаем у себя уже давно, и планируем делать это еще чаще (тем более что недавно мы переехали в новый офис, где для этого еще больше залов, экранов и пуфиков). Наша следующая встреча состоится уже 4 июля, и будем очень рады всех вас видеть. Естественно, такие встречи невозможны без докладчиков — если вам есть, о чем рассказать, пишите Dzirtik. Ну а если вы знаете хорошее мероприятие, которому не хватает площадки — отписывайтесь в комментариях!
Tags:
Hubs:
+27
Comments 2
Comments Comments 2

Articles

Information

Website
vk.com
Registered
Founded
Employees
5,001–10,000 employees
Location
Россия
Representative
Миша Берггрен