25 enero 2007

Ruby, un lenguaje muy completo

Estos días estuve probando Ruby. Realmente me encantó. Para los que se preguntan si estuve masticando piedras preciosas, no (ojalá hubiese sido así!) Nada que ver...
Es un lenguaje de programación de codigo abierto, programado en C. Lo creó un japonés que tiene un nombre complicado como todos los japoneses.

Corre en todos los Linux y además en Windows y Mac. Es muy bueno para aprender, porque es un lenguaje facil pero a la vez potente. Parece ser que el creador hubiese dicho: "Tomo lo bueno de C++, simplifico la parte complicada y elimino lo innecesario".

Ruby es orientado a objetos, es typeless (o sea las variables no tienen tipo), generalmente no hace falta definir las variables y además re-plantea todo lo referido a bucles simplificandolo, pero sin dejar de lado a los usuarios que vienen de C y que por ejemplo prefieren seguir utilizando el for.
Soporta herencia, y una herencia multiple pero "modificada", donde una es la clase parent y las demas son "pseudo" parents (mixins).
Además se puede redefinir clases ya creadas, y agregarles metodos por ejemplo.
La parte de librerias es muy comoda. Por ejemplo este codigo nos devuelve la ip sitio, dado su nombre de dominio:

require "socket"
direc="www.google.com.ar"
a = IPSocket.getaddress(direc)
printf "La ip de %s es %s:",direc,a



como vemos, es bastante simple. La primera linea incluye la biblioteca para usar sockets. Luego a una variable le asignamos un string (vemos que no hace falta declarar la variable ni su tipo).
Luego utilizamos la clase IPSocket y el método getaddress. Al final vemos el clasico printf heredado de C, aunque con menos complicaciones. No lleva parentesis y ademas las lineas de Ruby no llevan punto y coma al final.
Ese codigo es TODO el programa. No hay int main(), ni include ni ni nada por el estilo. 4 lineas nos permiten conocer a partir de un dominio, la ip correspondiente. Si ya se me dirán que utilizar ping es mucho mas sencillo, pero cuantas lineas tomaría hacer esto mismo en C / C++ o hasta en Visual Basic?
Esta comodidad y adaptación, y la posiblidad de reutilizar facilmente el codigo es lo que llevo a que la NASA utilice Ruby para alguno de sus sistemas.
Bueno espero lo prueben.
Lo pueden bajar de aqui: http://www.ruby-lang.org/es/
Es el sitio oficial en castellano. Pesa unos 23mb para Windows, incluyendo las librerias, y unos 10mb sin incluirlas.
Una vez instalado consta de un inteprete "instantaneo" por asi decirlo, un editor de codigo multilenguaje (pero que funciona muy bien con Ruby, llamado Scite), y un IDE algo engorroso. Personalmente uso el editor scite y luego ejecuto en una ventana de DOS.
Cabe aclarar que es un lenguaje intepretado, por lo tanto no tenemos que compilar el codigo para luego ejecutarlo sino que el interprete se encarga de correr nuestros programas (ruby.exe).

A pesar de esto se puede enlazar y crear un ejecutable que no dependa del inteprete (en otro post les muestro).

Saludos

No hay comentarios.: