Hmmm.... googling around, there seems to be a lot of recent "programming koans" that are actually collections of rote exercises rather than lessons in zen enlightenment. Frustrating...
It looks like what happened was that a while back, someone made a very nice set of exercises each presented as a koan and a failing unit test to "meditate upon". Imitators then watered that down to exercises presented as failing unit tests to "meditate upon". Which was later watered down to just exercises...
I think you're right in the confusion of koan and kata, but unfortunately yes, I have seen a lot of that happening lately (perhaps due to greater awareness of the word from recent popularity of CodeWars[0]?). Interestingly I've only seen this mistake in this direction, I have not seen any koans mislabeled as kata.
That's the problem. Someone made a nice set of "programming koans" that were (koans + exercises). But, that has spawned new "programming koans" that are just a set of (exercises) with no koans. Koans are supposed to involve practice [0]. But, does practicing a set of (koans + exercises - koans) have koan-nature? ;)
Hmmm.... googling around, there seems to be a lot of recent "programming koans" that are actually collections of rote exercises rather than lessons in zen enlightenment. Frustrating...
It looks like what happened was that a while back, someone made a very nice set of exercises each presented as a koan and a failing unit test to "meditate upon". Imitators then watered that down to exercises presented as failing unit tests to "meditate upon". Which was later watered down to just exercises...
For a classic example of an actual programming koan, I can only refer to the archive of Doug Bagely's "Functional Programming Koans, in OCaml" http://web.archive.org/web/20041012103936/http://www.bagley.... and, the old favorite teaching the relationship between objects and closures http://people.csail.mit.edu/gregs/ll1-discuss-archive-html/m...