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