Mi nombre es Fernando Briano y soy programador.

Aprender Ruby con Ruby Koans

Ruby

Ruby

Si bien abandoné los posts teóricos sobre Ruby esta semana, descubrí algo increíble para estudiar más el lenguaje de manera didáctica. En un correo de la lista de Rubysur se comentó del grupo de estudio que se formó para aprender Ruby en Montevideo (interesados escribir a la lista de correo). Decía que habían comenzado con los Ruby Koans.

¿Qué es un koan? Definición de Wikipedia:

Un k?an (??; Japonés: k?an, Chino: g?ng’àn) es, en la tradición zen, un problema que el maestro plantea al novicio para comprobar sus progresos. Muchas veces el ‘k?an parece un problema absurdo, ilógico o banal. Para resolverlo el novicio debe desligarse del pensamiento racional y aumentar su nivel de conciencia para adivinar lo que en realidad le está preguntando el maestro, que trasciende al sentido literal de las palabras.

Así se plantea el aprendizaje en este sitio de Ruby Koans:

Los Koans te llevan por el camino a la iluminación para aprender Ruby. La meta es aprender el lenguaje Ruby, la sintaxis, estructura y algunas funciones y bibliotecas comunes. También te enseñamos la cultura. El testing no es solo algo que apoyamos sin un respaldo, sino algo que vivimos. Es esencial en tu búsqueda que aprendas y hagas cosas grandes con el lenguaje.

Y realmente hacen hincapié en el desarrollo guiado por pruebas (TDD), ya que estamos obligados a realizar los ejercicios mediante testing. Para comenzar a hacer los ejercicios, debemos descargar el archivo zip con el código de los koans. Una vez descomprimidos, ejecutamos:

[fernando@hoth koans]$ ruby path_to_enlightenment.rb

De esta manera se nos irá presentando la palabra del “maestro zen”, que nos irá indicando qué archivo debemos editar, y dónde se encuentran los errores. Además, veremos una barra de progreso hasta 274. La idea es que modifiquemos los test para que pasen, reflexionemos sobre qué nos está enseñando cada test, y por último mejorar el código (refactorizar).

En fin, recién comencé con esto, pero lo encuentro sumamente útil, dinámico y una manera muy original de aprender Ruby. También es un acercamiento interesante a TDD. Así que aprovecho para compartirlo con aquellos que estén siguiendo conmigo el camino hacia la iluminación en Ruby…

Feed de comentarios | Url para Trackbacks | Suscribirse a los posts por correo electrónico

7 comentarios en este post

  1. Avatar Maxi 4 febrero. 2011 - 11:13 pm Google Chrome 9.0.597.84 Windows XP

    Copado, yo estoy aprendiendo RoR con Ruby on Rails Tutorial Book” y habla del TDD también y otras cosas.
    Lo recomiendo, se aprende rápido.

    • Avatar Fernando 4 febrero. 2011 - 11:53 pm GNU IceCat 3.6.13 GNU/Linux 64 bits

      Buenísimo, siempre vienen bien más recursos para estudiar. Conocí ese libro por Rails For Zombies, al terminar los laboratorios lo recomiendan.

      Cuando me sienta “cómodo” con el lenguaje Ruby, pienso seguir con Rails. Probablemente este libro sea el punto de partida (ya terminado Zombie for Rails y otros recursos que he comentado).

      ¡Gracias por compartirlo!
      Saludos

  2. Avatar Steven Calderon 5 febrero. 2011 - 3:00 am Google Chrome 8.0.552.237 Windows 7

    ruby tiene tantas cool para aprender, cosa que no le pasa otros lenguajes, que nos quieren decir los programadores ruby? algún día dominaran e mundo?

  3. Avatar David 5 febrero. 2011 - 11:31 am Safari 6531.22.7 Mac OS

    Pero, pero… ¿Esto significa que no vas a seguir escribiendo sobre Ruby?

  1. Unknown Tweets that mention Aprender Ruby con Ruby Koans | Picando Código -- Topsy.com | 5 febrero. 2011 - 9:50 am

    […] This post was mentioned on Twitter by Seve, Edwin Caldon. Edwin Caldon said: g-reader: Aprender Ruby con Ruby Koans: Ruby Si bien abandoné los posts teóricos sobre Ruby esta semana, descubr… http://bit.ly/fxI9Mb […]

  2. WordPress Arrays en Ruby | Picando Código | 21 septiembre. 2011 - 9:34 am

    […] Programming Ruby 1.9: The Pragmatic Programmers’ Guide. Vengo acompañando la lectura con los Ruby Koans, y algunos video tutoriales. Ya repasé lo de Rails For Zombies, y descubrí otro excelente recurso […]

Dejar un comentario

Toasty!