so wrote:
One more thing, it is hard to be comfortable with C++ if you are pushing
the limits of templates.
There are things you can do and things you simply cant.
Andrei and Walter here you know one of those template experts, so are
the people in Boost.
I am sure not a single one of them would say that they are comfortable
using templates. C++ is awesome, for its time :)
C++ broke new ground with its template system. A lot (most?) of what you can do
with C++ templates was discovered rather than designed, such as the functional
programming aspect of it.
It makes perfect sense that once you figure out what to do with templates, you
can design a system that makes that much more straightforward.
It's like the Wright Bros figured out how to do 3 axis control, and made it
work. But it was Curtiss who started from those insights, and figured out a much
simpler and more effective way to do it. (The Wright airplane company stubbornly
stuck with the Wright design until Orville finally ceded control of the company,
at which point it promptly switched to the Curtiss design.)