Agree, a well written program should never be "not responding". It should tell you that it's busy, and with luck give you a way to cancel what it's doing or a progress bar. Just because the program is thinking hard or confused isn't an excuse for the UI to freeze.