John B. Matthews wrote:
In article <gp2v0k$2moc$1@news.ett.com.ua>, JB <jasonb19xx@yahoo.com> wrote:
[...]
I haven't read the entire thread, but it appears to me to be a central
part of his argument that C++ is faster than Java. Unless I missed
something obvious, that appears to be supported by the benchmarks at
the language shootout web site if you look at them in aggregate.
The results at <http://shootout.alioth.debian.org/> show only that
language X is <faster|slower> than language Y for some comparable pair
of benchmark programs. These results do not support a claim that "X is
faster than Y" in general. Numerous other factors may shift the balance
completely: project size, time-to-market, platform constraints,
availability of suitable libraries, developer experience, etc.
I think the *current* discussion has been focused just on execution
speed, as opposed to time-to-market, etc.
And that comparison can only be done at particular sample points
in which the same algorithm is implemented using each language
and its compiler/runtime.
Benchmarking is always valuable only to the degree that the sampled
programs resemble your intended patterns of use. But it is the best
we have for comparing performance short of doing a dual implementation
of your problem and directly comparing the results--not usually an
option for real problems. ;-)
Comparing languages on more "human factors" issues like productivity,
time-to-market, support costs, etc., has all the problems associated
with psychological experiments, including large sample sizes, normed
developer groups, long-term followups, etc., and has only rarely (and
expensively) been done in such a way that one could have any confidence
in the results.