comp.lang.ada
 help / color / mirror / Atom feed
From: Georg Bauhaus <rm-host.bauhaus@maps.futureapps.de>
Subject: Re: OpenSSL development (Heartbleed)
Date: Sun, 20 Apr 2014 10:17:06 +0200
Date: 2014-04-20T10:17:07+02:00	[thread overview]
Message-ID: <53538283$0$6715$9b4e6d93@newsspool2.arcor-online.net> (raw)
In-Reply-To: <gfadnaRgQ9iuf8_OnZ2dnUVZ_o-dnZ2d@giganews.com>

On 19/04/14 22:53, Alan Browne wrote:
> Now, do you really think the industry will change to something more formalized and requirements driven?  Use Ada as a fundamental building block of it?

Where C (or no S/E) is being used, directly, or indirectly by using
libraries written in C, the industry seems stuck in a loop of at least

(1) self-referential confirmation,
(2) insufficient irritation caused by C (or lack of S/E), and
(3) sufficient competitive equality.

One faint hope that I currently maintain is that some BigCo, not the
industry, might produce a change to using C. The change might be like
the ones just now performed in the case of hugely popular languages:
PHP might become Hack everywhere because Facebook has produced Hack by
"enhancing" PHP; Microsoft has already produced C#, VB#, etc., by
"enhancing" each of the respective assimilated languages; Apple's
"enhanced" C in Objective-C is already far above what the C standard
requires of an implementation if seen through the lenses of their
static analyzer. Google makes their talented staff spend some "free"
time on "enhancing" the special qualities of JavaScript.

And the results are all free, working, and ubiquitous.

Suppose something similar happens in the C world.

Apparently, all it takes is hiring a few smart compiler writers
and have them "enhance" the popular language C in such a way
that C programmers can simply enjoy the new features whenever they wish.
(Intel?, Freescale?)


To elaborate, for the sake of completeness only, the claims of
(1), (2), and (3),

(1) As long as the company does not go bankrupt, and the project's
goal was not entirely missed, choosing C is justified. So, project
management can confirm that it was the right choice, obviously.
So does everyone.

(2) It is well known that: "Software has bugs." "Tom De Marco says
that the effect of language is <= 5%, so why bother." Studies
comparing the effects of languages or methods are rare. They seem to
be interpreted by shooting from the hip or in other surprising
ways[*]. If effects of bugs can be handled by customer care, then C's
features may be seen as causing costly bugs, however the pressure
isn't high enough.  Internally, excuses are at hand. (Not the least
of which is "A..... 5!")

(3) By simple arithmetic, if all the competition is using C (or no S/E),
everyone incurs the same cost, yet there is return on investment.
Consequently, then, using C (or no S/E) does not cause any
relative economic disadvantage. Whereas investing in different
technology is associated with risk, education, and other cost factors.
Who is going to start an initiative, then, and why?

__
[*] One anecdote I heard was about two teams, one using C++, the
other using SPARK, programming to the same specification for one
year. Either team could use a simulator. The teams were tasked with
producing programs for driving a test device. The C++ team
debugged their software into existence, frequently testing in the
simulator. The SPARK team first found a bug in the specification,
then went on to prove software into existence, hardly if ever using
the simulator. Finally, the C++ team had implemented 80% of the features.
Some bugs were found in the final product. The SPARK team had
implemented 100% of the features (close to closing time). No bugs
were found in the final product.
   Interpretation of the result: Use of the approach of C++ is
preferable since project management then does not suffer a heart
attack because they have no facts to report while the project
is underway.


  parent reply	other threads:[~2014-04-20  8:17 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-19 14:31 OpenSSL development (Heartbleed) Alan Browne
2014-04-19 15:06 ` Nasser M. Abbasi
2014-04-19 15:41   ` Alan Browne
2014-04-19 15:36 ` Georg Bauhaus
2014-04-19 16:00   ` Yannick Duchêne (Hibou57)
2014-04-19 16:34     ` Georg Bauhaus
2014-04-19 17:06       ` Yannick Duchêne (Hibou57)
2014-04-19 19:13         ` Georg Bauhaus
2014-04-19 20:39           ` Yannick Duchêne (Hibou57)
2014-04-19 19:42       ` Alan Browne
2014-04-21 23:51       ` Randy Brukardt
2014-04-22 15:20         ` G.B.
2014-04-22 16:33           ` Dmitry A. Kazakov
2014-04-22 16:57             ` Simon Clubley
2014-04-22 19:53               ` Dmitry A. Kazakov
2014-04-22 20:49                 ` Yannick Duchêne (Hibou57)
2014-04-23  5:38                 ` Natasha Kerensikova
2014-04-23  7:30                   ` Dmitry A. Kazakov
2014-04-23  7:40                     ` Natasha Kerensikova
2014-04-23  8:04                       ` Dmitry A. Kazakov
2014-04-23  8:20                         ` Georg Bauhaus
2014-04-23  7:42                     ` Egil H H
2014-04-23  8:06                     ` Georg Bauhaus
2014-04-19 16:06   ` Alan Browne
2014-04-19 16:42     ` Georg Bauhaus
2014-04-19 16:59       ` Georg Bauhaus
2014-04-19 19:12       ` Alan Browne
2014-04-19 20:20         ` Georg Bauhaus
2014-04-19 20:53           ` Alan Browne
2014-04-19 21:10             ` [OT] OpenBSD, was: " Simon Clubley
2014-04-19 21:53               ` Alan Browne
2014-04-19 22:15                 ` Nasser M. Abbasi
2014-04-19 22:34                   ` Alan Browne
2014-04-20  8:17             ` Georg Bauhaus [this message]
2014-04-20 16:49               ` Alan Browne
2014-04-22 12:18                 ` G.B.
2014-04-19 15:47 ` Yannick Duchêne (Hibou57)
2014-04-19 16:21   ` Alan Browne
2014-04-19 16:46     ` Georg Bauhaus
2014-04-19 19:22       ` Alan Browne
2014-04-19 20:33         ` Georg Bauhaus
2014-04-19 21:10           ` Alan Browne
2014-04-19 16:50     ` Yannick Duchêne (Hibou57)
2014-04-19 19:25       ` Alan Browne
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox