The Koans are especially interesting because all you really need to do is setup a working environment and go. It tells you what you need to do next, by way of running the tests and seeing what passes.
I thought to myself, why the heck don’t we have something like that for other languages? There are some obvious challenges – for example, doing it in .NET it has to be compiled, and some of the things don’t map well. But in the spirit of, “If you’re going to fail, fail as publicly as possible” I’m announcing the launch of the DotNet Koans.
The goal of the project is to eventually have a guide for C#, F#, and VB.NET – likely in that order. Ok, likely the first two, and hopefully some VB’r will jump on the third. Right now I have three of the twenty-five koans ported over – AboutAsserts, AboutNil and AboutArrays. I’ve hacked together a custom runner for xUnit.NET which tells you where you are every time you build.
My goal right now is to get everything ported over pretty much as-is, and then look at making sure this fits a good progression. For example, I don’t know if the Koans will lend themselves to LINQ, but that’s something that should be covered.
The project is now public up on GitHub at http://github.com/CoryFoy/DotNetKoans – feel free to download it, play with it, and contribute (or critique) if you’d like.