Wednesday, December 31, 2008

Acaba de Salir Ruby 1.9.1-release candidate 1

Yuki Sonoda acaba de anunciar a Ruby 1.9.1-"release candidate", la primera versión estable de Ruby 1.9.1.

Hasta que no salga la versión final de Ruby 1.9.1 no habrá noticias, ni enlaces, ni recursos, pero recomiendan usar la guía de Dr Nic's llamada "Future proofing your Ruby code - Ruby 1.9.1 is coming". La presentación de Sam Ruby en OSCON sobre Ruby 1.9 también debe resultar ilustradora para los que sabemos poco sobre 1.9.

Referencias:
Anuncio de Yuki Sonoda
"Ruby 1.9.1 Release Candidate Released", anuncio en RubyInside
"Future proofing your Ruby code - Ruby 1.9.1 is coming", la guía de Dr Nic
presentación de Sam Ruby en OSCON sobre Ruby 1.9

Monday, December 29, 2008

Matz en RubyConf 2008

Matz Matsumoto, el autor del lenguaje de programación Ruby, dio un discurso clave, "keynote", en RubyConf 2008, en Noviembre.

Su tema fue "Por qué Ruby?". Dice Matz que adora los lenguajes de programación. Ruby fue diseñado para "maximizar la libertad".

Nos explica Matz, por qué queremos un lenguaje:
* Porque hace que programar sea más fácil;
* su primer lenguaje fue BASIC y luego descubrió LISP; estos lenguajes están a ambos extremos de la escala;
* la comunidad y la gente es importante; su entusiasmo es importante;
* la productividad y la eficiencia es importante;
* mucha gente usa Ruby debido a Rails;
* Rails: un lenguaje (basado en Ruby) para hacer aplicaciones para la red;
* Rake: un lenguaje (basado en Ruby) para construir aplicaciones;
* RSpec: un lenguaje (basado en Ruby) para hacer testing;
* Ruby es un Meta-DSL (meta-lenguaje usado para crear lenguajes en dominios específicos;
* Gartner proyecta 4 millones de usuarios de Ruby para el 2013;
* cuidado que no nos dejemos llevar por el deseo al dinero; podríamos perder algo muy importante;
* las razones más importantes para Matz son el amor al lenguaje y a la comunidad.


Referencia:
Discurso de Matz en RubyConf 2008 (video en línea)

RubyConf 2008

RubyConf 2008 tuvo lugar en Noviembre, en Orlando, Florida.

Yo estuve tan ocupado en Silicon Valley, que se me pasó y no me di cuenta. Sin embargo, los videos de la conferencia están en línea para que todos los disfrutemos. Hay discursos de Matz, y de la gente de MacRuby, JRuby, IronRuby, etc. También hay un discurso sobre Ruby 1.9, entre muchos otros interesantes.

Poco a poco iré resumiendo los que me llamaron la atención.

Referencia:
RubyConf 2008 discursos en línea

Dave Thomas en RubyConf 2008

Dave Thomas, autor de uno de los libros claves sobre Ruby, dio un discurso en RubyConf 2008. En él, propone a la comunidad que es hora de bifurcar a Ruby; y habla sobre las características nuevas de Ruby 1.9.1.

Entre otras cosas, propone los siguientes proyectos:
* Ruby liviano ("RubyLite"): porque las versiones de Ruby se están haciendo demasiado grandes, exponencialmente;
* Ruby Paralelo ("Pruby"): paralelismo con el operador "//=";
* Ruby con tipos opcionales ("oTuby"): tipos de datos para mejor documentación e interfaces;
* Ruby basado en clausuras ("Cluby"): sintaxis simple para bloques con lambdas;

Al final Dave concluye: "No hay nada malo con Ruby. De hecho, todos queremos mucho a Ruby. Pero tampoco hay nada malo con experimentar ideas y variaciones. Debemos divertirnos."

Para más detalles, favor consultar el enlace en la referencia.

Referencia:
Discurso de Dave Thomas, video en linea

Sunday, December 28, 2008

Rhodes para Aplicaciones Móbiles

Rhodes es un marco de desarrollo de aplicaciones (parecido a Rails), liviano, para dispositivos móbiles tales como iPhone, Windows Mobile, y Blackberry, con planes futuros para Android y Symbian.

Rhodes es esencialmente una combinación de lo siguiente:
* una implementación mínima de Ruby para dispositivos móbiles;
* un micro-marco MVC (Modelo-Vista-Controlador) que consiste en una estructura de directorios, archivos y una convención de nombres. Para escribir aplicaciones en este marco, se editan plantillas ERB que crean HTML para mostrar datos;
* un generador de aplicaciones llamado RhoGen que genera un controlador básico Create-Read-Update-Delete y las vistas asociadas para los objetos de datos específicos;
* un cliente de la máquina de sincronización RhoSync;
* un gestionador sencillo de objetos relacionales (ORM) llamado Rhom;
* un servidor web que se instala en el dispositivo móbil y corre localmente;

Rhodes cabe en 2 MB de almacenamiento local en el dispositivo móbil.

Rhodes fue hecho en XRuby, una versión de Ruby en Java que compila y produce Java bytecodes. (XRuby es diferente a JRuby)

Referencia:
Rhodes, página oficial
Rhodes Tutorial
XRuby, página oficial

Rails Metal

Rails Metal es un micro-marco de ejecución de Rails, para usar a nivel de middleware, de respuesta extremadamente rápida. Fue diseñado para evitar el overhead causado por el router de Rails y el Action Controller.

En últimas, Rail Metal es un wrapper alrededor de Rack. Rack 1.0 será parte de Rails 2.3.

Referencia:
"Introducing Rails Metal", en rubyonrails.org
Rack, página oficial