News for hackers. Stuff that matters.
Re:Another go at the Next Big Language by kevingadd on Sunday September 02, 2012 @10:07PM (#4468852)
The Erlang process model seems like the closest thing to a panacea here. It forces you to write robust software automatically. I haven't used that approach enough to know if it gets you the whole way to shipped, though.

(Note: Not specifically advocating Erlang The Language, just its approach to isolation and error recovery)

Re:Another go at the Next Big Language by pcwalton on Sunday September 02, 2012 @11:08PM (#4468965)
Rust uses the Erlang model. Generally failing the task on error has worked well in practice, although there are times when we have to use result types and pattern matching (basically error codes, but more reliable since the compiler forces you to use them correctly). The vast majority of errors are handled either locally or by failing the task.
Re:Another go at the Next Big Language by rdtsc on Monday September 03, 2012 @02:59AM (#4469397)
> Note: Not specifically advocating Erlang The Language,

Why not. If you have a panacea for robust error handling (they call it fault tolerance) coupled with auto-magic cross-CPU and (with some work) cross-machine scaling why not advocate the language.

Anyone else will just be re-implementing that in an incomplete way. So you can have say an OS process like an Erlang process. That's one way. But now need to implement a supervision hierarchy. Ok so talking about SIGCHILD, pids and what signal to use to kill the process (SIGTERM or SIGKILL). Then of course these processes have to talk to each other so must pick a distributed messaging system. Then need to pick a restart strategy (ok so the process failed but we restarted it but it keeps failing and we keep restarting so perhaps that in an of itself is a failure and a higher process in the chain should be restarted...). Stuff like that. By the time that's done and looking back at the code you'd wonder, why didn't I just used Erlang with all this built it...