В начале февраля в офисе 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)
alaska332
02.03.2016 01:21Я нанимал людей в свое время. Много.
Программера выше среднего найти тяжело для любой платформы.pansa
02.03.2016 01:31Тяжело найти бывает разным. Одно дело — найти и выбрать достойных, среди моря предложений. Другое — найти более-менее подходящего среди скудной группы когда-либо работавших с Perl.
Я ничего не имею против языка, но спорить с тем, что Perl разработчиков просто физически мало, мне кажется, нет смысла.
pcdesign
02.03.2016 10:40А выложите видео в ваш канал на ютюбе?
https://www.youtube.com/channel/UCXG2gjCfXDkvg9TfPmNXPIg
BoogerWooger
10.03.2016 14:23После Perl переехать на Python, например, очень просто. Проверено на личном опыте и опыте многих коллег, никаких проблем это не вызывает. Поддержка Perl у питонистов, тоже вполне себе подъёмная задача. Сядьте на пару дней в перловый код какого нибудь нормального проекта, а потом оцените свои высказывания про его синтаксис. Не вижу между этими языками особой разницы, где то что-то удобней, где то что то корявей, идеального все равно нет, а свою мощь и удобство Perl доказал уже много раз.
beduin01
Господи, может хватит труп мучить?
Сейчас только упоротый человек будет на нем новый проект писать, а старые или сами помирают или понемногу переползают на более живые языки Ruby, Perl, Go.
ef_end_y
Ха-ха, Питон хотел написать? На самом деле говорить о том, что перл не нужен — это глупо ибо есть целый класс невебовых задач, на которых свет клином не сошелся. Сам пишу на Питоне последние 2 года (работа), но для своих проектов использую перл — у него есть преимущества для моих задач.
Apathetic
Есть как минимум один огромный старый проект, который не собирается никуда переползать — букинг.ком
alaska332
А что, объективно, не так с перлом?
Новые релизы, вроде, каждый год.
Стабилен.
Живое коммьюнити.
Что еще надо?
lastmac
Мне кажется или троллят нас, — "на более живые языки Ruby, Perl, Go.". Мне перл нравится. Он стабилен и надежен. Он помогает решать очень много задач + к нему можно прикрутить С и вообще стать непобедимым (к другим тоже можно, да) :)
alaska332
В том-то и дело, что когда доходит до конкретики — кроме необоснованных претензий к богатому синтаксису сказать нечего.
Я на перле делаю сложные вещи, многопоточные, асинхронные, кроссплатформенные, клиент-серверные и высокопроизводительные, со сложной системой классов, могу собрать все в независимый бинарь. Работает быстро и надежно. Что еще надо?
pansa
Ещё надо разработчиков. Которых днём с огнем не найти. И вот тут проблема. Когда у вас под сотню различных сервисов, написанных на Perl, а один из разработчиков вдруг решает, что ему надоело и уходит. А рано или поздно это случится с каждым, хорошо ли, плохо ли вы управляете группой.
Это проблема. И я не фантазирую, это вполне реальная ситуация. Perl-ера с опытом написания чего-то посложнее «ну вот я парсил логи/тексты/базы...» и «поддерживал вебку», как минимум в СПб, весьма проблемматично.
pansa
Ну и еще такой момент, что для ухода с 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;
alaska332
Это типичный неформатированный говнокод, написанный джуниором.
Хотите увидеть такой-же на любом другом языке программирования?
@{[ ( $dir ) x 2 ]}; — вот это, например. Создается ссылка на массив и сразу разыменовывается. Зачем? И прочитать невозможно, надо думать, что это за херь.
Много лишних скобок.
Причем тут Perl?
Да, на перле меньше, но из них средних и выше гораздо больше. Кому нужны сонмы кодеров на пхп, где все они работают и какую пользу они приносят?
BoogerWooger
Такое на Перле можно написать если калякаешь временный скрипт, не особо заморачиваясь и достраивая его по надобности. Но уж никак не в серьёзном проекте, где твоим кодом будут пользоваться другие.
alaska332
Если используете vim — можно подключить realtime Perl::TIdy + Perl::Critic.
Все автоматическим форматируется по единым правилам + моментальный статический анализ кода с указанием ошибок.
dmrt
А не надо так писать.
Если конечно, это не один не большой файл-скрипт, только для себя, например для порабощения человечества.