¿Qué es Ruby?

Ruby es el lenguaje de scripts para una programación orientada a objetos rápida y sencilla. Tiene muchas características para el procesado de ficheros de texto y para realizar el mantenimiento del sistema (al igual que Perl). Es simple, serio, extensible y portatil.

¡Ah! debo añadirlo, es totalmente libre, lo cual no implica únicamente gratuidad, sino también libertad de uso, copia, modificación y distribución bajo los términos de la GPL

Características de Ruby

  • Ruby utiliza una sintaxis parcialmente inspirada en Eiffel y Ada.
  • Ruby dispone de manejos de excepciones, al igual que Java o Python, para que sea sencillo el manejo de errores.
  • Los operadores en Ruby son syntax sugar para los métodos. Puede redefinirlos fácilmente.
  • Ruby es un verdadero y completo lenguaje orientado a objetos: OOL. Esto quiere decir que todos los datos en Ruby son un objeto, en el sentido de Smalltalk, sin excepción. Por ejemplo: En Ruby, el número 1 es una instancia de la clase Fixnum.
  • La orientación a objetos de Ruby ha sido cuidadosamente diseñada para ser completa y abierta a nuevas mejoras al mismo tiempo. Por ejemplo: Ruby tiene la habilidad de añadir métodos a una clase, o incluso a una instancia, mientras se procesa. Por lo tanto, si hace falta, una instancia de una clase puede actuar de diferente manera que otras estancias de la misma clase.
  • Ruby dispone únicamente de herencias simples, a cosa hecha. Pero Ruby conoce los conceptos de módulos (llamados Categorías en Objective-C). Los módulos son colecciones de métodos. Cada clase puede importar un módulo y al hacerlo obtiene todos sus métodos a cambio. Algunos de nosotros pensamos que este camino es mucho más claro que el de herencias múltiples, que es complejo, y no es usado tan a menudo comparado con la herencia simple (¡no cuente C++ aquí, ya que frecuentemente no le queda otra elección debido a su estricto chequeo de sintaxis!).
  • Ruby dispone de verdaderos cierres. No solamente de funciones sin nombre, sino de variables con todas las de la ley.
  • Ruby dispone de bloques en su sintaxis (código rodeado por { } o do end). Estos bloques se pueden pasar a los métodos o convertirse en cierres.
  • Ruby dispone de un verdadero recolector de basura. Trabaja con todos los objetos de Ruby. No tiene que preocuparse por mantener una relación de referencias en las librerías de extensiones. Esto es mejor para su salud. ;-)
  • Escribir extensiones C en Ruby es más sencillo que en Perl o en Python, gracias en parte al recolector de basura, y en parte a la cuidada API de extensiones. También dispone de un interfaz SWIG.
  • Los integrales en Ruby pueden (y de hecho deben) ser usados sin tener en cuenta sus representaciones insternas. Son pequeños integrales (instancias de la clase Fixnum) y grandes integrales (Bignum), pero no se debe de preocupar de cual usar en cada momento. Si un valor es lo suficientemente pequeño, un integral es un Fixnum, y de otro modo un Bignum. La conversión se produce de forma automática.
  • Ruby no necesita declaraciones de variables. Utiliza una nomenclatura sencilla para definir el alcance de una variable. Por ejemplo: un simple var = variable local,@var = variable de instancia, $var = variable global. Por lo tanto no es necesario utilizar un cansino self. antepuesto a cada miembro de la instancia.
  • Ruby puede cargar librerías de extensiones dinámicamente si el S.O.(Sistema Operativo) lo permite.
  • Ruby dispone de hebras independientes del S.O. Por lo tanto, en cualquier plataforma en la que corra Ruby, usted dispone de multihebrado (multithreading), independientemente de que el S.O. lo soporte o no ¡incluído MS-DOS! ;-)
  • Ruby es altamente portatil: se ha desarrollado mayormente en Linux, pero funciona en muchos tipos de UNIX, DOS, Windows 95/98/Me/NT/2000/XP, MacOS, BeOS, OS/2, etc. El creador de Ruby

Yukihiro Matsumoto, a.k.a Matz matz(at)netlab(dot)jp

Traducido por Sergio Rael (v.1.0)