[Development] Fornux C++ Superset

Edward Welbourne edward.welbourne at qt.io
Wed Apr 25 10:46:42 CEST 2018

Phil Bouchard (24 April 2018 19:05)
> I’m not sure if you read the link I posted about static analysis but a
> software bug can cause billion dollar projects like space shuttles to fail.
> Maybe MS Word was a bad example but they can be very costly.

The Columbia crash wasn't a (computer) software issue.  One can think of
the organisational failure that lead to it as a (human) software issue,
but I don't think we have static analysis software for that.  The
closest you'll get is an ISO 9000 compliance auditor.

The Ariane 5 crash was a software error, but it wasn't a memory abuse;
it was using an under-sized integer to hold a value that overflowed.
With luck, static analysis would find that, but it's a pointer abuse.

The loss of the Mars Climate Orbiter involved a software bug, but it was
a wrong choice of units rather than a pointer abuse.  Mixing archaic
silly units with sensible SI ones has caused more grief for space
missions than pointer abuses.

So bugs can have disastrous consequences, sure; but fixing all pointer
abuses won't stop that from being the case.  Meanwhile, in the world of
most programmers, most bugs are more or less endurable and most users
would sooner have something that ships today with a few endurable bugs
than not have the software that helps them do whatever it is they do
until someone is sure there are no bugs in it.  Buts aren't the only
thing that can cause a software project to fail.

> Also it is possible for me to support nested structures by prefixing class
> names so that their meta-data fits into the top-level namespace but for the
> moment they’re not. But those are personal preferences like not using
> underscores in function names, etc.

Well, if you can support nested structures, you might have a better
chance of persuading folk to port to your new language; but those with
large code-bases aren't about to re-write them to eliminate nested
structures just because you regard that choice as a personal preference.
I note that Qt has plenty of nested structures.
I'm not volunteering to refactor them away.


More information about the Development mailing list