Here’s how easy it is

The goal is to make computing as reliable as "real" engineering disciplines, like building a bridge or a car. You must do two things: (a) design based on real facts, like materials strength, and put in a margin for error; (b) use components with reliable characteristics and behavior.

The computing paradigm that does this is called Process-Oriented Programming (POP). It breaks the task into processes which run simultaneously. They may share hardware (multitasking) or run on different hardware (multiprocessing), but the resources are strictly separated among them, except for transparently defined points of contact where communication can take place.

That’s all there is to it.

There are no drivers. Every “peripheral” is itself a process. Software and hardware processes are strictly equivalent: one can be used to debug the other. There are no side effects; each process, hardware or software, is an engineering component whose behavior is strictly, completely, and transparently defined. Processes can be aggregated to form bigger processes, nested to any level of complexity, and their behavior remains as predictable as ever.

These techniques were developed and used with complete success in the late 1980s and early 1990s with the computer language occam and the hardware chips, Transputers, manufactured by the British company INMOS.

They are still pursued by a small community of devotees. The Transputer, occam, and CSP branch is now called Communicating Process Architecture (CPA). There are a few other entrants into the POP arena, such as Erlang, a computing language that is a protege of the communication company Ericsson.