From Some AI Koans (attributed to Danny Hillis):
A novice was trying to fix a broken Lisp machine by turning the power off and on.
Knight, seeing what the student was doing, spoke sternly: “You cannot fix a machine by just power-cycling it with no understanding of what is going wrong.”
Knight turned the machine off and on.
The machine worked.
Today’s lesson: Cargo Cult Programming is no substitute for sitting down and figuring out what’s going wrong.
Also, threads are tricky.
That’s certainly true, but in my experience it’s hard to find the time to do it. Most shops have time pressure such that taking the time to thoroughly understand everything just isn’t ok; you have to understand *enough* and just ignore the rest and assume that if it isn’t actively harmful, it’s ok.
Yeah, that’s how I treat legacy code, but this was more of an algorithm design thing.
Ahh. Yeah, when designing, if you don’t understand the problem domain and what you’re designing, it’s really bad.