Re:Current hardware trends make C++ exceptions harder to jus...
by ncmncm on Wednesday February 23, 2022 @12:14AM
(#30437922)
Most design patterns are anti-patterns: they represent a failure of the language to offer a way to abstract the pattern into a component or native language construct.
It is usually better if it can be captured in a library. But sometimes, particularly in weak languages, nothing but core language support will do. A fancy core language feature should embarrass the language designer.
Sometimes, a language evolves to the point where a core feature could be as well implemented as a library component. That is a marker of real progress, because now the feature can be offered in a dozen variations in a dozen libraries, each tailored to local conditions, where the core feature had to ruthlessly ignore all but the most generic use cases.
A design pattern is a way of communication. If you turn it into a procrustean tool you don't even understand why they exist.