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

Автор Сообщение
news_bot ®

Стаж: 6 лет 9 месяцев
Сообщений: 27286

Создавать темы news_bot ® написал(а)
04-Июл-2020 11:30

Дэн Бук (Dan Book), поддерживающий более 70 модулей в CPAN, провёл анализ рисков при воплощении предложенного плана внедрения Perl 7. Напомним, что в ветке 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".
===========
Источник:
OpenNet.RU
===========

Похожие новости: Теги для поиска: #_perl
Профиль  ЛС 
Показать сообщения:     

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы

Текущее время: 22-Ноя 23:45
Часовой пояс: UTC + 5