Analýza rizik pro iniciativu Perl 7

Kniha Dan (Kniha Dan), podporující více než 70 modulů v CPAN, provedl analýzu rizika při realizaci navrženého Plán implementace Perl 7. Připomeňme, že ve větvi Perl 7 hodlají standardně povolit režim přísné kontroly „strict“, aktivovat „použít varování“ a změnit hodnotu řady parametrů, které ovlivňují kompatibilitu se starým kódem.

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

Přidat komentář