Program logic bugs vs input/environmental errors
Walter Bright via Digitalmars-d
digitalmars-d at puremagic.com
Sat Oct 4 02:09:48 PDT 2014
On 10/3/2014 10:38 AM, Brad Roberts via Digitalmars-d wrote:
> The part of Walter's point that is either deliberately overlooked or somewhat
> misunderstood here is the notion of a fault domain. In a typical unix or
> windows based environment, it's a process. A fault within the process yields
> the aborting of the process but not all processes. Erlang introduces within
> it's execution model a concept of a process within the higher level notion of
> the os level process. Within the erlang runtime it's individual processes run
> independently and can each fail independently. The erlang runtime guarantees a
> higher level of separation than a typical threaded java or c++ application. An
> error within the erlang runtime itself would justifiably cause the entire system
> to be halted. Just as within an airplane, to use Walter's favorite analogy, the
> seat entertainment system is physically and logically separated from flight
> control systems thus a fault within the former has no impact on the latter.
>
> So, where you have domains which must not impact each other, you reach for tools
> that allow complete separation such that faults within one CANNOT impact the
> other. You don't leave room for 'might not'.
Thanks, Brad, that is a correct formulation.
More information about the Digitalmars-d
mailing list