Ден Бук (), който поддържа над 70 модула в CPAN, на рисковете при реализирането на предложеното . Напомняме, че във версия 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
