Cada día son mas la herramientas que tenemos disponibles para aprender a programar. Anteriormente les contábamos de 10 sitios donde tomar cursos de programación gratis pero siempre hay oportunidad para mas alternativas, sobre todo si son de calidad como los Koans.

Ruby y Python son lenguajes de programación ampliamente usados en la actualidad que tienen muchas cosas en común, y una de ellas es la posibilidad de llegar a dominarlos siguiendo la filosofía zen de los Koans.

¿Qué es un Koan?

Un Koan es una parte fundamental de la tradición del budismo zen. Se trata de una historia, un diálogo, una pregunta, o una declaración, cuyo significado no puede ser entendido por el pensamiento racional, pero puede ser accesible a través de la intuición.

Aplicado a la programación, un Koan es un ejercicio que el maestro plantea al alumno para que lo resuelva y así compruebe sus progresos. Resulta genial y muy conveniente orientar esta filosofía a la programación ya que no todos los problemas que un desarrollador debe afrontar a lo largo de su carrera requieren solamente de un pensamiento lógico. Es cuando nos relajamos que vienen como epifanías las mejores soluciones a nuestra cabeza.

Ruby Koans

Ruby es un lenguaje de programación interpretado y orientado a objetos que aunque muchos creen que es joven vio la luz en 1995. Fue creado por el japones Yukihiro Matsumoto. Ruby coquetea mucho con el paradigma de programación funcional y hereda mucha de su sintaxis de Smalltalk. Se volvió popular gracias a su empleo en el framework web Ruby on Rails.

Los Ruby Koans son un conjunto gratuito de ejercicios cuyo fin es aprender Ruby, o como ellos lo llaman, el camino hacia la iluminación. El objetivo es aprender Ruby, su sintaxis, estructura, y algunas de sus funciones y librerías comunes.

Los Ruby Koans se presentan como un conjunto de tests que el usuario debe ir resolviendo para demostrar sus conocimientos. Estos tests están fuertemente orientados al desarrollo guiado por pruebas, conocido como TDD, del inglés Test Driven Development. Por supuesto, la idea no es resolver las pruebas lo más rápido que puedas, es que leas el código cuidadosamente y llegues a entender porque estás fallando para luego dar la solución.

Aprende Ruby y Python
pasukaru76

Los Koans son archivos que se desglosan por áreas. Cada uno aumenta tu conocimiento de Ruby en un área en particular. Las lecciones se detendrán en el lugar que necesites para hacer correcciones. Para ser resueltos, algunos Koans solo requieren sustituir la respuesta incorrecta por la correcta, sin embargo algunos requieren que les suministres una respuesta propia. Cada test unitario debe ser corregido antes de pasar al siguiente.

Para comenzar con los Koans, debemos descargar el archivo zip de su portal. Una vez descomprimido, ejecutamos:

$ ruby path_to_enlightenment.rb


Se nos ira indicando que archivo editar así como donde se encuentran los errores. Podremos ver nuestro avance en una barra que se va llenando a medida que vamos avanzando y completando las unidades. El objetivo es que ademas de corregir los tests para que pasen, reflexionemos sobre lo que estamos aprendiendo.

Python Koans

Python es un lenguaje de programación interpretado y orientado a objetos que soporta también paradigmas imperativos y funcionales . Su primera aparición fue en 1991 y fue creado por Guido van Rossum. Se ha hecho popular no solo para aplicaciones de escritorio sino para scripting, aplicaciones web y de cómputo intensivo.

Ha sido tal la popularidad de los Ruby Koans, que un grupo de desarrolladores de Python decidió crear una versión para este lenguaje. Los Python Koans son una manera muy didáctica de aprender Python codeando en lugar de simplemente leyendo tutoriales. Al igual que los Ruby Koans, son una serie de tests orientados al TDD, lo que es genial porque aprendes como hacer pruebas unitarias en Python, aun si no estas familiarizado.

Para Python hay Koans tanto de Python 2 como de Python 3, así que si ya manejas alguno no tienes de que preocuparte. Están disponibles desde GitHub y Bitbucket. Una vez descargados, y asumiendo que cumples con los requisitos previos (tener Python instalado), los inicias con:

$ python contemplate_koans.py


Aparte de los enfoques filosóficos diferentes detrás de los dos idiomas, Ruby y Python son bastante similares. Les recomiendo realizar los Koans como un medio no solo para aprender o reforzar conocimientos, sino para enriquecer el criterio y comprobarlo por ti mismo.