julio 29, 2009

Nuevos desarrolladores: Ruby o Python?

Lo que comento a continuación, es basado en mi percepción como programador web.

Para iniciar, agradezco al Cafe-libre.net, comunidad donde se aprende y se comparte un poco de todo, en especial temas relacionados al software libre en Guatemala y se puede conocer gente increíble que tiene el mismo gusto por la tecnología, software, programas, ubuntu, linux, etc.
Lo interesante de todo esto es que estoy seguro que cada cabeza es un mundo diferente y siempre tendemos a defender lo que conocemos y lo que usamos. Aunque formalmente el cafe-libre no es un lugar para ir a vender nada (excepto los que nos venden el cafe), no podemos negar que nos vendemos a nosotros mismo y lo que hacemos en especial los lenguajes de programacion que usamos, eEn base a ésto, últimamente he estado muy interesando en todo lo relacionado a estos 2 lenguajes de programación.

PYTHON y RUBY

Si yo soy un nuevo programador o desarrollador web, y tengo que escoger:

¿cual escogería y por qué?

Antes de contestar, hay que descubrir sus fortalezas, ver cuales (si es que tiene) son sus debilidades y lo más importante es si hay bastantes recursos en la web del tema.


Diferencias:

Al ver código ruby y python se ve que los 2 son lenguajes de lleno orientado a objetos: a la hora de programar es una gran ventaja, podemos reutilizar el codigo, extender el mismo codigo, facilita el desarrollo en sistemas complejos, podemos crear objetos con similitud al mundo real, permite el trabajo en equipo, etc. y todas esas fabulosas opciones que solo los lenguajes orientado a objetos nos puede dar. Básicamente lo que quiero decir es que los 2 son muy parecidos, lo que me si me sorprendió es que Ruby es interpretado y Python es compilado en una máquina virtual algo asi como lo hacemos en Java, entonces por eso es que algunas personas sienten que Python es una bala en cuestiones de velocidad.
Pero leyendo encontré que hay planes a corto plazo de que Ruby versión 1.9 funcione de la misma forma que Python, compilándolo para lograr ese segundo extra que le falta.

Otra diferencia que hay es la sintaxis: Python en su sintaxis es bastante tradicional (supongo que por ser un lenguaje tan viejo) a diferencia de que Ruby fue creado con la intención de facilitar al programador el escribir código, bajo el razonamiento de que si las computadoras hacen lo que tu digas, porque tengo que escribirle en un lenguaje tan complicado? mejor escribo en ruby y que la máquina haga lo que yo le diga con lenguaje mas común por los humanos. Por eso su curva de aprendizaje se ha vuelto tan corta según algunos expertos del tema.
("muchá ruby, es bien fácil aprenderlo a usar")


Fortalezas:
Ruby tiene la fortaleza de la sintaxis, ya que como lo dije antes es mas humana-parecida, curiosamente es muy parecido a perl, y como chiste lei por ahi que los amigos del creador de ruby le decían que por la similitud a perl no era mas que un rubi (perl es perla). Otro plus seria su framework "Ruby on rails" facilitando aun mas el desarrollo web.
Python es mas fácil de entender el código de alguien mas, porque su sintaxis es mas estricta, entonces podemos encontrar que dos o mas programadores tiendan a escribir igual, por las limitaciones de la sintaxis. Esto quiere decir que en python no podemos hacer algo como variable = 4 if variable es vacia, en ruby si.


Debilidades:
Cuando los lenguajes NO son compilados, es decir interpretados, la ejecución del programa es más lenta y consume más recursos que los compilados. Dicen por ahí que Ruby es mucho mas lento que Python.



Documentación

http://www.ruby-lang.org/es/documentation/
http://pyspanishdoc.sourceforge.net/

Mi respuesta temporal es: me llama mucho la atención aprender a programar en python porque tiene mucha historia en linux y en otros sistemas operativos. Ruby es relativamente nuevo lo cual siempre llama la atención aprender. Empezare por Ruby on rails y luego aprendiendo python. Los datos ahi estan para que cualquiera tome su propio rumbo.

Y ustedes que piensan?

pd. La imagen dice Rails, porque es el framework para ruby,de ahi es que se conoce ruby on rails. Para los que usan PHP es el algo asi como decir cakephp.

1 comentario:

PROMEME dijo...

cool! ya viene el seminario del sabado sobre python y ahi vamos a resolver algunas dudas... ahora ruby, pues esperemos que se haga otro seminario...

Exitos!

Publicar un comentario

Gracias por comentar, si es necesario te responderé lo antes posible.

- demuxer -

Comparte

Share your links easily.