Очередной форк Perl: Piledriver

Темы:

Стало известно о появлении нового форка Perl 5.22: Piledriver (англ.копёр). Автором форка является Michael G. Schwern, который долгое время являлся одним из разработчиков Perl, автором модулей на CPAN таких, как Test::More, Class::DBI.

Форк является продолжением работы над perl5i — первой попытки «исправить» шероховатости языка в виде загружаемой прагмы, которая добавляла объектную систему, методы, сигнатуры функций и другие полезные новшества.

Что обещают в Piledriver:

  • 100% обратную совместимость с Perl 5,
  • Быстрое улучшение языка, используя свежие идеи CPAN,
  • Доброжелательность к новым разработчикам,
  • Базовые функции используют исключения в случае ошибок (аналог autodie),
  • Moose-подобная объектная система,
  • Улучшенная работа с файлами (как в Path::Tiny),
  • Улучшенная работа с датами (как в DateTime),
  • Лучшее поведение по умолчанию, меньше сюрпризов,
  • Меньше глобальных переменных,
  • Больше утилит, меньше модулей устанавливать со CPAN,
  • Лучше документация о том как участвовать в разработке,
  • Упрощение в процедуре внесения своего вклада в проект,
  • Уменьшение сложности кода,
  • Использование более дружелюбных сервисов Github и Travis CI,
  • Корректное и принципиальное сообщество,
  • Понимание важности вклада не только в виде кода,
  • Уменьшение риска от добавления новых фич.

Несмотря на кажущееся противоречие между 100% совместимостью и новыми возможностями форка, ошибки тут нет. Piledriver по умолчанию работает в режиме 100% совместимости с Perl 5, включая новые возможности по требованию:

# Это Perl 5
open my $fh, "<", $file or die "Не могу открыть файл $file: $!";

{
    # Это Piledriver
    use piledriver v1;
    my $fh = $file->path->openr;
}

Как такового, анонса Piledriver не было, по той простой причине, что он ещё не закончен и пока не работает. На данный момент идёт работа над системой исключений, как первой стабильной функции форка. Всех заинтересованных приглашают участвовать в разработке.