Today, a friend of mine asked me what it takes to become a programmer. In an earlier post, I talk about some characteristics of a good programmer. This basically amounted to someone who has the desire to code and the will to learn. Very basic, yet very important.

So now I’m looking for ways to get my friend started. Books, online courses, anything I can find to get him started with programming. Then I thought back to my first taste of Clojure–the Clojure Koans!

This is a fun and excellent way to start learning Clojure, and really programming in general. It starts you out with some basic data type operations and takes you all the way through Clojure’s more complex functions.

But there are more Koan options than just Clojure:

Now, I wouldn’t recommend starting with C as a first language. There’s a lot that needs to be done manually in C that just isn’t an issue in most languages today. However, I think it’s a language that every programmer should at least play around in once or twice at some point.

I started with Python and became an addict upon executing my first Hello, World! program. But you can really start with any language! Clojure, Ruby, Java… whatever you think would be the most fun!

Whatever language you decide on, the first place I would start is going through Koans for that language.