On Thursday, 28 August 2025 at 18:47:19 UTC, Brother Bill wrote:
It seems like 'templates' are the 'Achilles heel' of D.

Without starting a flame war, has D gotten to the point where ordinary mortals have difficulty coding in D with 'templates' such as 'cycle' requiring rewrites into 'myCycle'?

I don't think so.

It is true that template metaprogramming is more complex, slower to compile and prone to compiler bugs than C or Java-style programming, mostly thanks to templates repeating themselves less. But still, for the standard use cases Phobos is still more than stable and understandable enough. And so are at least some of the other widely-used templated libraries, such as EMSI containers and Vibe.D.

Generally, you just need a bit of humblety so you'll stop yourself from doing anything too fancy with the templates once you realise you have many strange problems popping up. Same as with any language feature set.

Compared to C++ templates, it is still almost always easier to do the same thing in D. I certainly prefer Phobos ranges over STL iterators, Boost, or a dynamically dispatched object-oriented solution like LINQ in .NET languages.


Does D now require 'deep' memory into layers of history and workarounds?


Didn't understand that question.

Is D a general purpose language, suitable for Application Programming, or does it have a more limited scope?

It is. I don't even know what that more limited scope would be if D was not.


Reply via email to