On 10/4/2014 4:19 AM, Joseph Rushton Wakeling via Digitalmars-d wrote:
On 04/10/14 11:18, Walter Bright via Digitalmars-d wrote:
You seem to be convinced that I don't understand the principles you are
advocating of isolation, backup, and so forth.  What I've been trying (but
obviously failing) to communicate to you is, "OK, I agree on these principles,
let's talk about how to achieve them in a practical sense with D."

Ok, I understand. My apologies for misunderstanding you.

I would suggest the best way to achieve that is to use the process isolation abilities provided by the operating system. Separate the system into processes that communicate via some messaging system provided by the operating system (not shared memory).

I read that the Chrome browser was done this way, so if one part of Chrome crashed, the failed part could be restarted without restarting the rest of Chrome.

Note that such a solution has little to do with D in particular, or C or C++. It's more to do with what the operating system provides for process isolation and interprocess communication.


Right.  Which is why I'd like to move the discussion over to "How can we achieve
this in D?"

D provides a lot of ability to make a single process more robust, such as pure functions, immutable data structures, unit testing, @safe, etc., so bugs are less likely. And my personal experience with developing D programs is they come up faster and are less buggy than my C++ ones. But once a bug is detected, we're back to chucking the process.

Reply via email to