jueves, 18 de marzo de 2010

¿Perl vs Python vs Ruby?

Son más de 6000 resultados que arroja google con cadenas combinadas de perl vs python vs ruby y eso es demasiado.

Cada lenguaje tiene sus ventajas y sus desventajas, pero lo que es más importante es que no son comparables, los tres nacieron de tres necesidades diferentes y persiguen objetivos distintos.

Perl fué creado inicialmente como un lenguaje de scripting general enfocado en facilitar el manejo de reportes. Tiempo después se convirtió en una auténtica navaja multiuso para toda ocasión.

Python nació de la necesidad de tener un lenguaje que facilitara la legibilidad del codigo, en otras palabras un poco inexactas, tener un lenguaje en el que fuera fácil leer el codigo hecho por otra persona. Obviamente, el objetivo es mejorar las condiciones de trabajo en equipo con numerosos integrantes.

Ruby se enfoca en hacer todo lo posible para que el programador se sienta cómodo, dándole todas las facilidades para teletransportar sus ideas de la cabeza al editor de texto de la mejor manera. Adicionalmente, intenta causar la menor sorpresa, que es simplemente que el lenguaje se comporte de tal forma que minimice la confusión de los programadores experimentados.

Aún con esos objetivos, no se puede decidir por un "ganador" solo con eso, Perl no es la panacea, no es imposible crear codigo ilegible en Python y la comodidad es algo extremadamente relativo en cuanto a Ruby. Al final lo mejor que puedes hacer es aprender lo básico de esos tres y/o de todos los que creas que valga la pena evaluar.

Por lo general siempre hay un lenguaje que llama más la atención que otros, en esos casos entonces profundiza tus conocimientos, pero no te cases con ninguno, la monogamia en programación te volverá perezoso y atrofiará tú creatividad, es importante poder ver los problemas con que te encuentres desde distintos lenguajes, incluso desde distintos paradigmas de programación, orientados a objetos no es la única y ni mucho menos es la mejor.

El fin último no es crear programas, no es codificar, no es aprender un determinado lenguaje de programación, el fin último es convertirse en un programador, y ser uno significa saber organizar la solución a un problema de tal forma que hasta una estúpida maquina de silicio y metal logré entender y ejecutar esa solución.

Tal como lo dice una tira de xkcd cuyo número ya no puedo recordar: "Ningún lenguaje de programación logrará salvarte del infierno de tener que organizar tus ideas primero"

1 comentario: