Reflections on Sudoku

last updated: Jun 13, 2025

Why did Ron Jeffries struggle so much to build a Sudoku solver? Because he doesn't know much about search or CSP. And if you don't know how to frame and solve a search problem, and you don't know or desire to use the "meta-tools" to learn about them, then you won't be able to solve this type of problem.

With this in mind, I was unsurprised when Jeffries spent multiple articles recently writing about the process of building a bowling score calculator. This isn't quite FizzBuzz, but it's a still a single for-loop. My assertion is that Ron Jeffries downfall is due to the belief, and he doesn't come out and say this directly, but it's implied, that with TDD he's found a tool that can systematize programming. That is, if you apply this approach, you will unfailingly reach your goal: you don't need to know all this other stuff like CSP. Jeffries selection of and struggles with these simple problems, like the Sudoku solver and bowling calculator, are indicative of the limitations of his approach to problem solving.

The issue is that the results from the Entscheidungsproblem would suggest that there is no general method to solving problems.

Whole thing is worth reading

↑ up