Zurco Zurcando la red

21abr/0812

De Perl a Python: ¿evolución o involución?

Empezaré diciendo que me considero un forofo del Perl, de los que piensan que cualquier cosa se puede hacer en Perl y además de forma fácil; no en vano, visito con frecuencia www.perlmonks.org con los que siento cierta afinidad.

El asunto delicado es que de una forma u otra me he visto tentado a plantearme el aprender lo que algunos zealots del Perl dirían que es un sub-lenguaje de scripting: Python.

¿Cuáles son los motivos? Múltiples sin duda, entre ellos los siguientes:

  • El lanzamiento de Google App Engine que solo tiene soporte inicialmente para Python, y además descubrir que es el lenguaje usado detrás de muchas páginas de Google. Esto ya es un indicador cuando menos. Además Google apoya a Django, un framework de desarrollo en Python muy popular.
  • Que tengo un amigo que me está dando la brasa de duro. También "ayuda".
  • La gran cantidad de documentación existente tanto en la web principal, como en otros sitios de Internet. De hecho, me ha gustado mucho el enfoque de MundoGeek y los artículos prácticos que hay detrás de su etiqueta Python, sitio que he conocido gracias al amigo del punto anterior y que ya he añadido en mi Google Reader.
  • Desarrollar websites en PHP me aburre, y no será porque no existan alternativas y frameworks en PHP.
  • Python está soportado por Komodo, mi editor por excelencia, donde he programado cientos de líneas en Perl.
  • Y quizás y no menos importante, que estoy buscando un cambio y algo nuevo que aprender, y esta puede ser una estupenda oportunidad.

El dilema está ahí, ¿evolución o involución? el tiempo lo dirá. En cualquier caso, siempre me quedará el Perl :)

Para terminar os dejo una de mis citas favoritas de bash.org:

<Sonium> someone speak python here?
<lucky> HHHHHSSSSSHSSS
<lucky> SSSSS
<Sonium> the programming language

Publicado por Antonio

Comentarios (12) Trackbacks (0)
  1. Evolución. Claramente evolución. Pasas de hablar un semilenguaje gutural a un idioma rico. Clara evolución.

  2. ¿Un amigo que te da la brasa?, ¿quien será?, no se me ocurre… :D

    Juanjo.

    PD: Tu amigo está ahora con un ofensiva con mi blog, que lo sepas. Un abrazo BTW.

  3. ¡¡¡¡Penoso!!!! ¡Leyendo esto y no escribe en su blog!

  4. Es lo que tiene la fama Juanjo, le dan un premio y se dedica a acosar a los que realmente hacemos esto de forma filantrópica :D

    Un saludete para ti también!

  5. Perl sigue teniendo la ventaja de CPAN, uno de los mejores repositorios de software, que te permite ser muy productivo. A pesar de haberme ganado el pan con Perl en buena parte de mi vida profesional, mi lenguaje favorito es Python. Programando con Perl me siento estúpido, siempre hay que hacer “magia”, no hay una manera clara de hacer las cosas. Por ejemplo, la programación orientada a objetos, que en Perl es como un dolor de webos, anti-intuitiva. Compárala a la de Python: “class miclase()” y punto. En fin, cuestión de gustos.

  6. Comparto la mayoría de los puntos de Victor. No en vano, te he dado la brasa por IM al respecto. Perl creo que nunca he sido capaz de entenderlo por que, lo reconozco, me produce rechazo, ese tipo de programación caótica. Leer el código ya es un dolor, no tanto el leer sentencia por sentencia, que se puede entender, sino interpretar que hace esa maraña de soluciones ad-hoc.

    Y no digamos ya de la escalabilidad y mantenibilidad del código OOP versus esa programación oscurantista, y completamente ad-hoc.

    ¿Se nota que le tengo tirria al Perl? :)

  7. rvr, es interesante lo que dices porque hablas desde la experiencia de ser conocedor del Perl, y además que has dado en el clavo de uno de los puntos más fuertes que comparto contigo: CPAN.

    Desconozco si habrá un CPAN en Python, pero lo que es incuestionable es que CPAN marca la diferencia a la hora de resolver cualquier problema, no solo por los fantásticos módulos disponibles y su variedad, sino por lo bien documentados que están.

    No discuto que Perl puede ser caótico, pero quizás en ese caos está su belleza, que te permite hacer mucho y de forma flexible, es decir, a tu manera :)

    Con esto no estoy diciendo que me quiera encasillar al Perl y no descarto abrir mis horizontes a Python (que aun me tiene que “transformar”), pero lo que es indiscutible – bajo mi punto de vista – es que como lenguaje de scripting, Perl sigue siendo el rey. Sin ir más lejos, hasta las soluciones corporativas de gama alta como pueden ser un Veritas Cluster, basan su core en scripts en Perl.

    Es posible que desde mi ignorancia no esté viendo todos los logros ya conseguidos por Python, pero me parece que el Perl sigue siendo un imprescindible en el “portfolio” de buen scripter.

    Por cierto, Victor, me ha gustado la temática de tu blog, ha sido un interesante descubrimiento. Ya tienes a otro subscriptor :)

  8. Antonio: ¿Y qué haces con WordPress y no con Movable Type? }:)

    En mi opinión, Perl es un lenguaje en “decadencia”. No quiero decir que Perl no tenga utilidad, o que no hayan buenas aplicaciones hechas en Perl, pero es indudable que su popularidad está decreciendo. Antes era el rey indiscutible del scripting, pero ese reinado ha pasado a mejor vida. PHP es un pariente cercano, que heredó mucha de su sintaxis, pero que ha evolucionado y se lo ha comido en el web, y algo parecido se puede decir de Perl y Ruby. En Gnome, aunque muchas utilidades del sistema están en Perl, están apostando por Python (hay muchísimas utilidades programadas en PyGtk). Sun está apostando por integrar JRuby y Jython en Netbeans. Lo mismo que Google y su App Engine. Una de las grandes ventajas de Python es que es muy sencillo llamar a librerías en C (“haz prototipos rápidamente, y luego elimina los cuellos de botella en C”). Por eso hay muchas aplicaciones que permiten scriping en Python. En fin, que todo esto no es simple casualidad.

  9. Jajaja! Touché! Ahí me has dado bien con lo del WordPress & Movable Type :)

    Está claro que me estás dando ánimo para bajarme de la posición cómoda en la que ya residía con Perl, y si alguien como tu que ha escrito muchas líneas de código en Perl lo dice será por algo :)

    Sin embargo, no te engaño que se me hace duro pensar que hay “algo” ahí que parseará mejor los logs, que tendrá un acceso a bases de datos MySQL y Oracle más cómodo y sencillo, y que suplirá al ActiveState PDK.

    Obviamente, es cuestión de ponerse y descubrirlo :)

    Gracias por tu aporte Victor.

    Saludos.

  10. Ya han pasado tres años desde la publicación de este post. ¿A que conclusión has llegado? Python para la web y Perl para sistemas? python para todo?

    Un saludo.

  11. La verdad?

    Creo que Python es superior en algunos aspectos a Perl, pero a día de hoy considero que con mi nivel de Perl puedo hacer muchas cosas, que las que podré hacer con Python en mucho tiempo, y por otro lado. Si es por presencia, antes encontrarás un intérprete de Perl en una máquina instalado que el de Python.

    Eso no quita que con el tiempo cambie ese escenario.

    Ahora lo que si es cierto es que no recomiendo Perl para web, para scripting o pequeños aplicativos es perfecto (imho).

  12. Yo he jugado con perl y con python y sin duda me inclino por python. Python me parece más completo. A perl lo he relegado a cuando debo analizar textos (que es mucho de lo que hago), pero solo a eso y todo lo demás lo hago con otros programas. Soy partidario de utilizar lo mejor de cada quién. Y, por cierto, perl me es feo sintácticamente pero poderosísimo. Qué se le hace ¿no?


Trackbacks deshabilitados.