The correct (though inefficient) approach is to keep trying until you see that he starts understanding. However, this is impossible when there are 25 other students in the classroom. Each might require a different manner of teaching to "get it", or learn at different speeds. And so if you're trying to crank out graduates on an assembly line this just won't cut it.
So instead of figuring out a solution where each student can get the education he deserves as a human being, we instead seek to change the student so that he can be programmed with the education that is possible in an assembly line system. This also explains the dearth of highly competent, highly respected teachers... you don't staff your factory with gifted artisans who could carve the pieces. You want someone who will push the button and have the product stamped out in 0.75 seconds.
If you calibrate everything perfectly, some number of students will get a highly optimal (for them) education where everything was timed perfectly, using the easiest-to-understand lessons. For everyone else, for the slow and learning disabled, for the quick and talented... it will be an awful experience. And, whether you call it luck or circumstance, neither of those groups will be educated well enough to be able to express their criticism easily.
> It's like a compiler. Do you want a compiler that compiles really, really fast but just throws opaque error exceptions,
But a compiler isn't a person, and a person isn't a compiler. I don't want to treat people as if they were machines... I especially don't want to treat children like they are machines, it's almost certainly even more damaging the earlier that happens to them.
I'm a programmer too, I do this for a living. I know all too well how easy it is to think of human circumstances and other people as if they were machines to be debugged, and it feels awful. Imagine what the 7 year old kid feels like in school when he's a bug to be solved on the teacher's trouble ticket system. Especially when he's probably marked "low priority, fix when time allows".
You're no longer talking about a system where learning is considered the primary goal. It may not even be a goal at all.