company_banner

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

    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. Ну а если вы знаете хорошее мероприятие, которому не хватает площадки — отписывайтесь в комментариях!
    • +27
    • 6.9k
    • 2
    Mail.ru Group
    1,317.08
    Строим Интернет
    Share post

    Similar posts

    Comments 2

      –1
      Видимо, последние попытки найти программистов на Perl-е, судя по новым вакансиям =)

        +8
        Образовательные встречи IT-специалистов проходят в нашем офисе регулярно и открыты для всех желающих. За анонсами можно следить в нашем блоге по тэгу события или в разделе события Хабраблога.

        Последняя встреча Moscow.pm была в конце ноября 2010 года, и, во многом благодаря нашему сотруднику Паше Щербинину Dzirtik, спустя 3 года мы возобновили эту традицию. Учитывая, что наши проекты изначально были написаны на Perl – это очень хорошая идея. Учитывая, что практически все крупные интернет-проекты с миллионными аудиториями используют или использовали у себя Perl, это очень актуально. Учитывая, что на докладах рассказывают о конкретных, боевых задачах, и у нас полный конференц-зал, это очень полезное мероприятие. Что касается вакансий, да, у нас есть как Perl, так и Python вакансии. И вообще, у нас используются все существующие технологии, включая, например, функциональные языки.

      Only users with full accounts can post comments. Log in, please.