Análise de riscos para a iniciativa Perl 7

Libro de Dan (Libro Dan), soportando máis de 70 módulos en CPAN, realizou a análise riscos ao aplicar o proposto Plan de implementación de Perl 7. Lembremos que na rama de Perl 7 pretenden activar o modo de comprobación estrita "estricto" por defecto, activar "usar avisos" e cambiar o valor dunha serie de parámetros que afectan á compatibilidade co código antigo.

Espérase que o cambio rompa un gran número de módulos CPAN en Perl 7 e requira cambios en cada módulo, o que non é realista implementar dentro do ano de destino, especialmente porque non todos os autores permanecen dispoñibles. Os cambios en Perl 7 tamén impedirán o uso de módulos deseñados para soportar máis que a última versión de Perl.

Ademais, menciónanse os seguintes posibles problemas:

  • Confusión entre os principiantes debido a que algúns exemplos e recomendacións de manuais escritos para Perl 7 non funcionan en Perl 5.
  • Non se estudou o impacto no desenvolvemento de one-liners. Perl úsase activamente non só para escribir scripts grandes, senón tamén para crear guións sinxelos e curtos para as necesidades dos administradores, nos que non é necesario o uso do modo estrito.
  • As distribucións teñen un problema coa entrega simultánea de ficheiros executables para executar scripts Perl 7 e Perl 5 (espérase que a historia se repita con Python 2 e 3).
  • O código escrito para Perl 7 non ten que sinalar especificamente que non se executará en Perl 5; moitos desenvolvedores non especificarán unha versión mínima compatible.
  • Varias utilidades e módulos baseados en Perl 5 requirirán correccións.
  • A preparación de Perl 7, debido á reasignación de recursos, conxelará durante algún tempo o desenvolvemento de novas funcións de Perl.
  • Existe o risco de esgotamento e saída dos desenvolvedores activos do intérprete de Perl, módulos, ferramentas e paquetes que o acompañan debido á gran carga de traballo adicional sen a motivación adecuada (non todos están de acordo coa necesidade de crear Perl 7).
  • A cultura na comunidade e a actitude cara á estabilidade de Perl cambiarán fundamentalmente.
  • A autoridade da linguaxe verase socavada debido ás críticas de que Perl 7 é incompatible co código existente en ausencia de algo fundamentalmente novo.

Para suavizar as consecuencias negativas, Dan Book propuxo o seu plan, que evitará unha brecha de compatibilidade. Proponse manter o mesmo proceso de desenvolvemento e, en lugar de 5.34.0, asignar o seguinte número de versión 7.0.0, no que desactivaremos o soporte para a notación de chamadas de obxectos indirectos e activaremos algunhas funcións novas como try/catch. Proponse que se regulen cambios como "use rigoroso" e "usar avisos" especificando explícitamente a versión de Perl no código mediante o pragma "use v7" (o estrito xa está activado por defecto para "use v5.12" e versións máis recentes). ).

Por defecto, recoméndase que o intérprete manteña un conxunto de parámetros que non difiran de Perl 5, coa excepción do proceso estándar para limpar a sintaxe obsoleta que se usaba antes. A compatibilidade con funcións antigas e sintaxe obsoleta pode continuar descontinuándose de acordo coas regras de desuso existentes. Proponse sinalar o uso de novos elementos Perl 7 no código e separar os estilos novos e antigos usando o pragma "use v7".

Fonte: opennet.ru

Engadir un comentario