Ruby on Rails es un entorno de desarrollo web, de código abierto (open source, software libre), que
nos permite construir aplicaciones web flexibles y robustas rápidamente.
Las dos piezas principales de este entorno son dos: por un lado Ruby, y por otro, Rails.
¿Qué es Ruby?
Ruby es un lenguaje de programación enfocado a la simplicidad y a la productividad, con una
sintaxis elegante y natural, que le hace muy fácil de entender. Es un lenguaje de script (no
compilado), totalmente orientado a objetos.
El lenguaje Ruby fué creado por Yukihiro matz Matsumoto en 1995 cogiendo lo que más le
gustaba de otros lenguajes como Perl, Smalltalk, Eiffel, Ada y Lisp.
Mientras que otros lenguajes tienen tipos primitivos (como números, booleanos, ...) que no son
objetos, aquí todo es un objeto y por tanto se le pueden asociar propiedades y métodos, así como
redefinir o extender su comportamiento.
Veamos algunos ejemplos:
Ejemplo 1
5.times { print "Me encanta Ruby!" }
En este primer ejemplo vemos cómo el número 5 tiene un método "times" con el que tenemos un
bucle, al que le pasamos el bloque entre llaves para que sea ejecutado 5 veces.Ejemplo 2
(1..100).each do |i| print i end
En este segundo ejemplo, vemos cómo los rangos de números (1..100) tienen un método "each" con el que podemos también hacer un bucle, cogiendo cada valor en cada vuelta en el parámetro i.
Ejemplo 3
class Numeric def mas(x) self.+(x) end def par? ((self/2)*2) ==
self end def impar? !par? end end n = 5.mas 6 # n ahora vale 11
n.par? # devolverá false n.impar? # devolverá true
Aquí vemos la posibilidad de redefinir el lenguaje. Aunque la manera normal de sumar dos números
es mediante el operador "+", hemos añadido un método "mas" a la clase Numeric de donde
descienden todos los números para poder sumarlos con esta otra sintaxis. Como vemos, en realidad
el operador "+" es azucar sintáctico para el método ".+" de la clase Numeric.
Pero más importante que redefinirlo, sin duda es poder extenderlo: vemos en el anterior ejemplo
cómo podemos ampliar la clase Numeric con métodos que nos indiquen si el número es par o impar.
Ruby es un lenguaje completo, maduro y estable con muchísimas más características como manejo
de excepciones, recolector de basura, interacción con librerías externas, multithreading
independientemente del sistema operativo, y es altamente portable (funciona en GNU/Linux, UNIX,
Mac OS X, Windows 95/98/Me/NT/2000/XP/Vista, DOS, BeOS, OS/2).
Para profundizar en el lenguaje Ruby, visita la web oficial de Ruby y echa un vistazo a la
presentación que hizo Sergio Gil en la Conferencia Rails 2006, titulada Ruby Mola (y por qué).
No hay comentarios:
Publicar un comentario