Kniha Dan (
Očekává se, že tato změna naruší velké množství modulů CPAN v Perlu 7 a bude vyžadovat změny každého modulu, což je nereálné implementovat v cílovém roce, zejména proto, že ne všichni autoři zůstávají k dispozici. Změny v Perlu 7 také zabrání použití modulů, které jsou navrženy tak, aby podporovaly více než jen nejnovější verzi Perlu.
Kromě toho jsou zmíněny následující možné problémy:
- Zmatek mezi začátečníky kvůli některým příkladům a doporučením z příruček napsaných pro Perl 7, které nefungují v Perlu 5.
- Dopad na vývoj jednovrstvých lodí nebyl studován. Perl je aktivně využíván nejen pro psaní velkých skriptů, ale také pro tvorbu jednořádkových a krátkých skriptů pro potřeby administrátorů, ve kterých je použití přísného režimu zbytečné.
- Distribuce mají problém se současným doručováním spustitelných souborů pro běh skriptů Perl 7 a Perl 5 (očekává se, že příběh se bude opakovat s Pythonem 2 a 3).
- Kód napsaný pro Perl 7 nemusí konkrétně uvádět, že nepoběží v Perlu 5; mnoho vývojářů neurčuje minimální podporovanou verzi.
- Různé nástroje a moduly založené na Perlu 5 budou vyžadovat opravy.
- Příprava Perlu 7 kvůli přerozdělení zdrojů na nějakou dobu zmrazí vývoj nových funkcí Perlu.
- Hrozí vyhoření a odchod aktivních vývojářů interpretu Perl, modulů, nástrojů a doprovodných balíčků z důvodu velkého dodatečného vytížení bez patřičné motivace (ne každý souhlasí s nutností vytvářet Perl 7).
- Kultura v komunitě a postoj ke stabilitě Perlu se zásadně změní.
- Autorita jazyka bude podkopána kvůli kritice, že Perl 7 je nekompatibilní s existujícím kódem při absenci něčeho zásadně nového.
Aby vyhladil negativní důsledky, Dan Book navrhl svůj plán, který zabrání mezerám v kompatibilitě. Navrhuje se zachovat stejný vývojový proces a místo 5.34.0 přiřadit další číslo vydání 7.0.0, ve kterém zakážeme podporu zápisu nepřímého volání objektů a povolíme některé nové funkce, jako je try/catch. Navrhuje se, aby změny jako „použít přísné“ a „upozornění na použití“ byly regulovány výslovným uvedením verze Perl v kódu prostřednictvím pragmatu „použití v7“ (přísné je již ve výchozím nastavení povoleno pro „použití v5.12“ a novější verze ).
Ve výchozím nastavení se doporučuje, aby si tlumočník zachoval sadu parametrů, které se neliší od Perlu 5, s výjimkou standardního procesu pro čištění zastaralé syntaxe, který byl používán dříve. Podpora starších funkcí a zastaralé syntaxe může být nadále ukončena v souladu se stávajícími pravidly pro ukončení podpory. Navrhuje se signalizovat použití nových prvků Perl 7 v kódu a oddělit nové a staré styly pomocí pragma „use v7“.
Zdroj: opennet.ru