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