What is the best way to deal with this?
Timon Gehr
timon.gehr at gmx.ch
Sun Feb 24 08:48:06 PST 2013
On 02/24/2013 05:20 PM, Andrei Alexandrescu wrote:
> On 2/24/13 1:50 PM, Timon Gehr wrote:
>> On 02/24/2013 04:59 AM, Steven Schveighoffer wrote:
>>> ...
>>>
>>> D is much different (and better IMO)
>>> ...
>>
>> IMO The best way to think about it is that the two approaches are not
>> comparable. D templates are a kind of hygienic macro system for
>> declarations. Java does not have this. Java generics make the type
>> system more expressive. D lacks this kind of expressiveness.
>
> I'd think type erasure techniques make it possible to emulate Java's
> generics in D,
The compile-time type checking and avoidance of type erasure in user
code aspects are the only important features of Java generics. This is
most obvious noting that pre-generic Java also supports the techniques
you mention.
> whereas D's templates can't be emulated in Java.
>
If type erasure is considered a means to emulate generics in D, then
IMHO copy pasta should also be considered a means to emulate templates
in Java. Otherwise the viewpoint could be considered biased. But I think
usually they just use external code generation frameworks.
More information about the Digitalmars-d
mailing list