URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 96045
[ Назад ]

Исходное сообщение
"Релиз интерпретатора языка программирования Perl 5.20"

Отправлено opennews , 27-Май-14 19:31 
После года разработки представлена (http://www.nntp.perl.org/group/perl.perl5.porters/2014/05/ms...) новая стабильная ветка языка программирования - Perl 5.18 (https://metacpan.org/release/RJBS/perl-5.20.0/). В рамках подготовки нового выпуска было изменено около 470 тыс. строк кода, изменения затронули 2900 файлов, в разработке приняли участие 124 разработчика.

Ветка 5.20 выпущена в соответствии с утверждённым четыре года назад фиксированным графиком разработки, подразумевающим выпуск новых стабильных веток раз в год и корректирующих релизов - раз в три месяца. Примерно через месяц планируется выпустить первый корректирующий релиз Perl 5.20.1, в котором будут исправлены наиболее значительные ошибки, выявленные в процессе внедрения Perl 5.20.0. Одновременно с выходом Perl 5.20 прекращена поддержка ветки 5.16, для которой в будущем могут быть выпущены обновления только в случае выявления критических проблем с безопасностью. Также начался процесс разработки экспериментальной ветки 5.21, на базе которой в мае 2015 года будет сформирован стабильный релиз Perl 5.22.

Ключевые улучшения (http://search.cpan.org/~rjbs/perl-5.20.0/pod/perldelta.pod), добавленные в Perl 5.20:

-  Экспериментальная поддержка сигнатур функций (http://search.cpan.org/~rjbs/perl-5.20.0/pod/perlsub.pod#Sig...), позволяющих явно определить перечень переменных, используемых в функции и автоматизировать операции проверки и  присвоения значений из массива входящих параметров.  Для активации поддержки сигнатур функций необходимо указать директиву "use feature 'signatures'"; Например, ранее используемый код:

<font color="#461b7e">
    sub foo {
        die "Too many arguments for subroutine" unless @_ <= 2;
        die "Too few arguments for subroutine" unless @_ >= 2;
        my($left, $right) = @_;
        return $left + $right;
    }
</font>


при использовании сигнатур может быть заменён на:

<font color="#461b7e">
    sub foo ($left, $right) {
        return $left + $right;
    }
</font>


При вызове foo с числом аргументов, отличным от двух, интерпретатор выведет ошибку. Синтаксис сигнатур также позволяет указывать необязательные аргументы и задавать значения, используемые  по умолчанию в случае отсутствия аргумента. Например, указав "sub foo ($left, $right = 0)" второй аргумент становится необязательным. В операции присваивания можно указать произвольное выражения, в том числе с использованием других переменных из списка или глобальных переменных. Указание вместо переменной хэша или массива (например, "sub foo ($left, @right)") приведёт к возможности передачи одного и более аргументов.


В списке также поддерживается специальная переменная "$", которая позволяет игнорировать часть аргументов, например, "sub foo ($left, $, $right)" позволит выполнить копирование в переменные только первого и третьего аргумента, при этом в функцию необходимо передать ровно три аргумента. Возможность обращения к параметрам через массив "@_" сохраняется, поэтому второй аргумент можно получить как значение "$_[1]";

-  Для определения прототипов функций (http://search.cpan.org/~rjbs/perl-5.20.0/pod/perlsub.pod#Pro...), предоставляющих средства для проверки аргументов на этапе компиляции, а не в процессе выполнения, обеспечена поддержка  атрибута ":prototype", например, теперь можно указать "sub foo :prototype($$);" вместо "sub foo ($$);". "$$" подразумевает вызов с двумя аргументами. Для определения типа аргумента могут использоваться такие символы, как "$" (переменная), "@" (массив), "+" (ссылка на массив или хэш), "*" (файловый десктиптор). Для отделения обязательных аргументов от опциональных используется знак ";". Для прототипов функций допускается указание сигнатур, например, "sub foo :prototype($$) ($left, $right)";

-  Функция rand() переведена на использование для всех платформ более качественного последовательного генератора псевдослучайных чисел drand48(). Ранее для 48-битовый генератор  псевдослучайных чисел использовался только для POSIX-систем, таких как Linux, а в Windows применялась менее безопасная 15-битная реализация;


-  Новый синтаксис для операции разделения хэшей и массивов (slice (http://search.cpan.org/~rjbs/perl-5.20.0/pod/perldata.pod#Ke...)) - %hash{...} и %array[...], при использовании которого возвращается список из пар ключ/значение или номер/значение;

-  Добавлена экспериментальная операция постфиксного разыменования (postderef). Например, операция "$sref->$*" эквивалентна "${ $sref }", "$aref->@*" аналогична "@{ $aref }", а "$href->%{ ... }" можно использовать вместо "%$href{ ... }". Для активации поддержки необходимо указать директиву "use feature 'postderef_qq'";
-  Поддержка Unicode 6.3 (http://www.unicode.org/versions/Unicode6.3.0). Для регулярных выражений добавлена поддержка маски "\p{Unicode}", которая является синонимом "\p{Any}" и срабатывает для кодов символов в диапазоне 0 - 0x10FFFF.-  Директива "use locale" теперь может применяться с локалями UTF-8 (ранее поддерживались только однобайтные локали). Добавлена опция "-DL" для отслеживания настроек локали в процессе запуска интерпретатора;

-  Улучшена работа на 64-разрядных платформах. Внутренние функции работы с массивами переведены на использование 64-разрядных смещений, что позволяет создавать массивы, содержащие более 2^31 элементов. Движок регулярных выражений теперь может работать со строками длиннее
2^31 символов. Функции PerlIO_get_bufsiz, PerlIO_get_cnt, PerlIO_set_cnt и PerlIO_set_ptrcnt переведены с типа int на тип SSize_t;

URL: http://perlnews.org/2014/05/perl-5-20-released/
Новость: http://www.opennet.me/opennews/art.shtml?num=39865


Содержание

Сообщения в этом обсуждении
"Релиз интерпретатора языка программирования Perl 5.20"
Отправлено Аноним , 27-Май-14 19:31 
> Экспериментальная поддержка сигнатур функций

Шел 2014-й год.


"Релиз интерпретатора языка программирования Perl 5.20"
Отправлено Аноним , 27-Май-14 19:44 
Perl застраял в 20 веке

"Релиз интерпретатора языка программирования Perl 5.20"
Отправлено свободный бздун , 27-Май-14 19:49 
Молодой человек, вы ничего не понимаете! Это же — классика!

"Релиз интерпретатора языка программирования Perl 5.20"
Отправлено Anonymus , 27-Май-14 20:23 
Я тоже не пойму зачем портить классику. Придумали же вон, LLVM, любой школьнег теперь может любой язык себе замастырить.

"Релиз интерпретатора языка программирования Perl 5.20"
Отправлено kurokaze , 27-Май-14 23:53 
Ты его просто не с той стороны применял, вот он и "застраял"

"Релиз интерпретатора языка программирования Perl 5.20"
Отправлено Аноним , 27-Май-14 20:06 
>Директива "use locale" теперь может применяться с локалями UTF-8 (ранее поддерживались только однобайтные локали)

Это круче в 2014-м


"Релиз интерпретатора языка программирования Perl 5.20"
Отправлено vsespb , 28-Май-14 00:06 
Не знаете, наверное, о чём говорите. Эта use locale на практике не используется обычно. И её поддержка к поддержке unicode и всего хорошего, что с ним связано, не имеет отношения. Так же почитайте внимательно что именно с ней сделали https://metacpan.org/pod/distribution/perl/pod/perldelta.pod... (если perl знаете)

"Релиз интерпретатора языка программирования Perl 5.20"
Отправлено angra , 27-Май-14 20:30 
И наконец-то сжалились над товарищами с квадратно-гнездовым мышлением, приходящими с других ЯП, и запилили для них костыль. Осталось добавить в ядро какую-нибудь надстройку над ООП вроде moo, а то дефолтное ООП беднягам тоже мозг выносит.

"Релиз интерпретатора языка программирования Perl 5.20"
Отправлено freehck , 27-Май-14 20:38 
В общем-то да, это ведь всего-то лишь синтаксический сахар. К тому же, парсинг параметров при помощи @_ на мой взгляд есть штука куда более гибкая, чем может то предложить сигнатурная модель объявления функции.

"Релиз интерпретатора языка программирования Perl 5.20"
Отправлено еще 1 аноним , 28-Май-14 09:08 
И более запутанная. Пример наглядно показывает как 4 строчки вырождаются в 1 (понятно что в откомпиленном те же 4 строчки и остались). На мой взгляд сигнатурный способ позволяет уже на этапе написания избежать кучи ошибок. Но заметьте, никто старый способ не выпилил, поэтому дело вкуса и необходимости. Хочется писать по-старому / нужно парсить переменное количество аргументов - пишите, никто вам не запрещает

"Релиз интерпретатора языка программирования Perl 5.20"
Отправлено Pilat , 28-Май-14 12:31 
> И более запутанная. Пример наглядно показывает как 4 строчки вырождаются в 1
> (понятно что в откомпиленном те же 4 строчки и остались). На
> мой взгляд сигнатурный способ позволяет уже на этапе написания избежать кучи
> ошибок. Но заметьте, никто старый способ не выпилил, поэтому дело вкуса
> и необходимости. Хочется писать по-старому / нужно парсить переменное количество аргументов
> - пишите, никто вам не запрещает

Всё равно новая версия перла станет актуальной только через несколько лет - когда до дистрибутивов дойдёт, так что вопрос академический. Да и надо как-то решить вопрос с объявлением параметров с помощью старого Function::Parameters, MooseX::Declare и н ового метода и понять на практике что будет при смешивании этих стилей, что будет видно в отладчиках и профайлерах, что будет делать с тавими функциями EPIC в Eclipse, как будет форматировать perltidy, и куча вопросов которые сходу не приходят в голову. Вообще нововведение выглядит очень хорошим, странно что так долго его вводили.

Не хватает Best Practice как руководства по новым возможностям перла, что рекомендуется использовать, что нет.


"Релиз интерпретатора языка программирования Perl 5.20"
Отправлено Аноним , 31-Май-14 14:50 
>> И более запутанная. Пример наглядно показывает как 4 строчки вырождаются в 1
>> (понятно что в откомпиленном те же 4 строчки и остались). На
>> мой взгляд сигнатурный способ позволяет уже на этапе написания избежать кучи
>> ошибок. Но заметьте, никто старый способ не выпилил, поэтому дело вкуса
>> и необходимости. Хочется писать по-старому / нужно парсить переменное количество аргументов
>> - пишите, никто вам не запрещает
> Всё равно новая версия перла станет актуальной только через несколько лет -
> когда до дистрибутивов дойдёт, так что вопрос академический.

Думаю, будет уже в OpenBSD 5.6 (ноябрь 2014) или 5.7 (май 2015). Эта ОС едва ли не больше прочих полагается на Perl; в первую очередь — в подсистеме управлении пакетами.


"Релиз интерпретатора языка программирования Perl 5.20"
Отправлено Q2W , 28-Май-14 12:45 
Вообще-то пример из статьи плохой, т.к. используй прототипы уже 100 лет, как можно написать так:
sub foo($$)
{
    my($left, $right) = @_;
    return $left + $right;
}

А если экономить на кол-ве строчек, так вообще можно так:
sub foo($$){shift+shift}


"Релиз интерпретатора языка программирования Perl 5.20"
Отправлено Аноним , 31-Май-14 14:52 
> Вообще-то пример из статьи плохой, т.к. используй прототипы уже 100 лет, как
> можно написать так:
> sub foo($$)
> {
>     my($left, $right) = @_;
>     return $left + $right;
> }
> А если экономить на кол-ве строчек, так вообще можно так:
> sub foo($$){shift+shift}

Прототипы были придуманы для другого: не для экономии или удобства, а для возможности создания функциональных аналогов встроенным функциям Perl вроде push().


"Релиз интерпретатора языка программирования Perl 5.20"
Отправлено TheAthlete , 28-Май-14 13:55 
На самом деле старый способ не выпилили, т.к. парсер не может выявить использование @_ в подпрограммах на этапе компиляции, т.к. некоторые части программы могут определяться только на этапе исполнения. Например, при выполнении eval кода, содержащегося в строке:

sub foo {
    eval 'say for @_';
}

Dave Mitchell также привёл пример с выполнением кода в регулярных выражениях:


$pat = qr/(?{ print "[$_]\n" for @_ })/;
sub f($str, $pat) { $str =~ $pat }

Поэтому пока переменная @_ по-прежнему доступна в функциях с сигнатурой.

См. http://pragmaticperl.com/issues/13/pragmaticperl-13-сигнатура-функции-в-perl-5.20.html#issue-переменная-_


"Релиз интерпретатора языка программирования Perl 5.20"
Отправлено Аноним , 27-Май-14 20:39 
Вам охота в каждой функции вручную проверять количество аргументов, присваивать значения по умолчанию и т. д.? Вам заняться больше нечем? Кроме того, при наличии явной сигнатуры можно проверять правильность вызова функций на этапе трансляции, а не отлавливать ошибки в редко используемых кусках кода во время исполнения.

"Релиз интерпретатора языка программирования Perl 5.20"
Отправлено www2 , 27-Май-14 20:49 
>Кроме того, при наличии явной сигнатуры можно проверять правильность вызова функций на этапе трансляции, а не отлавливать ошибки в редко используемых кусках кода во время исполнения.

Разочарую вас, но кроме сигнатур в Perl ещё есть прототипы функций. С их помощью можно проверять правильность вызова функций на этапе трансляции. Более того, я всегда ими пользуюсь и отлавливаю такие ошибки.


"Релиз интерпретатора языка программирования Perl 5.20"
Отправлено Аноним , 27-Май-14 21:59 
Не помню почему, но perlcritic на них ругается.

"Релиз интерпретатора языка программирования Perl 5.20"
Отправлено angra , 27-Май-14 23:09 
В доке их тоже рекомендуют не использовать и даже объясняют причины. В первую очередь из-за того, что многие их используют не по назначению, а для этой самой дурацкой проверки количества аргументов.

"Релиз интерпретатора языка программирования Perl 5.20"
Отправлено www2 , 06-Июн-14 16:58 
> В доке их тоже рекомендуют не использовать и даже объясняют причины. В
> первую очередь из-за того, что многие их используют не по назначению,
> а для этой самой дурацкой проверки количества аргументов.

Почему же дурацкой? Как perlcritic аргументирует свою неприязнь к такой проверке?

И не только количество проверяется, но и тип - скаляр, массив или хэш. Массив или хэш, правда, можно указать только один и только в конце, но и то хорошо. Кроме того, можно отделить точкой с запятой необязательные аргументы. Вполне себе полезный функционал, за неимением лучшего.


"Релиз интерпретатора языка программирования Perl 5.20"
Отправлено angra , 27-Май-14 21:24 
>вручную проверять количество аргументов

Не занимаюсь подобными глупостями.

>присваивать значения по умолчанию

Очень редко нужно

>при наличии явной сигнатуры можно проверять правильность вызова функций на этапе трансляции

И получить ложную уверенность в ее правильности. Спасибо, мне не нужно. Перепутать порядок следования аргументов куда легче, чем забыть их количество.

Единственное, что мне слегка надоедает писать, это строки типа
my $self=shift;
Я даже знаю несколько способов как этого избежать, но применять их мне еще более лениво :)


"Релиз интерпретатора языка программирования Perl 5.20"
Отправлено АнониМ , 27-Май-14 21:58 
>Шел 2014-й год.

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

все нововведения окромя возможно copy-on-write со строками в 20 версии имно ниочем.


"Релиз интерпретатора языка программирования Perl 5.20"
Отправлено Аноним , 27-Май-14 20:07 
А когда же Perl 6 !?

"Релиз интерпретатора языка программирования Perl 5.20"
Отправлено Аноним , 27-Май-14 20:17 
Когда Perl 6.

"Релиз интерпретатора языка программирования Perl 5.20"
Отправлено Аноним , 27-Май-14 21:01 
Это что же, не раньше, чем Perl 6?

"Релиз интерпретатора языка программирования Perl 5.20"
Отправлено angra , 27-Май-14 20:32 
Скорее всего так и останется чисто исследовательским проектом без практической реализации.

"Релиз интерпретатора языка программирования Perl 5.20"
Отправлено Угу , 27-Май-14 21:37 
В современном мире программное обеспечение становится достаточно большим и сложным, поэтому старые традиции программописательства стали неприменимы. Если раньше каждый второй анонс выхода новой версии софта начинался словами "Полностью переписана реализация ..." и при этом утаивалась причина (NIH-синдром кого-то из программистов). То сейчас уже многим стало понятно, что в современном мире такой подход неприемлем - рулит эволюционный подход. Части программных комплексов переписываются, но не внезапно, а дозировано, контролируемо, небольшими порциями, чтобы не только иметь гарантию, что в любой момент продукт работает, но и четко представлять насколько надежно он работает.

Локомотивом и самым ярким представителем в этом движении является ядро Linux - фаворит и оплот свободного ПО. Хотя, конечно, не они первые осознали необходимость данного подхода, но они своевременно осознали его необходимость и востребованность (а ведь даже сейчас еще многие не до конца осознают это). В результате такого нового подхода к разработке, отвечающего современным требованиям к скорости развития и сохранения стабильности ПО, уже нет необходимости в смене первой циферки версии (например, в PHP 5.4 эволюционно реализовали все, что планировали сделать в php6, в первую очередь - поддержку Unicode, но циферку не стали менять). Хотя, чисто по привычке ее иногда меняют (Linux 3.x.x), но четко осознают, что такое изменение чисто косметическое и не отражает внутренних изменений в продукте.

Так что теперь настала новая эпоха - эволюционных изменений ПО. Долой революции и переписывания с нуля - этот подход не работает в сколько-нибудь сложном программном комплексе. Революционные изменения (смена языка, архитектуры, фреймворка), хоть и создают иллюзию стремительного изменения, но не дают гарантии получения лучшего результата. Однако при эволюционном изменении тоже не нужно вдаваться в крайности. Перенос кнопок справа налево, смена обоев и, тем более, безвозвратное удаление элементов управления во благо "упрощения" интерфейса не являются признаками развития программного продукта (видимость какого-то изменения возникает, но всегда ли такие изменения полезны?).

Да здравствуют эволюционные изменения, которые гарантируют постепенное, но неудержимое движение к светлому будущему!

Ура, Товарищи!!!


"Релиз интерпретатора языка программирования Perl 5.20"
Отправлено Аноним , 28-Май-14 04:08 
Запор прямой кишки лечится, не надо так мучиться как ты тут :)

"Релиз интерпретатора языка программирования Perl 5.20"
Отправлено kurokaze , 27-Май-14 23:58 
> А когда же Perl 6 !?

# tail /usr/portage/dev-lang/rakudo/ChangeLog

[...]
*rakudo-2009.12 (08 Jan 2010)
  08 Jan 2010; Patrick Lauer <patrick@gentoo.org> +rakudo-2009.12.ebuild

4 года уже какбы


"Релиз интерпретатора языка программирования Perl 5.20"
Отправлено angra , 28-Май-14 09:05 
Вот только для практического применения rakudo, как впрочем и остальные реализации, не годится - тормозит просто дичайше. Они с самого начала оправдывались, что сначала сделаем все фичи, а уже потом оптимизации. То, что скорость надо будет поднять минимум на три порядка их не смущало. Последние пару лет оптимизируют. У них даже получилось ускорится на порядок, звучит круто, но только пока не вспоминаешь, что perl5 все еще на два порядка быстрее. Так что в для практиков perl6 скорее всего так и не появится.

"Релиз интерпретатора языка программирования Perl 5.20"
Отправлено kurokaze , 28-Май-14 12:51 
> Вот только для практического применения rakudo, как впрочем и остальные реализации, не
> годится - тормозит просто дичайше.

И чего? Жабка тоже тормозит по сравнению с нативом, а используют.

> два порядка быстрее. Так что в для практиков perl6 скорее всего так и не появится.

Тут дело имхо не в скокрости, а в том что народу хватает того что есть. Когда не хватает на скорость плюют.
Вот на руби жалуются что тормозит, а я например (на локальном core-i7 для своих задач) этого не очущаю



"Релиз интерпретатора языка программирования Perl 5.20"
Отправлено TheAthlete , 28-Май-14 14:04 
Где вы такое увидели?
На сайте rakudo.org:

Announce: Rakudo Star Release 2014.04

This is the first Rakudo Star release with support for the MoarVM backend (all module tests pass on supported platforms) along with experimental support for the JVM backend (some module tests fail).

Т.е. они задеплоиили поддержку в качестве бэкэнда MoarVM и экспериментальную поддержку JVM. По-моему неплохо


"Релиз интерпретатора языка программирования Perl 5.20"
Отправлено rob pike , 27-Май-14 21:02 
>The use of interpreter-based threads in perl is officially discouraged.

"Релиз интерпретатора языка программирования Perl 5.20"
Отправлено Аноним , 27-Май-14 22:28 
Да ладно, вам, зубоскалы!

Сигнатуры *давно* существовали, просто в качестве необязательных модулей, к-е можно было прикрутить к перлу. Например, https://metacpan.org/pod/Function::Parameters . Кому надо - использовал, кому не надо - не использовал.

Сейчас это в ядре перла сделали очень аккуратно, чтобы не поломать обратную совместимость, т.е. чтобы код 25-летней давности продолжал работать на современной версии интерпретатора.


"Релиз интерпретатора языка программирования Perl 5.20"
Отправлено kurokaze , 27-Май-14 23:59 
> Сейчас это в ядре перла сделали очень аккуратно, чтобы не поломать обратную
> совместимость, т.е. чтобы код 25-летней давности продолжал работать на современной версии интерпретатора.

бидонистам этого не понять, для них это ересь



"Релиз интерпретатора языка программирования Perl 5.20"
Отправлено Аноним , 28-Май-14 01:23 
>бидонистам этого не понять, для них это ересь

Orly? а ЧЕГО ЖЕ ТОГДА :
>>прекращена поддержка ветки 5.16

дЖва года прошло - и снова всё переписывай?


"Релиз интерпретатора языка программирования Perl 5.20"
Отправлено rob pike , 28-Май-14 01:39 
>прекращена поддержка ветки 5.16

Это означает что не будет 5.16.4, 5.16.5 и так далее.


"Релиз интерпретатора языка программирования Perl 5.20"
Отправлено Аноним , 28-Май-14 04:11 
>>прекращена поддержка ветки 5.16
> Это означает что не будет 5.16.4, 5.16.5 и так далее.

Ну я и говорю - как и в питоне, уже нет 1.*, 2.[123].* ...


"Релиз интерпретатора языка программирования Perl 5.20"
Отправлено chinarulezzz , 28-Май-14 05:09 
версий нет, но код то есть. И этот код сам не перепишется под новые версии питона 3.*, 4.*, 5.*, а в перле и переписывать не надо, всё и так работает.

"Релиз интерпретатора языка программирования Perl 5.20"
Отправлено Аноним , 28-Май-14 17:27 
> версий нет, но код то есть. И этот код сам не перепишется
> под новые версии питона 3.*, 4.*, 5.*, а в перле и

_как_и_в_перле_ :)
> переписывать не надо, всё и так работает.

И не надо звиздеть что оно само. А если "с лёгким напильником" - дык и у змеев есть 2->3 конвертер и тоже почти работающий :)))



"Релиз интерпретатора языка программирования Perl 5.20"
Отправлено Аноним , 28-Май-14 17:39 
Ты не уловил снова. Идет развитие ветки 5.xx - это значит код в версии 5.xx работает в версии 5.yy, где xx <= yy.

"Релиз интерпретатора языка программирования Perl 5.20"
Отправлено kurokaze , 28-Май-14 12:54 
> Ну я и говорю - как и в питоне, уже нет 1.*,
> 2.[123].* ...

Когда вы говорите, такое впечатление что вы бредите (с)

dev-lang/python
     Available versions:  
     (2.6)  [M]2.6.8-r3 [M]~2.6.9
     (2.7)  2.7.5-r3 ~2.7.5-r4 2.7.6 ~2.7.6-r1
     (3.2)  3.2.5-r3 ~3.2.5-r4
     (3.3)  3.3.2-r2 3.3.3 ~3.3.4 ~3.3.5
     (3.4)  ~3.4.0_rc1 ~3.4.0_rc3 ~3.4.0

[I] dev-lang/perl [...] 5.16.3(0/5.16)


"Релиз интерпретатора языка программирования Perl 5.20"
Отправлено Аноним , 28-Май-14 17:24 
Мухаха :) Выучи регекспы перловка ! :)

"Релиз интерпретатора языка программирования Perl 5.20"
Отправлено Аноним , 28-Май-14 10:53 
Еще как понять. Ты же не думаешь, что на python3 только из-за тормозов никто не переходит?

"Релиз интерпретатора языка программирования Perl 5.20"
Отправлено Аноним , 28-Май-14 04:20 
Поздравляю перловщиков!
Хоть сам уже юзаю редко, но приятно что не бросили :)

"Релиз интерпретатора языка программирования Perl 5.20"
Отправлено Аноним , 28-Май-14 08:04 
Я так понял что модули CGI::* уходят в собственный цикл разработки и останутся?
Или замена на нечто другое?

"Релиз интерпретатора языка программирования Perl 5.20"
Отправлено Pilat , 28-Май-14 12:23 
> Я так понял что модули CGI::* уходят в собственный цикл разработки и
> останутся?
> Или замена на нечто другое?

Да просто сама модель web-сервисов как CGI скриптов уходит из моды, Mojolicious отлично маскирует всю CGI обработку, да и писать на нём проще чем создавать кучу CGI. Я уже и забыл когда нужен был CGI.pm .


"Релиз интерпретатора языка программирования Perl 5.20"
Отправлено Филимон Задумчивый , 28-Май-14 14:24 
Catalyst ещё круче

"Релиз интерпретатора языка программирования Perl 5.20"
Отправлено Pilat , 28-Май-14 14:32 
> Catalyst ещё круче

Принципиального значения не имеет, В любом случае CGI нечасто сейчас используется.

Кстати, насчёт "круче" - а где об этом почитать можно? Сравнение. Пока я знаю только то, что Catalist включает Moose и DBIC - что с моей точки зрения минус, а не плюс.


"Релиз интерпретатора языка программирования Perl 5.20"
Отправлено Andrey Mitrofanov , 28-Май-14 14:52 
> Кстати, насчёт "круче" - а где об этом почитать можно? Сравнение. Пока

Ну, %D почитай modernperlbooks.com/mt/2014/01/the-limits-of-a-programming-language-vision.html

> я знаю только то, что Catalist включает Moose и DBIC -


"Релиз интерпретатора языка программирования Perl 5.20"
Отправлено Pilat , 28-Май-14 14:54 
>> Кстати, насчёт "круче" - а где об этом почитать можно? Сравнение. Пока
> Ну, %D почитай modernperlbooks.com/mt/2014/01/the-limits-of-a-programming-language-vision.html

Там разве про Catalist vs Mojolicious ?



"Релиз интерпретатора языка программирования Perl 5.20"
Отправлено Andrey Mitrofanov , 28-Май-14 15:14 
> Там разве про Catalist vs Mojolicious ?

Там про то, то реагировать на "Catalyst ещё круче" вопросом "где об этом почитать" в новости про релиз перла неправильно. Или я опять тэги пропустил.


"Релиз интерпретатора языка программирования Perl 5.20"
Отправлено Pilat , 28-Май-14 15:17 
>> Там разве про Catalist vs Mojolicious ?
> Там про то, то реагировать на "Catalyst ещё круче" вопросом "где об
> этом почитать" в новости про релиз перла неправильно. Или я опять
> тэги пропустил.

Если встретился человек, знающий что Catalist круче Mojo, грех не спросить :)


"Релиз интерпретатора языка программирования Perl 5.20"
Отправлено Аноним , 28-Май-14 09:20 
Т.е. threads deprecated, но взамен пока ничего достойного нет?

"Релиз интерпретатора языка программирования Perl 5.20"
Отправлено angra , 28-Май-14 11:32 
Давно уже есть Coro

"Релиз интерпретатора языка программирования Perl 5.20"
Отправлено rob pike , 28-Май-14 11:34 
POE, Coro, AnyEvent, и еще пара десятков модулей.

"Релиз интерпретатора языка программирования Perl 5.20"
Отправлено Antonio , 04-Июн-14 17:49 
show me queues at "POE, Coro, AnyEvent, и еще пара десятков модулей." plz

"Релиз интерпретатора языка программирования Perl 5.20"
Отправлено Аноним , 10-Мрт-15 23:37 
Coro::Channel, у POE и AnyEvent вообще другая модель, если нужна именно многопоточность, то есть forks - эмулирующий все апи threads на нормальных форках, т.к. threads это эмуляция форков для венды.

"Релиз интерпретатора языка программирования Perl 5.20"
Отправлено Аноним , 28-Май-14 12:46 
Там же написано, пока не deprecated.

"Релиз интерпретатора языка программирования Perl 5.20"
Отправлено Антуан , 28-Май-14 13:13 
Байки из склепа.

"Релиз интерпретатора языка программирования Perl 5.20"
Отправлено Аноним , 28-Май-14 18:01 
дурачёк.

"Релиз интерпретатора языка программирования Perl 5.20"
Отправлено Kodir , 28-Май-14 17:39 
Эх, стоило не пописать на Перле лет 10, как уже совсем другие вещи! Coro, Catalist, сигнатуры... Надо освежить память и написать очередной многопоточный веб-сервер.

"Релиз интерпретатора языка программирования Perl 5.20"
Отправлено Аноним , 28-Май-14 19:25 
>очередной многопоточный веб-сервер

Mojo::Server::Hypnotoad


"Релиз интерпретатора языка программирования Perl 5.20"
Отправлено iZEN , 02-Дек-14 20:34 
Стоит ли переходить с Perl 5.18 на 5.20?