3 pontos por kunggom 2020-06-25 | 3 comentários | Compartilhar no WhatsApp

O Perl anunciou novidades sobre a versão 7. (em inglês) O Perl 7 será lançado no próximo ano (2021).

Perl é uma linguagem interpretada, de alto nível e tipagem dinâmica, apresentada pela primeira vez por Larry Wall em 1987. Tem boa portabilidade e retrocompatibilidade, além de excelente capacidade de processamento de strings, por isso é usada para criar vários tipos de scripts e também em áreas como linguística e bioinformática. Até o começo dos anos 2000, também era muito usada em programação web. Naquela época, lembro que o termo CGI (Common Gateway Interface) às vezes era usado de forma equivocada quase como se se referisse à combinação do servidor Apache HTTP com a linguagem Perl. Como Perl vem instalado por padrão na maioria dos sistemas Linux e no macOS, ele pode ser usado imediatamente. Verificando agora, vejo que no macOS 10.15 do meu MacBook está instalado o Perl v5.18.4, e no Ubuntu 20.04 rodando em um Raspberry Pi 4 está instalado o Perl v5.30.0.

O Perl 6 começou a ser projetado em 2000, quando o Perl 5.6 foi anunciado, com o objetivo de abandonar a retrocompatibilidade e eliminar de vez vários pontos irracionais acumulados por razões históricas. Porém, após um atraso muito longo no lançamento, acabou sendo separado de vez em 2019 como uma linguagem distinta chamada Raku. Por esse motivo, o Perl pula a versão 6 e passa diretamente para a versão 7. Além disso, o Perl 7 deverá ser basicamente muito parecido com a atual versão estável mais recente, a 5.32, mas usará configurações padrão mais modernas e seguras. Caso essas configurações causem problemas de compatibilidade, será possível usar um modo de compatibilidade que aplica as configurações do Perl 5. Isso significa que scripts Perl já usados hoje e a enorme base de código existente no CPAN (Comprehensive Perl Archive Network) poderão continuar sendo usados também no Perl 7 com o mínimo de modificações.

3 comentários

 
yongbin 2020-06-26

Obrigado pelo resumo. Vou comentar porque há alguns pontos um pouco diferentes do que eu conheço.

  1. O objetivo de design do perl6 não era remover as irracionalidades do perl5. Como o perl6 buscava refletir de forma básica, sobre o espírito fundamental do perl5, paradigmas de programação mais modernos e uma estrutura de runtime no núcleo da linguagem, ele não tinha como objetivo substituir o perl5. Portanto, em vez da relação entre Python 3 e Python 2, é mais adequado vê-la como a relação entre C e C++.

  2. O perl6 não mudou de nome para Raku porque seu lançamento atrasou. O perl6 foi lançado oficialmente no Natal de 2015, e existem várias VMs e runtimes. A mudança de nome em 2019 foi, como dito acima, uma escolha para destacar melhor a relação independente entre perl5 e perl6.

Obrigado.

 
kunggom 2020-06-26

Entendo. Obrigado pelo comentário.

 
yongbin 2020-06-26

Obrigado pelo post!