Дэн Бук (
Чакаецца, што змена прывядзе да непрацаздольнасці ў 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