Libro de Dan (
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