Analýza rizik při realizaci iniciativy Perl 7

Dan Book (Dan Book), který podporuje více než 70 modulů v CPAN, provedl analýzu rizik při realizaci navrženého plánu implementace Perl 7. Připomeňme, že v odvětví Perl 7 se plánuje zahrnout režim přísné kontroly „strict“ jako výchozí, aktivovat „use warnings“ a změnit hodnotu řady parametrů, které ovlivňují kompatibilitu se starým kódem.

Očekává se, že tato změna povede k nefunkčnosti velkého množství modulů z CPAN v Perl 7 a bude vyžadovat úpravy každého takového modulu, což je nerealistické realizovat během plánovaného roku, zejména s ohledem na to, že ne všichni autoři jsou stále k dispozici. Novinky z Perl 7 rovněž neumožní používat moduly, které byly navrženy pro podporu nejen poslední verze Perl.

Dále se zmiňují možné problémy:

  • Zmatek u nováčků kvůli nefunkčnosti některých příkladů a doporučení z příruček napsaných pro Perl 5 v Perl 7.
  • Není prozkoumán vliv na vývoj jednorázových skriptů. Perl se aktivně používá nejen k psaní velkých skriptů, ale i k vytváření jednorázových skriptů a krátkých scénářů pro potřeby správců, kde je použití režimu strict nadbytečné.
  • Distribuce čelí problému současného dodávání spustitelných souborů pro spuštění skriptů Perl 7 a Perl 5 (očekává se opakování historie s Pythonem 2 a 3).
  • Kód napsaný pro Perl 7 nemusí zvlášť zdůrazňovat, že nebude fungovat v Perl 5, mnozí vývojáři nebudou uvádět minimálně podporovanou verzi.
  • Různé nástroje a moduly spojené s Perl 5 budou vyžadovat opravy.
  • Příprava Perl 7 kvůli redistribuci zdrojů na nějakou dobu zmrazí vývoj nových funkcí Perl.
  • Objevuje se riziko vyhoření a odchodu aktivních vývojářů interpretátoru Perl, modulů, nástrojů a doplňkových balíčků kvůli velkému dodatečnému zatížení bez řádné motivace (ne všichni souhlasí s nezbytností vytvoření Perl 7).
  • Základně se změní kultura v komunitě a postoj k stabilitě Perl.
  • Bude podkopána autorita jazyka kvůli kritice, že Perl 7 porušuje kompatibilitu se stávajícím kódem při absenci něčeho zásadně nového.

Aby zmniejszyć negatywne skutki, Dan Book zaproponował swój plan, który pozwoli uniknąć problemów z kompatybilnością. Proponuje się zachowanie dotychczasowego procesu rozwoju i nadanie numeru 7.0.0 następnemu wydaniu zamiast 5.34.0, w którym wyłączona zostanie obsługa pośredniej notacji wywołania obiektów oraz wprowadzone zostaną nowe funkcje, takie jak try/catch. Zmiany, takie jak 'use strict' i 'use warnings', powinny być regulowane poprzez jednoznaczne wskazanie wersji Perla w kodzie za pomocą pragmy 'use v7' (strict jest już domyślnie włączony dla 'use v5.12' i nowszych wydań).

Zaleca się, aby w interpreterze zachować zestaw parametrów, który nie różni się od Perla 5, z wyjątkiem standardowego procesu czyszczenia przestarzałej składni, stosowanej wcześniej. Wsparcie dla starych funkcji i przestarzałej składni można jak wcześniej wyłączać zgodnie z istniejącymi zasadami przenoszenia funkcjonalności do kategorii przestarzałych. Sygnały dotyczące użycia w kodzie nowych elementów Perla 7 oraz dla rozróżnienia nowego i starego stylu proponuje się za pomocą pragmy 'use v7'.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster