Análise de Risco para a Iniciativa Perl 7

Livro de Dan (Livro de Dan), suportando mais de 70 módulos em CPAN, realizou a análise riscos ao implementar a proposta Plano de implementação Perl 7. Lembremos que no ramo Perl 7 pretendem habilitar o modo de verificação estrita “strict” por padrão, ativar “use warnings” e alterar o valor de uma série de parâmetros que afetam a compatibilidade com o código antigo.

Espera-se que a mudança quebre um grande número de módulos CPAN em Perl 7 e exija alterações em cada módulo, o que não é realista de implementar dentro do ano alvo, especialmente porque nem todos os autores permanecem disponíveis. As mudanças no Perl 7 também impedirão o uso de módulos projetados para suportar mais do que apenas a versão mais recente do Perl.

Além disso, são mencionados os seguintes possíveis problemas:

  • Confusão entre iniciantes devido a alguns exemplos e recomendações de manuais escritos para Perl 7 que não funcionam em Perl 5.
  • O impacto no desenvolvimento de one-liners não foi estudado. Perl é usado ativamente não apenas para escrever scripts grandes, mas também para criar one-liners e scripts curtos para as necessidades dos administradores, nos quais o uso do modo estrito é desnecessário.
  • As distribuições têm um problema ao entregar simultaneamente arquivos executáveis ​​para executar scripts Perl 7 e Perl 5 (espera-se que a história se repita com Python 2 e 3).
  • O código escrito para Perl 7 não precisa observar especificamente que não será executado em Perl 5; muitos desenvolvedores não especificarão uma versão mínima suportada.
  • Vários utilitários e módulos baseados em Perl 5 exigirão correções.
  • A preparação do Perl 7, devido à realocação de recursos, irá congelar o desenvolvimento de novas funcionalidades do Perl por algum tempo.
  • Existe o risco de esgotamento e saída de desenvolvedores ativos do interpretador Perl, módulos, ferramentas e pacotes que os acompanham devido à grande carga de trabalho adicional sem a devida motivação (nem todos concordam com a necessidade de criar Perl 7).
  • A cultura da comunidade e a atitude em relação à estabilidade do Perl mudarão fundamentalmente.
  • A autoridade da linguagem será prejudicada devido às críticas de que o Perl 7 é incompatível com o código existente na ausência de algo fundamentalmente novo.

Para amenizar as consequências negativas, Dan Book propôs seu plano, que evitará uma lacuna de compatibilidade. Propõe-se manter o mesmo processo de desenvolvimento e em vez de 5.34.0, atribuir o próximo número de versão 7.0.0, no qual desabilitaremos o suporte para notação de chamada indireta de objetos e habilitaremos alguns novos recursos como try/catch. Mudanças como “use strict” e “use warnings” são propostas para serem regulamentadas especificando explicitamente a versão Perl no código por meio do pragma “use v7” (strict já está habilitado por padrão para “use v5.12” e versões mais recentes ).

Por padrão, é recomendado que o interpretador mantenha um conjunto de parâmetros que não difere do Perl 5, com exceção do processo padrão para limpeza de sintaxe obsoleta que foi usado anteriormente. O suporte para recursos mais antigos e sintaxe obsoleta pode continuar a ser descontinuado de acordo com as regras de descontinuação existentes. Propõe-se sinalizar o uso de novos elementos Perl 7 no código e separar estilos novos e antigos usando o pragma “use v7”.

Fonte: opennet.ru

Adicionar um comentário