lunes, 28 de mayo de 2007

Dándole una oportunidad a Ruby

Llevaba un tiempo con ganas de probar a jugar con Ruby. Mi primer contacto con el lenguaje fue tras leer el libro Beyond Java en el que habla de alternativas al lenguaje Java y pone a Ruby como la mejor. Como no tuve mucho tiempo en ese momento y a mí no me gustan demasiado las alabanzas exageradas, fui perdiendo interés en probarlo de verdad.

Posteriormente, me topé un montón de veces con gente encantada con el framework Ruby on Rails y de nuevo, tanto entusiasmo me causó más rechazo que atracción.

Sin embargo, hace poco me propusieron colaborar en un proyecto de web semántica en una empresa que trabaja principalmente con Ruby on Rails, así que me lo empecé a tomar un poco más en serio.

Encontré una librería llamada ActiveRDF que permite trabajar con RDF en Ruby. Luego, pude ver que el lenguaje tiene bastante características curiosas, siendo una evolución de Smalltalk, Python, Perl y otros lenguajes funcionales.

Me gustó la entrevista que le hacen al autor, Yukihiro Matsumoto, sobre la filosofía de Ruby, y su solución de compromiso en el caso de la ortogonalidad...una fórmula muy oriental, en lugar de ortogonalidad, prefiere armonía...ejem.

Y lo último que me ha gustado es que he visto una librería que implementa algunas de las funciones del Prelude de Haskell en Ruby. También he visto varios artículos explicando cómo implementar mónadas en Ruby. A ver si me pongo a re-escribir mi tesis en Ruby...

En definitiva, que el lenguaje parece interesante y divertido...habrá que darle una oportunidad!

5 comentarios:

Mafias dijo...

Me alegro que lo hayas probado, a mí me tiene enamorado :-p

Antes de nada: ¡armonía! ¡sin h! Si te lee Guti te mata...

Lo segundo: "Python, Perl y otros lenguajes funcionales"
¿Python lenguaje funcional? Aún más: Perl ¡¿lenguaje funcional?! Vale que tengan algunas características apenas vistas en los lenguajes imperativos más mainstream, pero yo desde luego no los llamaría funcionales...

Ruby, te lo creas o no, incluye mucha más "filosofía" que otros lenguajes, aunque esto sería para hablar largo y tendido sobre ello. Particularmente en lo de la ortogonalidad estoy de acuerdo con Matz, aunque el argumento de la armonía suene un poco a cuento... El lenguaje en si es bastante ortogonal de todas formas (aunque le faltan según que cosas, no es algo que me parezca imprescindible)

Sobre esas "monadas" que comentas, admito que no se lo que son, aunque cuando tenga tiempo habrá que echar un vistazo. Diviértete con Ruby, al menos a mí me parece un lenguaje "prestoso" para programar...

Wikier dijo...

RDFa on Rails ;-)

labra dijo...

He cambiado lo de "harmonía" (la influencia del inglés me jugó una mala pasada :)

Lo de los lenguajes funcionales, es un ejemplo más de la ambigüedad del lenguaje natural. La frase se puede entender como tú la entendiste, diciendo que Smalltalk, Python y Perl son funcionales, lo cual es una mentira total. O se puede entender como yo la quise escribir, diciendo que está influido por Smalltalk, Python, Perl y por otros lenguajes...que son funcionales, como Haskell, Lisp, etc. Python, Perl y Smalltalk no están en la familia de los lenguajes.

Podía cambiar la frase para quitarle la ambigüedad, pero casi mejor la dejo porque me ha hecho cierta gracia...cuando vi tu comentario, lo primero que pensé es que como suelo escribir los artículos del blog por las noches antes de acostarme, que debía estar muy cansado cuando lo escribí y puse una burrada...ahora veo que no, simplemente fue una frase un poco ambigüa...

Saludos, y gracias por los comentarios...

labra dijo...

Vaya...me pongo a releer el comentario y he visto una frase que sí está mal:

"Python, Perl y Smalltalk no están en la familia de los lenguajes." falta poner..." funcionales"...como lea esa frase sacada de contexto un fan de alguno de esos lenguajes, me crucifica :)

Anónimo dijo...

Buenas,

En mi opinión Ruby, Python, Lua, Lisp, Scheme, etc, por los conceptos que manejan, dejan a Java en completo ridículo (¡cuánto daño ha hecho el marketing de Sun!). Pero lo realmente triste es que Java se haya extendido en el ámbito universitario como la pólvora, cuando es sin duda uno de los peores lenguajes para explicar/entender conceptos de programación.

Como detalle (y para que quede constancia si alguien llega aquí por buscadores), quería comentar que harmonía es perfectamente correcto, hay algunas palabras en castellano que se puede escribir con h o sin ella, con v/b, etc:

DICCIONARIO DE LA LENGUA ESPAÑOLA -

harmonía.

1. f. armonía.