image

В начале февраля в офисе Mail.Ru Group прошла очередная встреча Moscow.pm, организованная сообществом Perl-программистов. Выступления, прозвучавшие на встрече, были посвящены теории и практическим задачам, возникающим в ходе разработки. Под катом вы найдёте видеозаписи и презентации докладов.

Дмитрий Симонов (независимый программист), «Учимся рисовать»

Краткая история о том, как сделать удобную генерацию красивых картинок без участия программистов. Были показаны примеры кода, статистика, бенчмарки, рассказано о некоторых интересных фактах. Также Дмитрий рассказал о применении Perl, словно клея, при сборке комплексных автоматизированных решений на примере фотошоп-кластера.

Видеозапись выступления
Слайды презентации

Илья Чесноков (программист в UK2 Group), «Технологии конкурентного программирования»

Используете ли вы технологии конкурентного программирования — потоки (треды), форки, асинхронный I/O? Почему использование тредов в Perl не рекомендуется? Как работает асинхронный ввод/вывод? Что такое сопрограммы и зачем они нужны? Илья рассказал о своих попытках исследования и сравнения различных технологий конкурентного (параллельного и асинхронного) программирования.

Видеозапись выступления
Слайды презентации

Павел Щербинин (руководитель групп разработки Новости и Hi-Tech в Mail.Ru Group), «Index Condition Pushdown»

В MySQL 5.6 появилась особая стратегия поиска по индексу ICP. В своём докладе Павел рассмотрел примеры и особенности её использования с помощью теоретических и практических выкладок, с живыми примерами.

Видеозапись выступления

Если вы хотите выступить на следующей встрече — пишите Павлу Dzirtik Щербинину!

Комментарии (17)


  1. beduin01
    01.03.2016 19:26
    -1

    Господи, может хватит труп мучить?

    Сейчас только упоротый человек будет на нем новый проект писать, а старые или сами помирают или понемногу переползают на более живые языки Ruby, Perl, Go.


    1. ef_end_y
      01.03.2016 22:03

      Ха-ха, Питон хотел написать? На самом деле говорить о том, что перл не нужен — это глупо ибо есть целый класс невебовых задач, на которых свет клином не сошелся. Сам пишу на Питоне последние 2 года (работа), но для своих проектов использую перл — у него есть преимущества для моих задач.


    1. Apathetic
      01.03.2016 23:06

      Есть как минимум один огромный старый проект, который не собирается никуда переползать — букинг.ком


    1. alaska332
      01.03.2016 23:13

      А что, объективно, не так с перлом?
      Новые релизы, вроде, каждый год.
      Стабилен.
      Живое коммьюнити.
      Что еще надо?


    1. lastmac
      01.03.2016 23:35
      +1

      Мне кажется или троллят нас, — "на более живые языки Ruby, Perl, Go.". Мне перл нравится. Он стабилен и надежен. Он помогает решать очень много задач + к нему можно прикрутить С и вообще стать непобедимым (к другим тоже можно, да) :)


      1. alaska332
        02.03.2016 00:13

        В том-то и дело, что когда доходит до конкретики — кроме необоснованных претензий к богатому синтаксису сказать нечего.
        Я на перле делаю сложные вещи, многопоточные, асинхронные, кроссплатформенные, клиент-серверные и высокопроизводительные, со сложной системой классов, могу собрать все в независимый бинарь. Работает быстро и надежно. Что еще надо?


        1. pansa
          02.03.2016 01:16

          Ещё надо разработчиков. Которых днём с огнем не найти. И вот тут проблема. Когда у вас под сотню различных сервисов, написанных на Perl, а один из разработчиков вдруг решает, что ему надоело и уходит. А рано или поздно это случится с каждым, хорошо ли, плохо ли вы управляете группой.
          Это проблема. И я не фантазирую, это вполне реальная ситуация. Perl-ера с опытом написания чего-то посложнее «ну вот я парсил логи/тексты/базы...» и «поддерживал вебку», как минимум в СПб, весьма проблемматично.


        1. pansa
          02.03.2016 01:25

          Ну и еще такой момент, что для ухода с Perl вам всё равно нужен Perl-разработчик. Потому что адепта другого языка при виде вот, например, такого, возможно, придется отпаивать:

          foreach my $dir ( sort { ( ( $a =~ y!/!/! ) <=> ( $b =~ y!/!/! ) ) || ( $a cmp $b ) } keys %udir ) {
          my ( %src_file, %dst_file );
          my ( $src_dir, $dst_dir ) = @{[ ( $dir ) x 2 ]};


          foreach my $dirname ( sort { ( ( $a =~ y!/!/! ) <=> ( $b =~ y!/!/! ) ) || ( $a cmp $b ) } keys %src_dirs ) {
          next if $dirname =~ /^\//;
          $dir_seen{ $dirname }++;
          }


          @to_update = map { ( $seen{ $_ } )? ( ): ( $_ ) } keys %seen;
          @to_update = map {
          ( ( ref $src_file{ $_ } eq ref $dst_file{ $_ } )
          and ( ( 'HASH' eq ref $src_file{ $_ }
          and $src_file{ $_ }{ 'size' } == $dst_file{ $_ }{ 'size' }
          and $src_file{ $_ }{ 'mtime' } == $dst_file{ $_ }{ 'mtime' }
          ) or (
          $src_file{ $_ } eq $dst_file{ $_ }
          ) ) )? ( ): ( $_ )
          } @to_update;


          1. alaska332
            02.03.2016 02:22
            +1

            Это типичный неформатированный говнокод, написанный джуниором.
            Хотите увидеть такой-же на любом другом языке программирования?

            @{[ ( $dir ) x 2 ]}; — вот это, например. Создается ссылка на массив и сразу разыменовывается. Зачем? И прочитать невозможно, надо думать, что это за херь.
            Много лишних скобок.
            Причем тут Perl?

            Да, на перле меньше, но из них средних и выше гораздо больше. Кому нужны сонмы кодеров на пхп, где все они работают и какую пользу они приносят?


            1. BoogerWooger
              10.03.2016 11:14

              Такое на Перле можно написать если калякаешь временный скрипт, не особо заморачиваясь и достраивая его по надобности. Но уж никак не в серьёзном проекте, где твоим кодом будут пользоваться другие.


              1. alaska332
                10.03.2016 13:17

                Если используете vim — можно подключить realtime Perl::TIdy + Perl::Critic.
                Все автоматическим форматируется по единым правилам + моментальный статический анализ кода с указанием ошибок.


          1. dmrt
            02.03.2016 10:57
            +1

            А не надо так писать.
            Если конечно, это не один не большой файл-скрипт, только для себя, например для порабощения человечества.


  1. alaska332
    02.03.2016 01:21

    Я нанимал людей в свое время. Много.
    Программера выше среднего найти тяжело для любой платформы.


    1. pansa
      02.03.2016 01:31

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


  1. pcdesign
    02.03.2016 10:40

    А выложите видео в ваш канал на ютюбе?
    https://www.youtube.com/channel/UCXG2gjCfXDkvg9TfPmNXPIg


    1. pkruglov
      02.03.2016 13:31

      Да, скоро будут доступны и там.


  1. BoogerWooger
    10.03.2016 14:23

    После Perl переехать на Python, например, очень просто. Проверено на личном опыте и опыте многих коллег, никаких проблем это не вызывает. Поддержка Perl у питонистов, тоже вполне себе подъёмная задача. Сядьте на пару дней в перловый код какого нибудь нормального проекта, а потом оцените свои высказывания про его синтаксис. Не вижу между этими языками особой разницы, где то что-то удобней, где то что то корявей, идеального все равно нет, а свою мощь и удобство Perl доказал уже много раз.