Why?

The Koans walk you along the path to enlightenment in order to learn Ruby. The goal is to learn the Ruby language, syntax, structure, and some common functions and libraries. We also teach you culture. Testing is not just something we pay lip service to, but something we live. It is essential in your quest to learn and do great things in the language.

How?

The Koans are 33 different lessons covering various topics, but I won’t be doing the JRuby Koan so I will only be doing 32. The first evening I started I done the first 10. You can either download the Koans or you can do them online. My choice is to do them online, but my process (as with most coding tutorials or books) is to copy the code to my IDE and do the lessons locally. I have broken the Koans up over 5 parts that I will do over 5 days.

###Part 1

about_asserts

about_nil

about_objects

about_arrays

about_array_assignment

about_hashes

about_strings

about_symbols

about_regular_expressions

about_methods

###Part 2

about_keyword_arguments

about_constants

about_control_statements

about_true_and_false

about_triangle_project

###Part 3

about_exceptions

about_triangle_project_2

about_iteration

about_blocks

about_sandwich_code

about_scoring_project

###Part 4

about_classes

about_open_classes

about_dice_project

about_inheritance

about_modules

about_scope

###Part 5

about_class_methods

about_message_passing

about_proxy_object_project

about_to_str

about_extra_credit

These are pretty cool as each Koan builds up your knowledge as you go. The language and the syntax are much less verbose than C#, and I am pretty happy about that, who doesn’t want to write less code to get the same amount of work done?

Another thing I really like is how you are taught through Unit Testing, so not only are you learning Ruby you are also learning how to write Unit Tests and to do it using TDD.

Conclusion

So far the Ruby Koans are pretty fantastic, and I recommend them to anyone. Granted that this isn’t my first experience with Ruby but this is the first time I am really trying to become more proficient in the language. The Koans have already enlightened me, and I will keep doing them and report back my progress tomorrow.

Discussion, links, and tweets

My name is Deon Heyns and I am a developer learning things and documenting them in realtime. Python, Ruby, Scala, .NET, and Groovy are all languages I have written code in. I appeared in the New York Post once. I host my code up at GitHub and Bitbucket so have a look at my code, fork it and send those pull requests.