On Friday, 29 August 2025 at 02:48:21 UTC, H. S. Teoh wrote:
On Fri, Aug 29, 2025 at 01:52:59AM +0000, Lance Bachmeier via Digitalmars-d-learn wrote:
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'?

Templates are in general a horrible way to program. Therefore I don't use them very much. When I do, I don't do anything complicated. But everyone has their opinion on that. I similarly don't use attributes. I prefer simple code with a simple language. Hard to avoid ranges in Phobos, which can be crazy complex/inconvenient at times, but every language has its warts.
[...]

Interesting how opinions differ on this. :-D I couldn't live without templates. I might be tempted to quit D if I couldn't use templates... ;-) but OTOH there are times when templates are overused where they aren't actually needed.

Templates are obviously useful in a lot of cases, but I don't consider them fun to read.

Another thing I don't like is that functions like foo(T)(T x) throw away relevant information. Then you decide to use a template constraint, you read the code, and you realize it's better to write out stubs for the relevant argument types instead.

Classic D code includes types like Matrix!double when you could just use DoubleMatrix.

They're like macros in Lisp. Powerful in principle but routinely a PITA when you actually use them. Now, if someone's coming from C++, the story is different because templates are just how you do it when you're writing C++. He who writes the most generic code is the king in that world.

Reply via email to