De camellos, serpientes y joyas: Perl vs. Python vs. Ruby

« Es hora de abandonar Internet Explorer | Firefox 0.9.1 en breve »

Perl es el lenguaje de script mas popular en estos momentos y también es el mas rápido, pero su sintaxis es horrorosa y también falla en la orientación a objetos. Las alternativas son Python y Ruby, con una sintaxis mucho mas sencilla y cómoda que Perl, hasta el punto que mucha gente aconseja Python como lenguaje para introducirse en el mundo de la programación. Python es bastante mas conocido que Ruby, lo cual implica mas herramientas, librerías y documentación pero Ruby es el mas completo en cuanto a orientación a objetos se refiere y es mas flexible que Python. En Ruby todo son objetos, incluso los tipos básicos a diferencia de lenguajes como Java.

En resumen Python es el primo de Perl para los maniáticos de la claridad en el código, es el mas parecido al inglés hablado de los tres. Ruby es el primo de Perl para fanáticos de la orientación a objetos, parecido a Smalltalk.

Relacionadas

Comentarios
  1. .teri

    A mí me gusta bastante Python por su claridad y porque te obliga a que hagas las cosas de tal manera (de todas formas es multiparadigma). Ví Ruby, y no me interesó, pero sí para mí que estaba muy bien concedido pero no me gustó la forma que tiene de pasar parámetros y ciertos aspectos de su orientación a objetos. Me introducí a Perl (soy novato en Perl)… es más o menos como C, pero no es tan claro como Python. Eso sí, para tratar ficheros de textos o textos, Perl es ideal :-).
    En definitiva, alejándome de mis preferencias y de las típicas cual es el peor o mejor, todas tienen sus pros y sus contras, uno adecuado para buscar un tipo de solución y poco convencional para buscar otras.

  2. explorer

    Que un programa esté mal escrito no es culpa de Perl, sino del programador. Seguro que habéis visto cosas horrendas en PHP, Java, Phyton, C, C#, etc. etc.

  3. arturo

    En Python, todo lo que crees será reconocido como un objeto. Revisa tu documentación, sería bueno que te informaras bien.

  4. Arturo, todo es un objeto en Python desde la versión 2.2, si. Pero nadie ha dicho que no lo sea, ¿verdad? Solo que Python no busca una OO similar a la de Smalltalk.

    Llevo años programando en Python y es mi lenguaje preferido :-)

  5. si quieres algo como smalltalk usa smalltalk en vez de ruby, sino perl y python ambos son necesarios… para un profesional. sino php está bien para un empírico… :p

  6. genesis

    no lei nada pero yo estaba buscando el idioma de las serpientes para confirmar si era parcel se lo recomiendo

  7. pablo

    Perl es el más rápido. Qué es un lenguaje rápido? Qué lenguaje es más rápido?: El español o el inglés

    Python es el primo de Perl? el único ancestro común que tienen es C, así que fíjate lo lejanos que están. http://www.levenez.com/lang/history.html
    salvo que sean adoptados :)

  8. Tekky

    Yo he programado en los tres y doy fe del tema "velocidad", Perl aun les saca ventaja en tema de velocidad de ejecucion a Python y Ruby.

    En cuanto a la claridad del codigo… discrepo que Python o Ruby sean mas claros porque si, OJO, Perl "PUEDE" ser poco claro si el tio que programa en Perl es un cafre (igual que pasa en otros muchos lenguajes), pero si el programador de Perl es limpio y ordenado (y no se pasa haciendo expresiones regulares retorcidas) un codigo escrito en Perl es tan facil de leer como hablar en un bar :-)
    La diferencia en la limpieza es que Python te obliga a serlo (por temas de indentacion o declaracion de metodos por ejemplo), mientras que en Perl no tienes obligaciones, puedes ser limpio o no, eso ya es decision del programador, eso se llama FLEXIBILIDAD y eso no hace menos claro al lenguaje sino al programador.
    En cuanto a la orientacion a objetos, bueno, ahi estoy de acuerdo, Python y Ruby ya se pensaron con objetos en mente, pero tb he de decir que en Perl los objetos son igual de flexibles que su sintaxis.

    Al final todo se reduce a:
    -Cuan flexible es un lenguaje a la hora de escribirlo (indentaciones, definiciones de objetos y funciones, etc. Todo eso tiene pros y contras).
    -Cuan rapida es su velocidad de ejecucion.

    Yo creo que la gente a la que no le gusta Perl es porque nunca ha llegado a profundizar realmente en el lenguaje. Si rebuscas un poco, todo lo que puedas hacer con cualquier lenguaje, lo puedes hacer con Perl (y seguramente tambien con Python y Ruby), el resto creo que es simple cuestion de gustos y afinidad personal hacia una metodologia/estructuracion a la hora de programar.

  9. Fabian

    Yo estoy en la misma, toy entre Python y Ruby, no se para que lado agarrar, hasta ahora solo programe J2EE, osea java, xml, javascript, html …… tambien vi algo de php pero no me gusto mucho, asi que tengo que decidirme por un lenguaje para hacer pequeñas aplicaciones web.

    Acepto todo tipo de consejos :)

  10. Aprende Python. Es mucho más popular que Ruby.

    De hecho, esto te puede ayudar a aprenderlo: Tutorial Python.

  11. Fabian

    Buenas, estoy con el mismo dilema… hasta ahora he preogramado en la plataforma J2EE (java, xml, html, javascript …) pero ahora tengo que decidirme por un lenguaje para hacer pequeñas y medianas aplicaciones web, vi algo php pero no me gusto mucho asi que estoy entre python (Django) y ruby, se aceptan consejos :) por ahora por lo que e visto creo estar tirando para el lado de python, asi que si alguien me puede ayudar con algun tutorial o curso de python (django) le estare super agradecido :)

Deja un comentario