falchard :
Computers in cars is actually helpful in fixing a vehicle. A vehicle no longer requires as many linkages. Things are localized and replaceable. It makes diagnosing problems much quicker when you can just look for fault codes.
It's also possible to secure these systems by limiting the access they have to the internet. Simply having 2 systems achieves this.
Not necessarily. The various modules and their connected sensors, solenoids, actuators, etc in a vehicle perform miracles on one hand - for example they help engines achieve power, efficiency, and in some ways reliability never before possible. But they also add layers of complexity and additional failure points. You've got potential demons in terms of software issues (there's a reason modules get updates and new calibrations flashed when there's an issue with a new design, hopefully under warranty) and hardware module/sensor/solenoid/actuator failure. Also I've seen wiring/connection issues with connectors that on the surface look OK, due to increased 'pickiness' these systems have. Older PCMs etc weren't as picky but newer ones... well... any time you're fighting a late-model vehicle with electrical problems keep some SL5 Stabilant handy. It's expensive as hell but it works wonders when dealing with resistance in otherwise good looking megaconnectors.
So in general they're good, but when the engineers screw up, something bad happens during manufacturing, age and wear and tear take their toll, or you just plain get unlucky... they can be a nightmare to fix. Gone are the days of easily narrowing down the problem. Now you can fight with it, throw parts at it, or pay someone big bucks to diagnose it. Sure, sometimes you get a simple problem with a single code. Computer says fuel air ratio sensor (formerly simple O2 sensor) is scragged. Easy enough. But when you get 10 failure codes at once, or an intermittent problem, no codes, or nothing useful... have fun. Also keep in mind codes are really just a starting point in many cases. If it says you've got a misfire in cylinder X, there's a few possible causes and the module can't physically check them. If you've got something more complex like a random multiple cylinder misfire, or a stall issue with no codes, it can drive you nuts trying to figure things out. Before it was Air, Fuel, Spark. Now it's Air, Fuel, Spark, Module, Etc.
I will say that when the modules, sensors and so forth are working properly, it can often compensate for issues which might kill a less-intelligent setup. For example being able to dynamically control fuel flow with excellent granularity and to a greater degree. So what might stall an older vehicle will merely cause issues and/or a check engine light. There's a lot of positives to them. The ability to adjust valve timing, ignition timing, fuel/air is so much more advanced and they're more resilient to certain problems. But again they do add complexity and if you get a "gremlin" you need a great deal of knowledge, training, experience, and equipment to deal with some of these issues.
Regarding self-driving, I agree that the solution might be to isolate driving systems from internet-connected systems. But that would mean disabling features such as net-based unlimited-range remote start / HVAC controls / theft / remote diagnostics and updates and so forth. It could also pose a problem for navigation - the vehicle needs the latest map / traffic data to operate efficiently. Needing to manually update could be... interesting. I'd hate to see what happens when the guidance system is out of date and you hit a road that's new/modified/under construction. The whole thing is just problematic and I can't help but think of I, Robot (the movie, I've read the book too, the movie was good I just wish it had a different name). Switching to manual!