PDA

Просмотр полной версии : Анализ рисков при воплощении в жизнь инициативы Perl 7


Suicide
06.07.2020, 19:29
Дэн Бук (Dan Book (https://metacpan.org/author/DBOOK)), поддерживающий более 70 модулей в CPAN, провёл анализ (http://blogs.perl.org/users/grinnz/2020/07/perl-7-a-risk-benefit-analysis.html) рисков при воплощении предложенного плана внедрения Perl 7 (https://www.opennet.ru/opennews/art.shtml?num=53226). Напомним, что в ветке Perl 7 намереваются включить по умолчанию режим строгой проверки "strict", активировать "use warnings" и изменить значение ряда параметров, влияющих на совместимость со старым кодом.

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

Кроме того упоминаются такие возможные проблемы:


Путаница у новичков из-за неработоспособности в Perl 7 некоторых примеров и рекомендаций из руководств, написанных для Perl 5.

Не изучено влияние на разработку однострочников. Perl активно используется не только для написания больших скриптов, но и для создания однострочников и коротких сценариев для нужд администраторов, в которых использование режима strict излишне.

У дистрибутивов возникает проблема одновременной поставки исполняемых файлов для запуска скриптов Perl 7 и Perl 5 (ожидается повторение истории с Python 2 и 3).

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

Различные утилиты и модули, завязанные на Perl 5, потребуют внесения исправлений.

Подготовка Perl 7 из-за перераспределения ресурсов на какое-то время заморозит разработку новых возможностей Perl.

Возникает риск выгорания и ухода активных разработчиков интерпретатора Perl, модулей, инструментариев и сопровождающих пакетов из-за возникновения большой дополнительной нагрузки без должной мотивации (не все согласны с необходимостью создания Perl 7).

Фундаментально поменяется культура в сообществе и отношение к стабильности Perl.

Будет подорван авторитет языка из-за критики о нарушении совместимости Perl 7 с существующим кодом при отсутствии чего-то принципиально нового.
Для сглаживания негативных последствий Дэн Бук предложил свой план, который позволит избежать разрыва совместимости. Предлагается сохранить прежний процесс разработки и вместо 5.34.0 присвоить следующему выпуску номер 7.0.0, в котором отключить поддержку косвенной нотации вызова объектов и включить некоторые новые возможности, такие как try/catch. Изменения, такие как "use strict" и "use warnings", предлагается регулировать явным указанием версии Perl в коде через прагму "use v7" (strict уже по умолчанию включается для "use v5.12" и более новых выпусков).

По умолчанию в интерпретаторе рекомендуется сохранить набор параметров, не отличающийся от Perl 5, за исключением штатного процесса чистки устаревшего синтаксиса, применявшегося и ранее. Поддержку старых возможностей и устаревшего синтаксиса можно как и раньше прекращать в соответствии с существующими правилами перевода функциональности в разряд устаревшей. Сигнализировать про использование в коде новых элементов Perl 7 и для разделения нового и старого стилей предлагается при помощи прагмы "use v7".

04.07.2020

https://www.opennet.ru/opennews/art.shtml?num=53284​

altblitz
07.07.2020, 07:34
Наталия, именем красивым тебя с рождения нарекли,

начнём писать посты позитивные и делать наш мир - лучше и доброжелательнее?

Ты красива, воспитанна, прелестна, умна и мила, как никто иная в свете нашем!

https://i.imgur.com/4tq9fxB.png