LINUX.ORG.RU

Анонсирован выход Perl 7

 , perl7


3

2

Вчера вечером на «Perl and Raku Conference in the Cloud», Sawyer X анонсировал смену основной версии Perl с 5 на 7. Работы уже ведутся, новая версия выйдет в течение года. Большого количества изменений ждать не стоит, если коротко: Perl 7 это всё тот же Perl 5.32 с современными настройками по умолчанию. Вам больше не надо явно подключать возможности которые вы и так используете, их включат для вас!

Что включат?
Полного списка пока нет, но strict и warnigs точно! В 7м релизе сигнатуры скорей всего останутся экспериментальными, utf8 тоже включить не успеют.

Что будет отключено?

  • Непрямой вызов методов:
    {;
        package Foo;
    
        sub new { bless {} }
        sub bar { print "Hello from bar()!\n" x pop }
    }
    
    # Нормальный вызов
    my $foo = Foo->new();
    # Непрямой вызов
    bar $foo 42;
    

  • Пустые слова (barewords) как идентификаторы дескрипторов (за исключением стандартных (STDIN, STDOUT, STDERR))
  • Псевдо многомерные хэши в стиле Perl 4.
    # примеры взяты из perldoc perlvar
    $foo{$x,$y,$z}
    # на самом деле означает $foo{join($;, $x, $y, $z)}
    

  • Старые прототипы в стиле Perl 4. Теперь нужно писать только так:
    sub foo :prototype($$) ($left, $right) {
        return $left + $right;
    }
    

    Сначала прототип влияющий на компиляцию вызовов, а затем сигнатуры помещающие аргументы в соответствующие переменные во время выполнения.

Тем не менее, останется возможность вернуть всё обратно оптом:

use compat::perl5;
Или по-одному.

Perl 5.32 переходит в режим долгой поддержки на срок от 5 лет.

Развёрнутый анонс от Брайана Д Фоя: https://www.perl.com/article/announcing-perl-7/
TL;DR версия от него же: http://blogs.perl.org/users/brian_d_foy/2020/06/the-perl-7-tldr.html

>>> Подробности

★★★★★

Проверено: alpha ()
Последнее исправление: alpha (всего исправлений: 3)

utf8 тоже включить не успеют.

Жесть какая-то, уж сколько лет языку-то…

Полного списка пока нет, но strict и warnigs точно!

А вот это хорошо.

X-Pilot ★★★★★
()
Последнее исправление: X-Pilot (всего исправлений: 1)
Ответ на: комментарий от X-Pilot

Мне кажется ты не понимаешь о чём речь. use utf8; - директива которая говорит, что в исходном тексте могут использоваться юникод-символы. Она прекрасно работает, но видать если включить её по умолчанию, какие-то файлы перестанут работать. А так-то Perl образец в плане поддержки юникода.

perl5_guy ★★★★★
() автор топика
Ответ на: комментарий от X-Pilot

Я уже over 5 лет разрабатываю на Perl’е и курс по нему в ВУЗе вёл. Не просто так разглагольствую.

За Python стоит Google с миллиардами долларов, а за Perl’ом - нищая TPF собирающая пожертвования. Разработчики на Perl есть, но у них ЗП обычно высокие. Похоже дядьки из MusicBrainz хотят найти тех кто за еду перепишет код с Perl на Python. Неудивительно что желающих нет.

perl5_guy ★★★★★
() автор топика

А вот это уже драма, пацаны. HEREDOC выкинут?

Надо понять что такое гуакамоле. Новый парсер для Perl или что? Видео есть с конференции.

perl5_guy ★★★★★
() автор топика
Последнее исправление: perl5_guy (всего исправлений: 1)
Ответ на: комментарий от perl5_guy

А так-то Perl образец в плане поддержки юникода.

Ну если так, то ладно.

Похоже дядьки из MusicBrainz хотят найти тех кто за еду перепишет код с Perl на Python.

Нет, они не переписывают флагманский проект и тянут Perl (https://github.com/metabrainz/musicbrainz-server ), но для новых проектов используют другой стек (https://github.com/metabrainz ). Там каждый раз (раз в несколько лет), когда очередной разработчик MusicBrainz уходит - это маленькая трагедия.

X-Pilot ★★★★★
()
Последнее исправление: X-Pilot (всего исправлений: 1)
Ответ на: комментарий от perl5_guy

Разработчики на Perl есть, но у них ЗП обычно высокие.

Я еще помню времена когда перл-макаки за доширак строгали CGI-скрипты. Тогда любой птушник мог освоить перл за 24 часа. С чего это вы теперь такие элитные стали?

anonymous
()
Ответ на: комментарий от anonymous

Макаки перешли на мейнстримовые языки, а на Perl’е остались только серьёзные пацаны.

perl5_guy ★★★★★
() автор топика

Посмотрел я видяшку про Guacamole. Это некоторое подмножество языка Perl, которое всегда будет парсится однозначно. Как следствие есть прагма standard, которая заставляет интерпретатор ругаться, если код не удовлетворяет этой грамматике. Это не ванильная разработка, не имеет ничего общего с ядром, тем не менее, может подарить сообществу кучу крайне полезных инструментов.

perl5_guy ★★★★★
() автор топика

Д Фой уже книжку написал на 103 страницы про переход на Perl7. В данный момнет 77 копий доступны для скачивания бесплатно. Посмотрите в свитере.

perl5_guy ★★★★★
() автор топика

…Sawyer X анонсировал… …анонс от Брайана Д Фоя…

Кто все эти люди? Где Ларри Уолл?

утф8 выпилили, всю совместимость сломали. Нинужно.

alexws54tk
()
Ответ на: комментарий от alexws54tk

Крайне авторитетный человек в сообществе. Загугли

perl5_guy ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.