Malcolm Cohen wrote:
>
> Roger Glover said:
> > C++ has unlimited name length and does not seem to have a problem
> > with any of these.
>
> Sure it does - it costs more to implement on some systems because of
> having to cope with or change inferior tools. (You might argue that
> C++ is so expensive to implement that this increase is negligible).
C++ users seem to be willing to bear the cost in order to gain the
functionality. If Fortran users are not willing to bear the cost, or
are not numerous enough to share the cost burden as effectively...
well, that is a different issue.
> Name mangling is not a panacea.
I have not claimed, nor would I want to claim, that it is.
> You end up with increased cost,
> undocumented restrictions, or a cruddier environment.
In theory, yes. In practice I have not really seen any of these
problems in any of the C++ implementations I use frequently. The
consumer price of a C++ compiler and programming evironment seem
to me to be are comparable to the price of previous C implementations.
I have never run into any naming restrictions, documented or not, and
the C++ programming environments of today are vastly superior in
programming functionality to any C environment I used in the past. In
fact, Fortran equivalents to some of the current crop of excellent C++
CASE tools would be very valuable to me indeed!
Of course, I am only one data point. I would be glad to hear about
specific examples to the contrary.
> In particular,
> every tool that might mention the name to the user really needs to be
> changed... which includes most of my list! QED.
But in a unified programming environment (and perhaps in general) the
changes can be implemented in code ONCE and shared among all the tools,
conceptually similar to the "shared parser" idea David Serafini
introduced elsewhere in this thread. So the overall cost need not be a
linear function of the number of components.
Having said that, my original response to you (and perhaps to John) was
overly strong. There are certainly and obviously costs to the developer
to implement name mangling. Whether or not these costs can be borne by
the user community is a separate issue.
I was getting a gist of "unlimited name length just can't be done with
limited name length loaders." This is simply not true.
If the actual intent was to say "acheiving unlimited name length is not
feasable," then on that point I have no opinion. It was also *NOT* my
intent to say that C++ is, in general, "better" than Fortran.
-------- Cray Research --------- Roger Glover
-- A Silicon Graphics Company -- http://home.cray.com/~glover
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|