Karl N., quoting from a leter in CrossTalk:
> In a comparative study of ... (Ada 83, Ada95, C, C++, Objective C,
> PL/I, Assembler, CHILL, Pascal and Smalltalk), ...
> ... the lowest cost and fewest defects were found in
> Smalltalk and Ada95, .... Function points correctly identified
> Smalltalk and Ada95 as being superior, but [SLOC did not].
> Capers Jones
> Software Productivity Research
I'd really like to see the full details on that study. My CrossTalk
hasn't arrived yet, but I suppose the letter didn't say much more.
In 1997, Capers Jones wrote http://www.spr.com/library/0funcmet.htm in
which he pointed out that function points, coming from an MIS area, may
not be as accurate for real-time SW, systems SW, embedded SW, comm SW,
process control, CAD, CIM, simulations, math, etc.
He suggested something he calls "Feature Points" for these applications,
and sells/supports tools that use both. He uses function points in his
own on-line comparison of languages (perhaps because they are better
known?) at http://www.spr.com/library/0langtbl.htm, last revised 1996.
The reason for this rambling introduction is the fact that Ada's current
main competition, Java, is not in the quote above. In the comparison,
Jones (or SPR) rates Ada 95 at 6.5, Smalltalk at 15.0, and Java at 6.0.
(C at 2.5 and C++ at 6.0)
Since the "level" is apparently an indicator of productivity in CODING,
error rates may make a big difference in languages at the same "level" or
may even cancel out the benefit of a big difference in level.
So to really use the quote, it would be helpful to know the error rates
and costs independently for the languages, and to be able to compare them
with Java. (And to remember that some application domains do not care
about error rates.)
Aside: out of curiosity, anyone know whether there's any connection
between SPR's language level and Halstead's language level?
Aside: Might not also the existence of large quantities of reusable
components/APIs/widgets/etc. make up for a lower "level"? This would be
exaggerated and used against Ada....