jueves, 8 de septiembre de 2011


Ruby

Ruby es un lenguaje de programación creado por: Yukihiro “matz” Matsumoto, quien mezcló partes de sus lenguajes favoritos (Perl, Smalltalk, Eiffel, Ada, y Lisp) para formar un nuevo lenguaje que incorporara tanto la programación funcional como la programación imperativa.

"Ruby es simple en apariencia, pero complejo por dentro, como el cuerpo humano". 1

Ruby es considerado un lenguaje flexible, ya que permite a sus usuarios alterarlo libremente. Las partes esenciales de Ruby pueden ser quitadas o redefinidas a placer. Se puede agregar funcionalidad a partes ya existentes. Ruby intenta no restringir al desarrollador.

Por ejemplo, la suma se realiza con el operador suma (+). Pero si prefieres usar la palabra sumar, puedes agregar un método llamadosumar a la clase Numeric que viene incorporada.



A pesar de que Ruby utiliza la puntuación muy limitadamente y se prefieren las palabras clave en inglés, se utiliza algo de puntuación para decorar el código. Ruby no necesita declaraciones de variables. Se utilizan convenciones simples para nombrar y determinar el alcance de las mismas.
  • var puede ser una variable local.
  • @var es una variable de instancia.
  • $var es una variable global.

Estos detalles mejoran la legibilidad permitiendo que el desarrollador identifique fácilmente los roles de las variables.


Ruby tiene un conjunto de otras funcionalidades entre las que se encuentran las siguientes:

  • manejo de excepciones, como Java y Python, para facilitar el manejo de errores.
  • un verdadero mark-and-sweep garbage collector para todos los objetos de Ruby. No es necesario mantener contadores de referencias en bibliotecas externas. Como dice Matz, “Esto es mejor para tu salud”.
  • escribir extenciones en C para Ruby es más fácil que hacer lo mismo para Perl o Python, con una API muy elegante para utilizar Ruby desde C. Esto incluye llamadas para embeber Ruby en otros programas, y así usarlo como lenguaje de scripting. También está disponible una interfaz SWIG.
  • puede cargar bibliotecas de extensión dinámicamente si lo permite el sistema operativo.
  • tiene manejo de hilos (threading) independiente del sistema operativo. De esta forma, tienes soporte multi-hilo en todas las plataformas en las que corre Ruby, sin importar si el sistema operativo lo soporta o no, ¡incluso en MS-DOS!
  • Ruby es fácilmente portable: se desarrolla mayoritariamente enGNU/Linux, pero corre en varios tipos de UNIX, Mac OS X, Windows 95/98/Me/NT/2000/XP, DOS, BeOS, OS/2, etc.




Bibliografia

Matz. (12 de mayo de 200). la lista de correo Ruby-Talk. miembros de la comunidad Ruby. (s.f.). Ruby. Recuperado el 8 de septiembre de 2011, de http://www.ruby-lang.org/es/about/#fn1



No hay comentarios:

Publicar un comentario