From: Thomas Wicklund on
On 2/9/2010 3:00 PM, Hibou57 (Yannick Duch�ne) wrote:
>
> Switching from C to C++ is nearly the same as switching from C to
> another C (C++ is backward compatible with C, as fat as I know), so
> this is not surprising there.

C++ is not backward compatible. For instance, C++ requires function
prototypes while C does not. C++ strengthens type checking in some
other ways.

Still, C++ type checking is nowhere near as strong as Ada.
From: Hibou57 (Yannick Duchêne) on
On 10 fév, 05:13, Thomas Wicklund <wickl...(a)eskimo.com> wrote:
> C++ is not backward compatible.  For instance, C++ requires function
> prototypes while C does not.
So C++ (I've tried it many years ago, so I forget it, but I feel I
remember a bit now after your words) is making a requirement of what
is just a good recommended practice in C.

I still use C sometime, and I always declare a function before I use
it, and never rely on the strange implicit declaration which supposes
default return type int and the like.

From: Florian Weimer on
* Robert A. Duff:

>>...The net result of changing languages appears
>> to be that the overall defect density appears to be about the same,
>> (Hatton 1997). In other words, when a language corrects one
>> deficiency, it appears to add one of its own."
>
> That assertion requires evidence, and I don't see it here!

(Hatton 1997) is here: <http://www.leshatton.org/IEEE_Soft_97b.html>
For Ada, it cites Compton & Withrow, "Improving Productivity: Using
Metrics to Predict and Control Defects in Ada Software", in "Second
Annual Oregon Workshop on Software Metrics", Oregon 1990. It then
concludes that language choice had no impact on fault density
patterns. Of course, the evidence is only anecdotal.

But the actual cross-language studies I've seen show that most metrics
one can conceive (such as defect rate, performance, development time,
even lines of code) vary as much among programmers as among
programming languages. This is a bit sad because it means that
language design does not really matter as far as actual results are
concerned.

Ada subsets may be helpful if your goal is to avoid the last
(relevant) bug. But that requires matching development practices,
which are in place for only very few code bases. Certainly, these
practices aren't magically introduced if you just substitute Ada for C
or Fortran.
From: (see below) on
On 10/02/2010 13:13, in article 87fx59p725.fsf(a)mid.deneb.enyo.de, "Florian
Weimer" <fw(a)deneb.enyo.de> wrote:

> * Robert A. Duff:
>
>>> ...The net result of changing languages appears
>>> to be that the overall defect density appears to be about the same,
>>> (Hatton 1997). In other words, when a language corrects one
>>> deficiency, it appears to add one of its own."
>>
>> That assertion requires evidence, and I don't see it here!
>
> (Hatton 1997) is here: <http://www.leshatton.org/IEEE_Soft_97b.html>
> For Ada, it cites Compton & Withrow, "Improving Productivity: Using
> Metrics to Predict and Control Defects in Ada Software", in "Second
> Annual Oregon Workshop on Software Metrics", Oregon 1990. It then
> concludes that language choice had no impact on fault density
> patterns. Of course, the evidence is only anecdotal.

But surely this is comprehensively falsified by Rational's carefully
controlled study?

--
Bill Findlay
<surname><forename> chez blueyonder.co.uk


From: Martin on
On Feb 10, 1:13 pm, Florian Weimer <f...(a)deneb.enyo.de> wrote:
> * Robert A. Duff:
>
> >>...The net result of changing languages appears
> >> to be that the overall defect density appears to be about the same,
> >> (Hatton 1997). In other words, when a language corrects one
> >> deficiency, it appears to add one of its own."
>
> > That assertion requires evidence, and I don't see it here!
>
> (Hatton 1997) is here: <http://www.leshatton.org/IEEE_Soft_97b.html>
> For Ada, it cites Compton & Withrow, "Improving Productivity: Using
> Metrics to Predict and Control Defects in Ada Software", in "Second
> Annual Oregon Workshop on Software Metrics", Oregon 1990.  It then
> concludes that language choice had no impact on fault density
> patterns.  Of course, the evidence is only anecdotal.
>
> But the actual cross-language studies I've seen show that most metrics
> one can conceive (such as defect rate, performance, development time,
> even lines of code) vary as much among programmers as among
> programming languages.  This is a bit sad because it means that
> language design does not really matter as far as actual results are
> concerned.
>
> Ada subsets may be helpful if your goal is to avoid the last
> (relevant) bug.  But that requires matching development practices,
> which are in place for only very few code bases.  Certainly, these
> practices aren't magically introduced if you just substitute Ada for C
> or Fortran.

What about McCormack (http://www.stsc.hill.af.mil/crossTalk/2000/08/
mccormick.html)?

Or Zeiger (Rational) (http://www.adaic.com/whyada/ada-vs-c/
cada_art.html)?

Both quite old now (but so is Hatton's) and they at least have
something more than anecdotes...

Cheers
-- Martin