|
Ruby
|
|
Ruby es un lenguaje de programación interpretado, de muy alto nivel y orientado a objetos. ¿Por qué otro lenguaje más? Pues porque Ruby es diferente. Cuando Matz dice que Ruby es orientado a objetos, realmente quiere decir que es orientado a objetos. En este lenguaje, hasta los números y los caracteres literales son objetos, y tienen los métodos de su clase, que pueden llamarse normalmente. Hay actualmente un esfuerzo de traducción de la documentación disponible para Ruby en http://www.ruby.org.es. Pronto habrá documentación disponible en castellano, como el libro «Programming Ruby». Casi todos los comentarios sobre Ruby son puro elogio, y es que combina las mejores características de Smalltalk, Perl e incluso alguna cosa de programación funcional. Claro, que las palabras lo aguantan todo... veamos un poco de Ruby en acción:
Ufff... en una sola expresión hemos cogido un literal (content-type), lo hemos partido en dos por el signo igual, dejándolo en una lista, hemos procesado los elementos para crear una nueva, y los hemos vuelto a unir con el signo dos puntos. El resultado de la expresión, que se imprime por la pantalla, es Content:Type. También podemos hacer bucles de forma simple y elegante, con el método upto de los enteros:
Podemos declarar de forma sencilla listas de elementos literales, y luego mostrar una lista construida procesando la original:
Lo cual imprime
Debido a la naturaleza simple y dinámica de Ruby, podemos pasar nombres de clases como parámetro, añadir métodos a cualquier clase cuando queramos (y dependiendo de cualquier condición, o incluso dentro de bucles), ¡incluso a las clases básicas!
Por si tienes miedo de que tanta flexibilidad puede dar lugar a muchos errores, no te preocupes, porque Ruby tiene un sistema completo de excepciones (en forma de clases, que se pueden heredar y definir) que permite lanzarlas, capturarlas, prepararse para recibirlas, y ejecutar cualquier programa al capturarlas:
Por último, tiene bastantes paquetes disponibles, un paquete que permite cargar paquetes de Python desde un programa en Ruby, primitivas de hilos, interfaces gráficas, funciones de red, etc. Y ahora, algunos pequeños programas que he escrito en Ruby, a modo de ejemplo:
|