The Next Big Language
Gary Whatmore
no at spam.spam
Thu Oct 21 13:00:11 PDT 2010
What's the difference between:
type polymorphism
parametric polymorphism
ad-hoc polymorphism
generics
c++ templates
d style templates
other templates (are there?)
Does Java and C# have type polymorphism or generics or templates? What's the real name and how to compare? Is D most expressive? I bet it is.
- G.W.
Paulo Pinto Wrote:
> Sorry but I still don't get it.
>
> Do you mean that the types that erased and the same code is generated?
>
> Then let me say that .Net generics get generated on the fly and JITed for
> each
> different type.
>
> Eiffel and Modula-3 generics also have specific generated code for each
> type.
>
> The major difference regarding C++ code is that the linkers are smarter and
> are
> able to remove duplicates of the generated code for the same set of type
> arguments.
>
> --
> Paulo
>
> "Jonathan M Davis" <jmdavisProg at gmx.com> wrote in message
> news:mailman.755.1287643587.858.digitalmars-d at puremagic.com...
> > On Wednesday 20 October 2010 22:47:15 Paulo Pinto wrote:
> >> Eiffel does have templates, as in generic types.
> >>
> >> Or do you mean the compile time trick that C++ templates allow, thus
> >> opening the door for
> >> the meta programming done at compile time?
> >
> > Templates and generics are two separate - albeit related - things.
> > Templates
> > generate code whereas generics allow you to use multiple types with the
> > same
> > code (be it by generating code or by actually making them share code). C++
> > templates happen to allow for metaprogramming beyond that, but I don't
> > think
> > that that's necessary for a language to be considered to have templates.
> > The key
> > thing is that templates _generate_ code whereas generics can simply make
> > multiple types use the same code. C++ and D are the only languages that
> > I'm
> > aware of which have templates. Other languages with generics generally
> > don't use
> > templates to have generics.
> >
> > - Jonathan M Davis
>
>
More information about the Digitalmars-d
mailing list