Hablemos de PERL

SPEAKER A, SPEAKER C, and CHIP discuss Perl's history, from Larry Wall's vision of "laziness, impatience, and arrogance" to the language's postmodern philosophy: "there's more than one way to do it." They trace Perl 5's rise through Apache and CGI, then the failed Perl 6 project that eventually became Raku in 2019.
Chapters
Mira esos programas, esa elegancia. Estos programas de Perl 5 nunca podrán ver una versión 6.
¿Qué le pasa a Pro?
Que ha encontrado programas antiguos que había programado en Perl.
Hubo mucha polémica en los cambios de Perl y finalmente se decidieron a mantenerse en Perl 5. Dejar estancado a Perl en Perl 5, no sé.
Bueno, también hubo grandes cambios en Python y ¿Y aún así cambiaron a Python 3?
Chip, no ayudas. Esa fue otra situación diferente debida a las promesas de Python y es otra historia diferente.
Puedes seguir empleando Perl. Anda, ¿por qué no nos cuentas la historia de Perl?
Vale, vale. Comencemos desde el principio.
Antes de continuar, un inciso.
¿Te gustaría apoyar a nuestro canal?
No te olvides de darle a me gusta y si no lo estás suscribirte para no perderte futuro contenido. También puedes apoyarnos si quieres uniéndote al canal o enviándonos un gracias aquí abajo en el botoncito. Nosotros te lo agradeceremos igualmente y os avisaremos de ofertas y promociones del canal.
Y además también podemos acompañarte desde tu plataforma de podcast favorita.
Ahora sí, continúa.
El nacimiento de Pearl.
En el principio de los tiempos no había nada y... ¡Chip!
¡Déjate de bromas y deja que cuente la historia!
Es que Larry Wall tiene genes de predicador y de hecho es una persona muy religiosa. Da por hecho que, al ser sus antepasados y su padre predicadores, eso le confiere una disposición natural a la creación.
Cierto. Bueno, cierto que lo dijo, el contenido es discutible.
Mejor nos centramos en el lenguaje, ¿no?
En verdad, su idea del amor y el respeto por el resto de personas es lo que le llevó a ser una activista y una figura en el mundo del software libre, y seguramente gracias a eso tenemos Perl.
Vale, entonces, ¿qué le llevó a crear Perl?
Según dijo en una entrevista, reunía las 3 principales virtudes de todo buen programador: pereza, impaciencia y arrogancia.
Virtudes, ya. Espero cualquier cosa a partir de aquí.
El caso es que él tenía que hacer mucho trabajo y lo hacía normalmente con guiones de consola o scripts de shell. Y un programa, un pseudolenguaje llamado AWK.
¿No cubría sus necesidades?
Sí, pero ahí intervenía su pereza en aplicar AWK para sus tareas. Implicaba resolver muchos problemas y le suponía un gran esfuerzo.
¿No podía ser solucionado solo con los guiones de consola?
Ahí entraba su segunda virtud: su impaciencia.
No creo que sea una virtud, en serio.
Y finalmente tuvo la arrogancia de que él podía hacerlo mejor.
Un virtuoso.
No es por aguar la fiesta, pero las 3 virtudes son pecados capitales.
La impaciencia no lo es.
Pero debería.
Finalmente, él mismo se dio cuenta de que escribir algo como Per requería de mucho trabajo y esfuerzo.
¿Ves? Nada de pereza.
Mucha paciencia y humildad.
Eso sí son virtudes.
Creo que quedan claros los inicios, más o menos. Supongo que Larry tendría formación suficiente para acometer la tarea. No hemos dicho ni tan siquiera a qué se dedicaba.
¡Cierto! Larry consiguió su licenciatura en la Universidad Seattle Pacific.
¿Qué licenciatura? ¿Qué estudió?
Pues se especializó en química, música, premedicina... Después tomó una pausa en la que trabajó en el centro de computación de la universidad y terminó graduándose en lenguajes naturales y artificiales.
¿Lingüista?
Lingüista.
¿No programador?
No. Lingüista.
Si necesitas crear un lenguaje, puede que recurrir a alguien licenciado en lenguajes naturales y artificiales tenga sentido, ¿no?
No es lo mismo, pero no importa. Se dedicó a la programación al fin y al cabo.
¿Por qué se llama Perl?
Larry quería un nombre corto con connotaciones positivas. De hecho, estuvo buscando en un diccionario todas las palabras de 3 y 4 letras. Barajó llamarlo como su esposa Gloria... ¡Qué bonito!
¿Por qué lo rechazó?
Porque decía que sería confuso en el ámbito doméstico. Parece que hablaba mucho con su mujer acerca del trabajo.
Vale... Entonces descartó GLORIA y fue cuando se le ocurrió PEARL, ¿verdad?
En principio, PEARL.
Tiene sentido. ¿Por qué le quitó esa A?
Parece que había otro lenguaje llamado así y, como pensó agregar el significado a sus siglas de Practical Extraction and Report Language, en verdad esa A no era tan importante.
Extracción práctica y lenguaje de informes. Suena bien.
También ideó otra terminología alternativa: pathologically eclectic rubbish lister, o lista de basura patológicamente ecléctica.
Gracioso, aunque me queda la duda: ¿por qué se hizo tan conocido?
Según Larry es un lenguaje único y posmoderno.
Posmoderno. El lenguaje fue creado en 1987, casi 20 años después de que comenzara este movimiento y seguro que ha habido cientos de lenguajes desde la década de 1970. ¿Por qué Perl es posmoderno y otros como por ejemplo C no lo son?
Larry dice que al igual que el espíritu artístico posmoderno de aceptar diferentes interpretaciones de una obra artística, En Perl encontramos el lema: hay más de una manera de hacerlo.
Ya veo. La verdad es que su lema es diferente y opuesto a la fórmula de otros lenguajes como Python, donde se prefiere una única forma de hacer las cosas para no confundir a los programadores.
Son diferentes formas de verlo.
Entonces, ¿la popularidad la obtuvo porque tenía una visión posmoderna?
No, en verdad por su enfoque a la administración de sistemas. Su sintaxis es simple, con poco se puede conseguir mucho y gracias a incluirse un módulo en Apache para interactuar con páginas web, muchos utilizaron Perl para hacer las primeras páginas web evitando el lenguaje C. ¡Jip!
Imagina hacer páginas web con C.
La verdad es que tampoco me imagino haciéndolas con Perl o CGI.
Rasmus Lerdorf tampoco, tal y como vimos en nuestro capítulo sobre PHP.
Otro de los puntos culminantes fue el apoyo de O'Reilly.
¿La editorial de libros?
Sí, las editoriales técnicas han jugado una gran baza en la subida y caída de algunos lenguajes de programación. Hablaremos de otros lenguajes que tuvieron también esa suerte en otros capítulos. ¡Ay!
A mí me gustaba Frozen Bubble, era tan divertido. ¿Echamos después una partida, Chip?
Después. Antes tengo una pregunta que haceros, una pregunta dolorosa. ¿Qué pasó con Perl 6?
No te aguantabas, Chip? Tenías que hacerlo, tenías que—
No, está bien, es algo que hay que contar.
¿Te sientas con fuerzas?
¿En serio es tan traumático?
¡Chip!
Todo pasó en el año 2000, en la conferencia de Per. Se comenzó a gestar una serie de cambios en el lenguaje que tenían previsto culminar en Per 6.
Bueno, ¿y cómo fue?
Larry fue... Dándole forma a cada sugerencia y petición de cambio y los presentó en una serie de documentos llamados... Apocalipsis.
Vaya con el predicador.
Perl 6 tenía intención de no ser en absoluto compatible con ninguna versión anterior de Perl, por lo que sí, era un apocalipsis.
Como plan, menudo desastre.
Había muy buenas ideas, por ejemplo, la nueva máquina virtual donde el código de Perl 6 fue bautizada como Parrot.
¿Una máquina virtual como Java, C# y Erlang?
Sí, la idea era permitir cierto desarrollo cruzado entre versiones e incluso implementar otros lenguajes sobre la máquina.
Suena bien.
En 2005 se creó el proyecto PAX, la primera implementación de Perl 6 hecha en Haskell.
Haskell suena bien, aunque Perl no tenía relación con la programación funcional.
No. Ese cambio significó la entrada de más cambios al tomar influencia de Haskell dentro de Perl 6. Y ya en 2019... fue el fin.
¡Ay no! ¡Tú puedes! Dinos, ¿qué pasó? ¿Cerraron el proyecto?
Consideraron que el lenguaje se había desviado mucho y era completamente diferente.
¿Completamente? ¿No se parecía al anterior al menos un poco?
Casi nada. En 2019 el proyecto pasó a ser llamado Raku.
¡Anda! Un cambio de nombre. Pero entonces, ¿ya no hubo Perl 6?
No. Ese es el principal problema. Como Raku era el proyecto conocido anteriormente como Perl 6, el lenguaje Perl se mantuvo en su versión 5. Y aunque se sigue manteniendo y hay nuevas adiciones, La arquitectura no se volverá a revisar y se mantendrá siempre en P.E.R.L. 5.
¡Para siempre! ¡De los siempres jamás!
¡Wuchi!
Jejeje, perdón.
Bueno, veámoslo por el lado bueno. El lenguaje evolucionó como una... ¿mariposa? Un momento, ¿el logotipo de Raku es una mariposa?
¡Qué apropiado! Se ve que ya no disfrutaremos más del camello. Mmm, me gustaba ese camello.
El camello no es el logotipo de P.E.R.L. Ese es un error muy frecuente. Como en los libros de O'Reilly mostraban un camello, pues la gente cree que es el logotipo, pero no. El logotipo es una cebolla.
Prefiero el camello.
¿Quién es Camelia?
Camelia es la mascota de Raku. Es así como se llama la mariposa.
Tiene unas alas bastante llamativas. ¿Eso que se ve escrito en sus alas en azul es un 6?
Sí, en honor al caído lenguaje Perl 6.
Raku parece que enfatiza la legibilidad. Eso es un punto positivo para que dejen de considerar a estos lenguajes de solo escritura.
Sí, es verdad que Perl tiene la fama de ser tan críptico que mucho de su código se considera de solo escritura porque se hace difícil de leer. Pero para quien programa en Perl esto no suele ser un problema.
Pero es que Perl tiene demasiados símbolos.
Los necesarios.
Este Raku parece más claro en el uso de esos símbolos.
Discutible.
Yo lo veo como una esperanza de futuro, y si te gusta Perl, Raku ofrece una forma muy similar de continuar programando en Perl.
O algo que se le parece.
Vale, gracias por vuestro apoyo. Conclusiones. Perl es un lenguaje que, aunque ha quedado en su versión 5, sigue siendo usado y va mejorando y agregando algunas características menores.
Su gran mejora llegó con su versión 6, después convertida en el lenguaje Raku.
Niklaus Wyeth hacía también este movimiento de crear un nuevo lenguaje cuando un lenguaje anterior cambiaba demasiado. Esto brinda no comprometer el nuevo lenguaje con decisiones del anterior y así tener mayor libertad para crear algo mucho mejor.
Crear algo diferente, en verdad.
¿Has programado alguna vez en Perl 5?
¿Tú también te quedaste esperando que saliera para 6?
Y más importante, ¿has jugado a Frozen Bubble?
Déjanos tu comentario. ¿Qué estáis haciendo? Hay una multitud enfurecida ahí abajo.
Pues solo estábamos implementando esto en JavaScript. ¡No!
¿Qué habéis hecho?
La otra opción era mucho peor.
¿Qué puede ser peor que enfurecer a los seguidores usando un lenguaje que nadie quiere?
Parece que utilizar Jupyter—
¡Utilizar Júpiter! Ha dicho Júpiter.
Ojalá.
Otra vez con lo de Julia. Continuará.
More from Manuel

Historia de los Lenguajes de Programación: años 1960-1969 #basic #apl #simula #lisp #logo

¿Compilador o intérprete? La historia de una rivalidad que comenzó en los años 40








