7 de septiembre de 2020

Intento explicar Perl 7

Buenas,

a finales de Junio participé en la más reciente conferencia sobre Perl, https://perlconference.us/tpc-2020-cloud . La principal novedad, sobre la que ya twiteé en aquellas fechas, fue el anuncio de una nueva versión de Perl, en concreto Perl7. Han pasado ya dos meses y no hay mucho más que contar, pero parece que podemos ir haciéndonos a la idea de qué significa esto. 

Perl 7 tendrá como punto de partida la última versión de Perl5, en concreto v5.32, publicada en Enero de este año. La principal diferencia es que tendrá por defecto varias características que eran opcionales hasta ahora pero que la comunidad de desarrolladores considera son ya necesarias para modernizar el lenguaje. Éstas siguien en discusión, pero parece que van a incluir las siguientes (mira también estas FAQ):

  • enable strict by default
    • % perl -Mstrict program.pl
  • enable warnings by default
    • % perl -Mwarnings program.pl
  • disable bareword filehandles
    • % perl -M-bareword::filehandles
  • disable multidimensional array emulation (a Perl 4 trick)
    • % perl -M-multidimensional program.pl
  • enable subroutine signatures
    • % perl -Mfeature=signatures program.pl
  • change prototypes to use the :prototype attribute

 

La ley del mínimo esfuerzo

Sólo tendrás que poner use v5.32 al principio de tus scripts.

Qué pasa si no quiero cambiar nada?

Al parecer las versiones v5.30 y v5.32 tendrán soporte unos diez años más, esa es la promesa.

Qué pasa con Perl6 o raku?

Se considera que es tan distinto a Perl que es un lenguaje independiente, que tendrá su propia vida dentro de la familia.

Cuando haya más novedades iré contándolas por aquí, hasta luego,

Bruno

7 comentarios:

  1. https://gist.github.com/Grinnz/be5db6b1d54b22d8e21c975d68d7a54f

    ResponderEliminar
    Respuestas
    1. Pues vaya, no está nada claro al parecer

      Eliminar
    2. https://www.nntp.perl.org/group/perl.perl5.porters/2021/04/msg259909.html

      Eliminar
    3. https://www.nntp.perl.org/group/perl.perl5.porters/2021/05/msg260068.html

      Eliminar
  2. https://www.youtube.com/watch?v=FlGpiS39NMY

    ResponderEliminar
  3. http://blogs.perl.org/users/perl_steering_council/2022/05/what-happened-to-perl-7.html

    ResponderEliminar