Re: Need both
Programmers rarely have their lives on the line at the time the +++Out of Cheese+++ error occurs.
You could always institute a sort of bonus/penalty system - bonus payments for every successful landing vs shark fodder for any fatal crash. It would probably fully concentrate their minds on the code.
Had an AI been given the requirement to pancake a plane, would it necessarily be able to work out the glide slope required to avoid bridges/ships/obstructions on the surface bearing in mind it won't be able to 'see' and understand them the way we do. You'd need to train the AI on all possible manner of objects found in the real world first.