<p>I mostly use Java and generics are relatively new. I keep reading that Java made the wrong decision or that .NET has better implementations etc. etc.</p>

<p>So, what are the main differences between C++, C#, Java in generics? Pros/cons of each?</p>

Wikipedia has great write-ups comparing both
Java/C# generics
and
Java generics/C++
templates. The
main article on Generics
seems a bit cluttered but it does have some good info in it.