Análise de riscos na implementação da iniciativa Perl 7

Dan Book (Dan Book), que suporta mais de 70 módulos no CPAN, realizou uma análise dos riscos na implementação do plano de implementação do Perl 7. Vale lembrar que na linha do Perl 7 se pretende incluir, por padrão, o modo de verificação estrita 'strict', ativar 'use warnings' e alterar o valor de vários parâmetros que impactam a compatibilidade com códigos antigos.

Espera-se que essa mudança resultará em um grande número de módulos do CPAN que não funcionarão no Perl 7, exigindo alterações em cada um desses módulos, o que é irrealista para se realizar no ano previsto, especialmente considerando que nem todos os autores estão disponíveis. As inovações do Perl 7 também não permitirão o uso de módulos que são projetados para suportar apenas a versão mais recente do Perl.

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

  • Confusão entre iniciantes devido à ineficácia no Perl 7 de alguns exemplos e recomendações de guias escritos para Perl 5.
  • Não se estudou o impacto no desenvolvimento de one-liners. Perl é amplamente utilizado não apenas para escrever grandes scripts, mas também para criar one-liners e pequenos scripts para as necessidades dos administradores, onde o uso do modo strict é desnecessário.
  • Distribuições enfrentam o problema de fornecer simultaneamente executáveis para rodar scripts em Perl 7 e Perl 5 (espera-se uma repetição da história com Python 2 e 3).
  • O código escrito para Perl 7 não precisa indicar particularmente que não poderá funcionar no Perl 5, muitos desenvolvedores não indicarão a versão mínima suportada.
  • Várias utilidades e módulos dependentes do Perl 5 precisarão de correções.
  • A preparação do Perl 7, devido à realocação de recursos, congelará o desenvolvimento de novas funcionalidades no Perl por um tempo.
  • Surge o risco de burnout e saída de desenvolvedores ativos do interpretador Perl, módulos, ferramentas e pacotes de suporte devido ao surgimento de uma grande carga adicional sem a devida motivação (nem todos concordam com a necessidade de criar o Perl 7).
  • A cultura da comunidade e a relação com a estabilidade do Perl mudarão fundamentalmente.
  • A credibilidade da linguagem será prejudicada devido a críticas sobre a incompatibilidade do Perl 7 com o código existente, sem que algo fundamentalmente novo seja apresentado.

Para suavizar as consequências negativas, Dan Book propôs seu plano, que permitirá evitar a quebra de compatibilidade. Sugere-se manter o processo de desenvolvimento anterior e em vez de 5.34.0, atribuir ao próximo lançamento o número 7.0.0, no qual a compatibilidade com a notação indireta de chamada de objetos será desativada e algumas novas funcionalidades, como try/catch, serão incluídas. Alterações como 'use strict' e 'use warnings' serão reguladas pela especificação explícita da versão Perl no código através da pragma 'use v7' (strict já é habilitado por padrão para 'use v5.12' e versões mais novas).

Por padrão, recomenda-se no interpretador manter um conjunto de parâmetros que não difere do Perl 5, exceto pelo processo padrão de limpeza de sintaxe obsoleta, que era aplicado anteriormente. A compatibilidade com recursos antigos e sintaxe obsoleta pode, como antes, ser descontinuada de acordo com as regras existentes para a transição de funcionalidades para o estado obsoleto. Sinalizar o uso de novos elementos do Perl 7 no código e para diferenciar os novos e antigos estilos será feito através da pragma 'use v7'.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster