Meta-Programming
Sean Kelly
sean at f4.ca
Fri May 25 09:59:55 PDT 2007
David B. Held wrote:
> Mahe wrote:
>> I have worked with D for some months. It is much better than C++ and a
>> good alternative to Java or C#.
>>
>> But I think a really powerful aspect is missing in D compared to
>> Java/C#: Meta-Programming!
>> In D it is only possible to create a class with a standard constructor
>> from a string with a class name in it. But there is no introspection
>> of the structure of the class, no dynamic method calls, no dynamic
>> attribute reading or setting.
>> But such reflection possibilities are important in component based
>> software design of large systems. [...]
>
> This is usually called "reflection", since it doesn't really imply code
> generation the way templates and macros does. D does provide reflection
> through type tuples and class constructors, but it could use some better
> support. As for actual metaprogramming support, D blows Java/C#/C++ out
> of the water.
Yup. About the only issue I have with metaprogramming in D (which this
thread made me think of) is the lack of support for template class
ctors. And peripherally, I don't think there's any way to get a
ParameterTypeTuple for a class ctor either. I ran into this the other
day and finally had to use an alias for the ctor arg list.
Sean
More information about the Digitalmars-d
mailing list