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.
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.
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