Not to feed the addiction, but that's pretty much exactly what SpaceChem does. You're programming, without programming. And you have some very clearly defined limits, letting you be remarkably creative with your solutions.
Now then, that doesn't apply well to a real world problem, but there are definitely parallels.
I love SpaceChem! Fantastic game...though when I'm playing it, I think "I should just be programming instead." If only SpaceChem had more freedom and could actually create code.
Spacechem is essentially dataflow programming. Unfortunately the canvas size is to small to do general purpose computing. If you could have a lot lot more reactors, then you could encode useful data in the molecules and use the pipelines as queues to simulate memory buffers and, well, obviously queues.
Now then, that doesn't apply well to a real world problem, but there are definitely parallels.