[Development] Fornux C++ Superset
philippeb8 at gmail.com
Tue Apr 24 19:05:57 CEST 2018
Edward Welbourne <edward.welbourne at qt.io> wrote:
> On Monday, 23 April 2018 18:46:05 PDT Phil Bouchard wrote:
>>>> Remember when Wordperfect kept crashing in Windows 3.1 for some strange
>>>> reason back in the days? People ended up using MS Word. The same with
> On 04/23/2018 10:34 PM, Thiago Macieira wrote:
>>> There are a lot of reasons why people chose MS Word, not just crashes on
>>> Wordperfect. Not to mention that Word crashes too.
> Phil Bouchard (24 April 2018 07:35)
>> Well crashes don't help either.
> None the less, "1 crash makes your application worthless" grossly
> exaggerates the severity of a crash. A crash that happens reliably on
> start-up makes an application useless, to be sure, but I have often
> learned to not do that one thing that triggers a crash in a piece of
> software that I routinely find very useful (despite the fact that I have
> to take care to not do that one thing). Meanwhile, many defects that
> aren't crashes limit the value of software by significantly more - these
> needn't even be bugs; simply not doing a thing that I find too useful to
> do without, even if it's omitted for a Good Reason, is enough to make a
> piece of software useless - at least in the presence of a competitor
> which does the thing it doesn't. Speaking of which:
>> - There are minor rules you need to follow to make the code compile
>> correctly, like nested structures aren't supported, etc. but you'll get
>> the errors at compile-time thus when it runs then it cannot crash.
> That is not a minor rule.
> That is a show-stoppper.
> We're not about to give up nested structures !
> I think you'll find there are *many* programmers who would sooner have a
> few sporadic crashes than limit themselves to the programs they can
> write without nested structures (either in their own code or in any
> libraries their code is a client of). So the lack of that feature is a
> prime example of a defect in software that's worse than a crash - your
> users would sooner inflict sporadic crashes on their users than live
> without this feature. Furthermore, the vast majority of users would
> sooner have a program that sporadically crashes, as long as it's
> tolerably rare, than have one with fewer features because it was written
> by a programmer who was missing a language feature that would have made
> it easier to do more with less.
> The reason why the software industry is a bit slap-dash about bugs is
> that the market encourages shipping something that works adequately to
> do something more useful, for the user, than the competition offers:
> those who ship something useful (but a bit buggy) get large market share
> before those who ship (less useful but) bug-free software even get their
> products to market - which, in fact, they seldom do. I know one or two
> programmers who, when they promise to deliver bug-free software, can
> actually be trusted to do so (they'll also be charging highly for that;
> and promising to, in the event of any bug, give back all the money and
> fix the bug); but most programmers are *not capable* of that, for any
> non-trivial program, and I doubt any software team of any size can be
> confident of delivering entirely bug-free software. As it happens,
> delivering engaging, useful software - that delivers value to its users
> - tends to take a fairly large team (or take so long that the market has
> been captured by someone else, who had a large team, before you ship).
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.
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.
More information about the Development