Re: C++ Speed Vs. Java
Gennaro Prota wrote:
On 21 Jan 2007 08:08:37 -0500, James Kanze wrote:
The fact that you cannot separate the external specification of
the class and its implementation into separate files is almost a
killer. (The C++ solution here---header files, with textual
inclusion---is probably about the worst one you could think of,
but it's better than no solution, and with a bit of discipline,
works.) Trying to do any form of programming by contract tends
to be difficult as well---it requires using abstract classes
instead of interfaces, which in turn means that you cannot use
multiple inheritance.
I had to cope with a *little* Java application a while ago and the
feature I missed most was the lack of deterministic destruction. It
may be just me, and my ignorance of the language idioms, but I found
robust resource management to be pretty much impossible.
It depends. I did one fairly larger Java application, and we
found it trivial: the solution was never to allocate any
resources except memory or locks (both of which are handled by
the language):-). (We also had one socket connection, to the
server, but it was active for the life of the program.)
Seriously, in a small application, with only one or two
programmers, it shouldn't be too much of a problem; the problem
occurs in larger applications, where you have to communicate to
your users that they need a finally block. In commercial
applications like those I've done recently, there aren't that
many external resources that need freeing on leaving scope (and
in other cases, you need explicit code in C++ as well); it's
something extra that you definitly need to check in code review,
but it's doable. But it still means extra work, and is another
reason why the language doesn't scale that well---the language
is not designed for use in large projects, where there are a
large number of programmers, and communications and work-flow
are important issues. (As is often the case in such cases, no
one problem is actually a killer---there are always
work-arounds---but the sum of them all definitly renders using
Java a more expensive proposition than using C++.)
--
James Kanze (GABI Software) email:james.kanze@gmail.com
Conseils en informatique orient?e objet/
Beratung in objektorientierter Datenverarbeitung
9 place S?mard, 78210 St.-Cyr-l'?cole, France, +33 (0)1 30 23 00 34
--
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]