On 03.06.2017 12:44, Paolo Invernizzi wrote:
On Saturday, 3 June 2017 at 09:48:05 UTC, Timon Gehr wrote:
On 03.06.2017 08:55, Paolo Invernizzi wrote:
On Friday, 2 June 2017 at 23:23:45 UTC, nohbdy wrote:

It's exacerbated because Walter is in a mindset of writing mission-critical applications where any detectable bug means you need to restart the program. Honestly, if I were writing flight control systems for Airbus, I could modify druntime to raise SIGABRT or call exit(3) when you try to throw an Error. It would be easy, and it would be worthwhile. If you really need cleanup, atexit(3) is available.

The worst thing happened in programming in the last 30 years is just that less and less programmers are adopting Walter mindset...

I'm really really puzzled by why this topic pops up so often...


/Paolo

I don't get why you would /restart/ mission-critical software that has been shown to be buggy. What you need to do instead: Have a few more development teams that create independent implementations of your service. (Completely from scratch, as the available libraries were not developed to the necessary standard.) All of them should run on different hardware produced in different factories by different companies. Furthermore, you need to hire a team of testers and software verification experts vastly exceeding the team of developers in magnitude, etc.

That's what should be done in mission-critical software, and we are relaxing the constraint of mission critical, it seems [1]
...

That document says that the crash was caused by a component going down after an unexpected condition instead of just continuing to operate normally. (Admittedly this is biased reporting, but it is true.)

The point is software, somehow, has to be run, with bugs, or sometimes logic flaws: alas bugged software is running here [2]...
...

I.e., a detected bug is not always a sufficient reason to bring down the entire system.

So, if you have to, you should restart 'not-so-critical-software', and you should code it as it should be restarted from time to time.
...

I agree. What I don't agree with is the idea that the programmer should have no way to figure out which component failed and only stop or restart that component if that is the most sensible thing to do under the given circumstances. Ideally, the Mars mission shouldn't need to be restarted just because there is a bug in one component of the probe.

It's an opinion, when it's the better moment to just restart it, and a judgement between risks and opportunities.
...

I.e., the language shouldn't mandate it to be one way or the other.

My personal opinion, it should be stopped ASAP a bug is detected.
...

Which is the right thing to do often enough.

/Paolo

[1] http://exploration.esa.int/mars/59176-exomars-2016-schiaparelli-anomaly-inquiry [2] https://motherboard.vice.com/en_us/article/the-f-35s-software-is-so-buggy-it-might-ground-the-whole-fleet

Reply via email to