Daniël Mantione wrote:
Op Wed, 9 Nov 2005, schreef Bram Kuijvenhoven:
Daniël Mantione wrote:
(Ok, maybe I'm exaggerating a little bit, but don't you agree generics /are/
useful?)
Certainly I do agree. However, they *will* be used to introduce the
bloated programming I described. I don't think we should be happy with
that.
You are right, unfortunately it will be used in that way too.
Won't the compiler sometimes be able to handle this smarter? When the code
generated for vector<TClassA> and vector<TClassB> is equivalent, we only need
to include it once in the resulting executable, right? The only thing is we
have to see when this situation occurs.
These tricks have been used in some C++ compilers with very limited
success. The problem is that class_a has a different virtual
methods/constructors/destructors than class b, so the code to be generated
for them will be different, even though they are still just basically
arrays of pointers.
If a class only uses the :=, = and <> operators on the generic type, the code
could be the same for all specializations for classes, or am I mistaking here? (The
only problem is RTTI perhaps.)
Is there a problem with C++ that they can't use this? Or am I just overlooking
something? (that is of course not unlikely) Can you give an example please?
No. Pascal is not a deficient language in any way; it has way more usefull
features than C++ has. What will save it is good, very good development
tools and good, very good libraries.
If you think templates will save Pascal, or it will die without, that is a
very naive thought. The most used language is stil standard C. Why?
You are right that good libraries and development tools are *very* important
for the future of Pascal. Generics support is not the most important thing for
that. (Though I think it is at least quite important) And you are right, Pascal
definitely has some advantages over C++.
For algorithm programming contests, perhaps XML or compression libraries are
not so important. Generics (and a corresponding container library) can help a
lot there though. On the other hand, use for programming contests doesn't
measure to what extent a language is 'alive' - e.g. PHP is a popular language,
but not used at the ACM contests (ok, it is a scripting language, but still).
BTW I'd like to help writing a container library, but plan to wait for Generics
support first.
Bram
_______________________________________________
fpc-devel maillist - [email protected]
http://lists.freepascal.org/mailman/listinfo/fpc-devel