Charla ruby

Hola hola!!

Qué tal? De aquí a poco he de hacer una charla sobre Ruby a gente que no
lo conoce pero sí conocen otros lenguajes. No estoy muy acostumbrado a
hacer charlas y no sé cómo orientar la charla. ¿Vosotros cómo la
orientaríais?

Saludos!

jabberID: [email protected]
blog: http://blog.geekcoders.net

El miércoles 05 de septiembre, Hector
Muñoz escribió:> Qué tal? De aquí a poco he de hacer una charla sobre Ruby a gente que

no lo conoce pero sí conocen otros lenguajes. No estoy muy
acostumbrado a hacer charlas y no sé cómo orientar la charla.
¿Vosotros cómo la orientaríais?

Si ya conocen otros lenguajes supongo que lo que más les interesará es
qué aporta Ruby con respecto a las alternativas. Una comparativa que
destaque los puntos fuertes y exclusivos de Ruby parece la mejor
opción.
David

DaVinci
escribió:> Si ya conocen otros lenguajes supongo que lo que más les interesará es

qué aporta Ruby con respecto a las alternativas. Una comparativa que
destaque los puntos fuertes y exclusivos de Ruby parece la mejor
opción.

Coincido con David en ese enfoque comparativo. Por aportar algo, quizá
estas charlas y transparencias te sirvan como referencia:

  • Ruby Mola (y por qué)[1], de Sergio Gil
  • The Beauty of Ruby[2], de Glenn Vanderburg
  • Rails para programadores Java[3], de Juanjo Bazán. Más centrada en
    Rails que en Ruby, pero muy recomendable para los J2EEros.

Saludos,
Raul M.

[1] conferenciarails.org - contact with domain owner | Epik.com
[2] The Beauty of Ruby
[3]http://2006.conferenciarails.org/ponencias-video.php?v=railsparajaveros

Hola,

Si ya conocen otros lenguajes supongo que lo que más les interesará es
qué aporta Ruby con respecto a las alternativas.
Coincido con David en ese enfoque comparativo.
A mí me ha tocado dar alguna charla “formal” y varias charlas/sesiones
informales de introducción a ruby para amigueyes y lo de la comparación
viene muy bien más que nada para saber de dónde partes (ya saben lo que
es una variable, una clase, un objeto, etc…), pero no me quedaría sólo
en eso.

Hay ciertamente puntos en los que Ruby compara bien con otros lenguajes,
pero hay algunas cosas que son propias de él (o de un subconjunto de
lenguajes) y que no son fácil de explicar solamente como comparativa.
Además, alguna vez me ha pasado que cuando intento hacer comparativas
con otros lenguajes me encuentro con que hay conceptos del lenguaje con
el que comparo que los desarrolladores para los que estoy explicando no
conocen bien, y es peor el remedio que la enfermedad porque entonces te
empiezan a preguntar del lenguaje del que no has ido a hablar :wink:

Te cuento un poco de lo que suelo hablar yo por si te vale. Este guión
es subjetivo y seguro que hay cosas mejorables, pero como dice el gañán
“A MÍ ME FUNCIONA!!”

Primero siempre cuento un poquito de la filosofía de ruby. Simplicidad
en el código, menos líneas hacen el código más legible y menos sujeto a
errores, principio de la mínima sorpresa y la máxima heredada de “lo
fácil debería ser fácil y lo difícil debería ser posible”. En este punto
hablo de la arquitectura general de ruby, de su sistema de tipos
dinámico y del mito de que es muy lento (ciertamente es más lento que
otros lenguajes pero en la mayoría de casos de la vida real no importa).
También aprovecho para comentar el incremento en la velocidad de
desarrollo a cambio.

La sintáxis genérica la paso muy rápido dejando solamente algo de sitio
para comentar los case y los modificadores if y unless en la línea,
además de comentar aquello de que todo devuelve un valor de retorno… y
luego dedico algo de tiempo al uso de bloques/closures.

Todo esto lo hago sobre algún fuente que tenga por ahí de la vida real y
con apoyo de irb (normalmente lo hago con script/console en realidad
porque suelo meter rails) para ilustrar cómo se pueden ir probando las
cosas sobre la marcha sin necesidad de compilar ni nada parecido.

Luego me tiro a explicar más o menos el modelo de objetos que tiene (por
ejemplo, que nil es un objeto y que no hay primitivas), las
posibilidades dinámicas en cuanto a reabrir clases sobre la marcha,
añadir/quitar métodos y propiedades dinámicamente y hacer introspección
de forma sencilla.

Si me sobra tiempo me detengo en detalle a ver cosa curiosas del modelo
como que puedas jugar con la definición de la clase o incluso de una
instancia a nivel individual y que puedas utilizar el ObjectSpace para
examinar/manipular es estado de tu aplicación en cualquier momento.

Y como además suelo comentar rails, luego ya paso a alguna cosita de AR
sobre alguna aplicación que tenga en marcha y de ahí ya al repaso
obligatorio al modelo MVC parando sobre todo en la potencia de los
filtros.

Sé que quedan muchas cosas sin contar en una visión tan rápida, pero
como intro ya suele ir bien. En algún caso que he tenido mucho tiempo o
que he contado las cosas en varias sesiones ya se entra más, pero para
una primera toma de contacto con todo eso quedas como un señor :wink:

saludos,

javier ramírez