El futuro de Perl es questionable: ¿Puede desaparecer?

Leyendo este articulo, me encuentro que dicen que Perl está perdiendo relevancia, y que es dificil conseguir desarrolladores con experiencia en el lenguaje, además de que lenguajes como Java lo están reemplazando en las escuelas o compañias como Google no lo utilizan en lo absoluto (ellos se mojan por gente con experiencia en Phython).

Les recomiendo primero que se lean el articulo, es muy provocador y detallado. Curiosamente las pantallas usadas en el articulo copian la funcionalidad de Eclipse y Java, el cual en mi opinión es el mejor editor libre de Java.

Yo en particular no creo que la situación sea tan grave aún; Y digo aún porque:

  • La inversión de Perl (en entrenamiento y tecnología) es muy grande como para hacerla irrelevante. Perl 6 ya viene, con un montón de mejoras muy importantes.
  • Google no es el espejo en el que todas las compañias deben reflejarse. Después de todo Google es una compañia joven.

Por otro lado, es dificil conseguir gente que sepa bien Perl (aunque eso se aplica a cualquier lenguaje); En Venezuela recuerdo que a nosotros nos resultó casi imposible conseguir a gente que supiera usar el lenguaje y en los Estados Unidos no es nada fácil (aunque no es fácil conseguir buenos desarrolladores en ninguno de los dos paises, al menos es lo que he visto en mi experiencia profesional).

Yo no recuerdo que enseñaran Perl en las Universidades (por ejemplo, yo lo aprendí por mi cuenta); Por otro lado se que ya se enseña Python en algunas Universidades Venezolanas (Java por supuesto) pero eso es otro punto más en contra de Perl.

Como desarrollador sería agradable ver que las herramientas de Perl se vuelven más maduras, de lo contrario otros lenguajes más jovenes tomarán su lugar (alguien recuerda a COBOL o BASIC).

Y usted, que herramientas usa para programar en su “Scripting Lannguaje” preferido?

Buscar en Technorati:

4 thoughts on “El futuro de Perl es questionable: ¿Puede desaparecer?

  1. Perl va a desaparecer. Punto.

    La única razón para aprender Perl en este momento es mantener legacy code. Los sysops que quieran dominar un lenguaje de scripting están mucho mejor servidos con Python o Ruby.

    Las razones son simples y obvias.

    * Perl es idiosincrático: demasiados gotchas y contorsiones sintácticas.

    * Perl no es legible: aunque técnicamente es posible escribir código Perl fácil de leer para un principiante, en la práctica nadie lo hace.

    Existe cierto absurdo orgullo entre los perlistas por escribir código “ingenioso” en pocas líneas. Los problemas con esto son (a) un programador menos experimentado que quiera hacer mantenimiento no puede meterle mano al código, y (b) meses después, incluso el mismo autor del código no entiende lo que escribió.

    La única ventaja actual que le queda a Perl frente a Python o Ruby es el tamaño y profundidad del CPAN. Prácticamente de todo se puede encontrar ahí. Sin embargo, los equivalentes de Python y Ruby se están poniendo rápidamente al día.

    * * *

    El mejor consejo que se le puede dar a cualquier persona que quiera escribir scripts está en The Wizard Book: “Los programas deberían ser escritos para que la gente los lea y sólo incidentalmente para que la máquina los ejecute”.

    Yo personalmente uso Ruby, un lenguaje que progresa a pasos agigantados, que hace todo lo que hace Perl y Python, y lo hace mejor.

    Por ejemplo, Ruby on Rails es un framework para construir aplicaciones Web que está ganando adeptos. Hasta los programadores experimentados en Java quedan impresionados por lo productivo que es Ruby On Rails.

    * * *

    En un tono ya personal, felicitaciones por el nuevo blog. Aunque creo que deberías ponerle un estilo nuevo para que se vea que es distinto.

    Por cierto, que estoy viendo las fotos tuyas en flickr, y muchiaaaaachooooo, si has engordado de la época de la ULA.

    Saludos.

  2. Hola Baquiano,

    Primero que nada gracias por visitar mi blog; vamos a ver uno por uno tus argumentos:

    1. La única razón para aprender Perl no es solamente ‘legacy code’. Perl tiene mucho código en CPAN (el cual tu mencionas), tiene todas la facilidades de un lenguaje moderno como Java, sus capacidades de manejo de texto son increibles (no sé de Ruby, pero Python y Java no le llegan cerca).
    2. Contorsiones sintácticas: Yo prefiero llamarlo alternativas y eso le da una flexibilidad increible.
    3. Código legible: Eso es paja. Yo he visto código horrible en Java, C++, Python (si señor). Es simplemente cuestión de disciplina. Desgraciadamente no tengo micho código de muchas líneas que mostrate (ya que todo fué desarrollado para compañias en las que trabajé) pero te puedo decir que era bien limpio.

    Estoy de acuerdo contigo en varias cosas (como algunos perlistas que se empeñan en escribir código confuso) y que Parrot ha tardado mucho. Pero como ya le habia pasado a Perl antes de que tuviera un alto con CGI no creo que desaparezca y cuidado si no se está preparando para algo mucho más grande.

    Parrot promete mucho, no creo que vaya a defraudar 🙂

  3. Ah, se me olvidaba:
    1. Estoy trabajando en una nueva plantilla para el Blog. Pero entre aprender finanzas, el trabajo y escribir algo para el blog no me queda mucho tiempo.
    2. Si, he cambiado una vaina desde que me gradué. Pero que más se le va a hacer 🙂

  4. Las facilidades de manejo de texto al estilo de Perl no son exclusivas de Perl. Hace tiempo que fueron replicadas en otros lenguajes. Por ejemplo, échale un vistazo a las capacidades de las expresiones regulares de Ruby. Ahí está todo lo que tiene Perl, incluso con la misma sintaxis. De hecho, es una copia :^]

    En cuanto al código legible, concuerdo contigo que los malos programadores escriben vainas horripilantes en cualquier lenguaje. Me recuerdo un dicho, “Los programadores FORTRAN son capaces de escribir en FORTRAN usando cualquier lenguaje” :^] Sin embargo, Perl no induce a la gente escribir en forma clara. No tiene facilidades intrínsecas para manejar cómodamente la complejidad. Es como PHP simple (sin plantillas) versus un framework MVC en Java. PHP es rápido y fácil pero a medida que la aplicación crece se vuelve un chorizo inmanejable, mientras que con un framework MVC se mantiene bajo control. Lo mismo pasa con Perl 5: empiezas con un script rápido y fácil, pero a medida que la aplicación crece, Perl cruje y tiembla. Ruby y Pyhton, en cambio, escalan fácilmente para aplicaciones complejas. Por ejemplo, esta aplicación fue escrita en Python. No me imagino a nadie intentando hacer algo parecido en Perl.

    Tienes razón en que Parrot y Perl 6 están tardando demasiado. Parrot es interesante como plataforma, pero Perl 6 corre el peligro de ser irrelevante, por el sencillo hecho de que Ruby y Python también pueden correr sobre Parrot :^]

    Saludos

Comments are closed.