Yes templates can get ugly, especially when using things like partial template specialization, and template member functions and things like that. However about other languages, I can't off the top of my head, think of other languages that do it any better way. Granted there are dozens if not more languages that I'm not familiar with, but I've played with C++, Java, Perl, and a little C#, to my knowledge, none of those languages have anything like templates. And if you know of a language that does, if it does it differently, then most likely it isn't as robust as a C++ template, there are tons of things you can do with templates that you can't do otherwise. I can't think of any languages that have the features that templates provide to C++.