From: Thomas Wicklund on 9 Feb 2010 23:13 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 10 Feb 2010 00:24 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 10 Feb 2010 08:13 * 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 10 Feb 2010 08:30 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 10 Feb 2010 08:38
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 |