Program logic bugs vs input/environmental errors

Sean Kelly via Digitalmars-d digitalmars-d at puremagic.com
Fri Oct 3 11:20:09 PDT 2014


On Friday, 3 October 2014 at 17:38:40 UTC, 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.

Yep.  And I think it's a fair assertion that the default fault
domain in a D program is at the process level, since D is not
inherently memory safe.  But I don't think the language should
necessarily make that assertion to the degree that no other
definition is possible.


More information about the Digitalmars-d mailing list