I love the idea behind Ruby Koans: write a set of failing unit tests that teach you about the essence of ruby as make every test turn green. It's a brilliant idea. The tests themselves are usually simple and illustrative. You even get encouragement (or enlightenment? :-) as you fix them.
The good news is that this idea has spread beyond ruby. There are koans in many languages:
- C#
- Clojure
- Java
- Javascript and more Javascript
- Objective-C
- Python
- Scala
- But where is the SQL Koan? I'm sure that would help many a developer!
While learning a programming language is best achieved by writing a useful application, these koans are a very welcome (and fun!) addition.