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

Ден Бук (Дан Бук), който поддържа над 70 модула в CPAN, извърши анализ на рисковете при реализирането на предложеното план за внедряване на Perl 7. Напомняме, че във версия Perl 7 се планира по подразбиране да бъде включен режим на строга проверка «strict», да бъде активиран «use warnings» и да бъдат променени стойностите на редица параметри, влияещи на съвместимостта със стария код.

Очаква се изменението да доведе до неработоспособност на много модули от CPAN в Perl 7 и да изисква промени в всеки такъв модул, което е нереалистично за изпълнение в уговорената година, особено с оглед на факта, че не всички автори остават достъпни. Нововъведенията в 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

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster