Libertonia
Portada · Todo · Software Libre · Desarrolladores · Comunidad · Internet · Tecnología · Meta · Diarios
Ver: Modo: Orden:
Mis vapores favoritos | 4 comentarios (4 temáticos, editoriales, 0 ocultos)
Cuestión de sencillez y homogeneidad (none / 0) (#4)
por davinci (davinci at ecol org) a las Thu Sep 30th, 2004 at 09:48:30 AM CET
(Información Usuario)

Parto de la base fundamental de que la elección de un lenguaje, si las opciones son tan parecidas como Python y Ruby, se debe más al gusto personal que a otra cuestión.

Teniendo eso presente, es probable que, en tu caso, nada resulte decisivo para pasarte a Ruby, salvo que un buen día lo pruebes con uno de tus scripts y descrubras que su expresividad va mejor con tu manera de hacer las cosas.

Sí puedo apuntarte algunas razones que a mí me harían volver a elegir, como ya hice en su momento, Ruby.

Para empezar, el formateo estricto del código de Python no me gusta nada. Prefiero la versatilidad, en ese sentido. Hace poco un amiguete (windowsero) me comentó que había estado echando un ojo curioso a Python y lo había abandonado porque el editor que usaba le daba problemas con el formateo: cuestión de tabuladores. Es un punto en el que Ruby se interpone menos.

Seguimos con el acceso uniforme a las funciones del lenguaje. Dices que no te hable de la mejor orientación a objetos, porque eso no te preocupa lo más mínimo para pequeños scripts. Creo que sí tiene su impacto en el día a día. No es lo mismo hacer un length(cadena) que un cadena.length. ¿Parece un detalle nimio? No lo es, pienso yo, si hablamos del principio de la mínima sorpresa (motivo básico que subyace a todo el lenguaje Ruby). En el primer caso tenemos una construcción distinta en función de que una variable constituya un tipo básico del lenguaje o sea el objeto de una clase propia. En el segundo TODO funciona exactamente igual.

En Ruby la simplicidad surge de esta concisión. Es una característica que tiene calado en todo el lenguaje, independientemente de que lo uses para proyectos grandes y complejos o para scripts.

Me gusta que un lenguaje sea claro, pero no hasta el punto de sentirme obligado de forma excesiva por la sintaxis. Es lo que me ocurre cuando veo código Python. Detalles tan tontos como tener que poner self en cada función de una clase, me parecen parches que remedan un diseño defectuoso en la base. Otras "características" como no poder anidar sentencias porque no devuelven un valor, me resultan sospechosas, y prefiero siempre el caso contrario (menos claro si se abusa de él, pero para mi gusto mucho más expresivo).

Estoy convencido de que nada de todo esto tiene peso suficiente como para que te plantees un cambio. Yo tampoco veo necesario dicho planteamiento, salvando que Python tenga detalles que no te agradan y sigas buscando otro lenguaje que mejore dichos detalles.

La prueba de que el modelo de Ruby es interesante radica en que, con los años, Python ha ido adoptando las características que le separaban de él. Podría decirse que ambos lenguajes son, en la actualidad, muy similares. Pero también podría decirse que, lo que Python ha ido adquiriendo a lo largo del tiempo, Ruby lo tiene desde que nació, y está mejor integrado en las extensiones, por ejemplo.

¿Carencias importantes de Ruby? No se me ocurren muchas, así a bote pronto. Me gustaría que tuviese paso de argumentos por nombre, como es el caso de otros lenguajes (incluido, creo recordar, Python).

Mi situación fue ideal en su momento, cuando tuve que tomar la decisión de qué lenguaje aprender y conté con los tres grandes para compararlos: Perl, Python y Ruby (otras opciones como Ocaml, Lisp, etc las desestimé para no volverme completamente loco ante tantas opciones). Pero si ya estás satisfecho con lo que hace tu lenguaje, no te falta absolutamente nada y no te pica el gusanillo lo suficiente, ¿para qué plantearse un cambio?

Si el tema te interesa como para dedicarle un par de horas, puedes mirar aquí montones de razones para cambiar (o no) de Python a Ruby.


¡Es la guerrrrrrra!
[ Padre ]


 

Mis vapores favoritos | 4 comentarios (4 temáticos, editoriales, 0 ocultos)
Ver: Modo: Orden:
Menu
· crear cuenta
· FAQ
· búsqueda
· Fuentes de Noticias

Login
Nueva cuenta
Usuario:
Contraseña:

ecol Logo Powered by Scoop
Todas las Marcas Registradas y copyrights de esta página son propiedad de sus respectivos dueños.
Los comentarios son propiedad del que los escribe.
Los iconos de las noticias y el logotipo son propiedad de Javier Malonda.
El Resto © 2002 Escomposlinux.org y aledaños.

Puedes sindicar los contenidos de libertonia en formato RSS 1.0 y RDF 0.9. También se puede sindicar la cola de envíos pendientes de moderación.

El proyecto escomposlinux.org está dedicado a la memoria de tas

crear cuenta | faq | búsqueda