The military is willing to accept a certain amount of operational losses in order to accomplish their mission, especially for unmanned aircraft. Tolerance for losses on commercial passenger flights is virtually zero.
But that resistance to change doesn't come out of nowhere. Getting complex systems on a plane is hard for a good reason. On a Level A system (which any system taking direct control over airplane controls would be) hundreds of people's lives are at stake.
The certification isn't there to stifle innovation and automated systems aren't disregarded because of a general dislike of "change". These systems are in place because they save lives. Software in planes needs different standards.
Most modern planes can fly themselves to quite a significant extent, but what they can not do is deal with emergencies, which push the plane outside of the design parameters where the software can function, that is where a crew is most needed.
It's ridiculous that pilots are still expected to attempt to calculate glide distance and airport in their head, and they almost always get it wrong.
Many private planes with modern avionics now have an auto-level button on the AP that very reliably recovers from a dive or other unusual attitudes. Airlines typically don't and it's clear that the simple (and very easy to program) button could have saved many lives.
The nature of emergencies themselve make dealing with them in software near impossible. How do you write software for a condition you can not anticipate? How would you test it? How can you make sure that it is not misdiagnosing a situation and making the problem worse?
The 737max disaster should be enough to demonstrate how dangerous misbehaving software in a plane can be.
> Many private planes with modern avionics now have an auto-level button on the AP that very reliably recovers from a dive or other unusual attitudes. Airlines typically don't and it's clear that the simple (and very easy to program) button could have saved many lives.
Every modern jet since the early 90s has this. In every family of Airbus you can press the 'ALT' push-button or pull on the V/S knob. Both will level off the aircraft immediately (with slightly different follow-on characteristics).
Edit: to add more context, this works in unusual situations like dives and high-nose attitudes as well. The only difference is the inertia of a modern jet means the leveling off takes a bit longer.
It used to be 'level the wings, pull the nose.' The issue is even expert ATPs often perform the wrong action initially, making the problem worse.
Pressing ALT is taught as the correct thing when you're not completely sure what to do but for a fully unusual attitude (e.g. really nose-high or nose-low, or an acute bank angle) then currently the procedure is to handle it manually. To be honest, to get a large aircraft into that situation requires a pilot to screw it up badly in the first place, the AP won't get you there (well it might but hasn't happened yet).
A couple of years ago most airlines started training a more verbose method of recovery (disengage, push/pull, roll, thrust, stabilise - is the mantra) in response to studies conducted by Boeing and Airbus. Before airlines I used to compete in and teach advanced aerobatics so I'm not completely happy with that procedure (e.g. why push/pull first if you have huge bank on, only going to make things worse) but it's what the industry is pushing right now.
Overall though I think the bigger issues with pilot error are not things like unusual attitudes, yes they do happen from time to time but far more incidents occur from unstable approaches and silly inputs during takeoff. Hence why most changes in regulation right now are in those areas.
From a technical point of view, flying and landing planes automatically is not that hard. It's a lot easier than self driving cars. And probably also a lot easier than landing a rocket, which is of course something that is not done manually by spacex. Why would they? It's way too complicated for humans and most of the important things require split second decision making far beyond what humans can even do.
The hard part is going to be fixing procedures and practices, which are optimized for humans communicating via 1960s technology. A lot of what pilots do isn't staying ahead of the plane (as they sometimes refer to it) but dealing with a crazy level of communication overhead of people yelling out courses, altitudes, transponder codes, radio frequencies, and weather information to each other over a really poor radio connection, while baby sitting the auto pilot, running down endless checklists, and micro managing it's gazillions sub systems. It's stressful and even very experienced pilots quickly loose the ability to keep up if they don't fly regularly. Because people fundamentally aren't very good at this stuff. They make mistakes. They mishear things. Etc. It's hard but also very much something that could and should benefit massively from automation. Lots more than we have today. All that check listing can be vastly simplified with automation. All the routine sharing of information can be done in text/binary form and be machine readable so the auto pilot can act on it (with or without human confirmation). Etc. But that requires change and the aviation world is extremely change resistant.
The military will likely get there first. The new B21 apparently can fly unmanned. It may still have a crew but it should be able to operate without one.