2 puntos por GN⁺ 2025-12-08 | 2 comentarios | Compartir por WhatsApp
  • El origen del declive de Perl fue una cultura de desarrollo conservadora y cerrada, no en limitaciones técnicas
  • La actitud excluyente y el orgullo de “expertos” provenientes de la cultura inicial de administradores de sistemas UNIX obstaculizó el desarrollo del lenguaje
  • La fragmentación de Perl 6 se evalúa como un evento que mostró más los conflictos internos y el conservadurismo comunitario que un fracaso técnico
  • En el mismo período, Ruby on Rails, PHP y Python crecieron con culturas abiertas y accesibles, sustituyendo el lugar de Perl
  • Perl sigue siendo un lenguaje de scripting clave del entorno POSIX, aunque su influencia como lenguaje principal de desarrollo ha disminuido

Orígenes y límites culturales de Perl

  • Perl nació en la cultura de administradores de sistemas UNIX, dominada por chistes internos y normas cerradas como “RTFM” y “luser”
    • Esa cultura tomó como virtud la monopolización del conocimiento y el mantenimiento de barreras de entrada, y veía la dificultad misma como símbolo de habilidad
    • Como resultado, se formó una estructura colectivista con fuerte resistencia a usuarios nuevos o cambios
  • Esta actitud se compara con una “cultura de fortaleza sitiada”
    • Los miembros internos convertían su dificultad técnica en motivo de orgullo y desdeñaban los intentos externos de simplificación
    • Esto derivó en una estructura de castas donde solo podían entrar los “que estaban calificados”

Estructura de la comunidad Perl y la ruptura de Perl 6

  • Perl se apoyó en el principio TIMTOWTDI (There Is More Than One Way To Do It) para enfatizar la flexibilidad
    • Sin embargo, ese principio reforzó el conservadurismo frente al cambio del lenguaje: el núcleo quedó fijo y la innovación se expulsó fuera de CPAN
    • La expansión centrada en CPAN terminó provocando dependency hell
  • El surgimiento de Perl 6 fue el resultado de conflictos internos y el símbolo de una ruptura en la comunidad
    • Perl 5 buscaba practicidad y estabilidad, mientras Perl 6 buscaba innovación e ideales, y ocurrió una dualidad cultural
    • El desarrollo de Perl 6 se retrasó más de 15 años, y fue evaluado como uno de los proyectos de código abierto más “waterfall”
    • En esa época, Perl era poco amigable para la entrada de nuevos desarrolladores y la comunidad se volvió más cerrada

El ascenso de lenguajes competidores

  • Ruby, con sintaxis similar a Perl, adoptó la “felicidad del programador” y la amabilidad como valores centrales
    • Ruby on Rails tuvo un éxito explosivo gracias a herramientas amigables para desarrolladores y una estructura consistente
    • Perl creó varios frameworks similares, pero falló en expandirse por falta de interoperabilidad y facilidad de entrada
  • PHP se presentó como un “lenguaje centrado en el usuario”, y su instalación y despliegue simples le permitieron expandirse masivamente
    • Al ser la base de plataformas de blogs como WordPress, se consolidó como el lenguaje de entrada de una generación de desarrolladores web
  • Python partió de un trasfondo académico y mantuvo una evolución gradual y principios de diseño claros
    • Tras la adopción por parte de Google creció de manera estable y aseguró utilidad práctica con la filosofía de “batteries included”

El presente y el legado de Perl

  • Perl sigue existiendo como lenguaje de scripting POSIX instalado por defecto en la mayoría de sistemas
    • Todavía se usa en numerosos sistemas heredados y scripts de automatización
    • Sin embargo, casi no se elige como opción predeterminada en proyectos nuevos
  • Las principales innovaciones que dejó Perl
    • Integración de expresiones regulares y sintaxis expandida
    • Distribución de paquetes en internet y verificación de firmas mediante CPAN
    • Difusión del TAP (Test Anything Protocol) y de la idea de integración continua (CI) de pruebas automatizadas
    • La integración de funcionalidades de POSIX que eliminó la barrera entre shell y programación de sistemas
    • Innovación en documentación mediante el sistema de documentos POD

Conclusión: el éxito y declive creados por la cultura

  • Perl conectó en la fase inicial de la web de los años 90 las dos culturas (administradores UNIX y desarrolladores web), logrando un crecimiento explosivo
  • Pero una cultura conservadora y una comunidad cerrada no se adaptaron al cambio y lo hicieron caer del mainstream
  • Aun así, Perl se valora como uno de los lenguajes que contribuyeron a sentar las bases del desarrollo de software moderno
  • El autor sostiene que Perl no desaparecerá y que, mientras exista POSIX, Perl también existirá
  • Hoy, lenguajes emergentes como Rust o TypeScript están recorriendo de nuevo la trayectoria de transición cultural que vivió Perl en el pasado

2 comentarios

 
kh0324 2025-12-10

Cuando un texto dice que Perl y Ruby tienen una sintaxis parecida, tiendo a dudar de la originalidad del autor. Es una frase que suele citarse en textos clásicos de crítica a Perl, pero nunca lo sentí así en el uso real, así que me da la impresión de que rellenaron contenido y copiaron textos viejos, o dejaron el resto en manos de una IA, y por eso las viejas críticas al Perl legado terminaron aceptándose sin ningún cuestionamiento.

 
GN⁺ 2025-12-08
Opinión de Hacker News
  • Siempre me pesó esa estética del “monjes y magos” en la comunidad de Perl
    Tampoco me gustaba esa cultura de querer verse listo con código de una sola línea; Python se sentía mucho más serio y “normal”

    • Últimamente estoy aprendiendo Perl, y de verdad se siente como un lenguaje hecho por magos
      La sintaxis parece diseñada para ser compleja a propósito, y hay muchas partes que sin documentación son casi imposibles de entender
      Claro, en su momento la concisión del código habrá sido importante, pero en 2025 esto es demasiado poco amigable
      Se siente como si una idea improvisada de alguien en D&D hubiera quedado grabada para siempre en el libro de reglas
    • Perl era un lenguaje que invertía en la profundidad expresiva, y el resultado fue que podías escribir la misma cosa de 1000 maneras
      En cambio, Python empujó la idea de “una forma clara” y fomentó código limpio
      Perl también podía escribirse de forma bonita, pero eso dependía de que el desarrollador lo eligiera conscientemente
      Python, al forzar la indentación, hacía que incluso los principiantes lograran cierto nivel de legibilidad
    • Le reconozco a la comunidad de Perl haber creado CPAN, el primer repositorio de módulos del mundo
      Pero el lenguaje en sí era tan expresivo que eso terminaba siendo veneno para el código compartido
      Para procesamiento de texto, Perl sigue siendo de lo mejor, pero como lenguaje para trabajo colaborativo era difícil
    • Escuché una entrevista con Larry Wall y daba más la impresión de ser un desarrollador raro que disfruta experimentar
      A diferencia de la imagen exagerada de la comunidad, me impresionó su lado humano
    • Python también tuvo su época de ruido por las reglas de espacios y las discusiones sobre el sistema de tipos
      Lo juguetón de Perl hasta se sentía más honesto y menos solemne
      Pero al final Python se volvió dominante y Perl fue quedando en el olvido
  • Creo que la cultura dogmática de la comunidad de Perl aceleró la caída del lenguaje
    Un amigo que me enseñó Linux era fanático de Perl, pero su actitud de RTFM y burlarse de quien no sabía terminó haciendo que dejáramos de hablarnos

  • Casi no tuve contacto con la comunidad de Perl; lo usé en una época en la que resolvía todo buscando en Google
    Tenía demasiados símbolos como @ y %, así que era menos accesible que Ruby o Python
    Ruby fue diseñado desde el principio como lenguaje orientado a objetos y se sentía mucho más natural
    Cuando el optional type hinting de Python es impreciso, a veces solo genera más confusión

    • Justamente ese es el propósito del optional type hinting
      Si tuviera que ser exacto, entonces ya sería un sistema de tipos obligatorio, no una pista opcional
  • En IRC en los 90 alguien me dijo RTFM, pero resultó ser una broma y a la vez un evento de bienvenida para principiantes
    De hecho terminé tomando café con magos de Perl y recibiendo mentoría, y esa experiencia fue un punto de inflexión en mi vida como programador
    Todavía recuerdo lo que me dijeron — “Perl it forward!”

    • No sé si esto es real o si es una broma
    • Quiero escuchar más sobre esa historia de Software Local 2142
  • Esa idea de “sufrir, recibir dopamina al final y confundir eso con una buena experiencia” está extendida por toda la industria informática

    • En realidad, siento que esa es la esencia de todo desarrollo
      Siempre es confuso, una cadena interminable de “¿por qué hicieron esto así?”
  • Siendo honestos, Perl desapareció porque otros lenguajes eran mejores

    • Perl fue excelente como lenguaje experimental, pero flojo en practicidad
      Igual que no puedes construir un producto con una placa de prototipado, Perl era el resultado de la experimentación
    • Bajo la filosofía de “do what I mean” había mucha complejidad oculta
      Por ejemplo, si recibías @array como escalar, solo devolvía la longitud: esa clase de dependencia del contexto
    • Creo que la idea de que Perl era malo se propagó casi como una frase hecha
      Como Toyota vs Honda, en la práctica era más bien una diferencia de gustos
    • Yo era parte de la comunidad de Perl, pero lo que me hizo pasarme a Python fue Django
    • El texto de Steve Yegge “Ancient Languages: Perl” explica bien por qué
      La sintaxis de referencias de Perl, su OO incómodo y configuraciones repetitivas como use strict; / use warnings; terminaban agotando
      Rails era mucho más conciso y seguro, y además el momento histórico fue perfecto
  • Perl fue mi primer lenguaje amado, pero en 2012 me pasé por completo a Python
    Incluso ahora, cuando veo scripts de Perl en código legado, siento alivio de haber hecho el cambio
    El código en Perl casi no tenía comentarios, y el abuso de expresiones regulares hacía que la legibilidad fuera terrible
    Ahora resuelvo esos patrones con el enfoque orientado a objetos de Python

  • Usé mucho Perl, pero al final me cambié a Python por los problemas de calidad en CPAN
    Los módulos de CPAN se rompían seguido y muchas veces había que arreglarlos a mano

    • Yo me cambié a Python porque la velocidad de ejecución de scripts de Perl era lenta
      En los 90 y principios de los 2000 esa diferencia sí era bastante notable
  • Perl murió porque otros lenguajes lograron tener ecosistemas como CPAN y,
    además, la sintaxis flexible de Perl no era adecuada para la colaboración en equipo

    • Yo me pasé a Ruby, y la extensibilidad de MRI fue revolucionaria
      Podías distribuir módulos fácilmente sin SWIG ni magia compleja de tipos,
      y el retraso interminable del desarrollo de Perl 6 fue el golpe final
    • La cultura de evolución libre de Perl era atractiva, pero,
      en entornos colaborativos, la carga cognitiva se disparaba exponencialmente
      Python externalizó ese debate con el sistema PEP y fue mucho más eficiente
    • Salvo npm, incluso hoy casi no hay repositorios tan potentes como CPAN