Despite the weird title, I wish to ask a legitimate question: which method's generated numbers are more *random*: Java's `Random()` class or `Math.random()`, or C++'s `rand()`?

I've heard that PHP's `rand()` is quite bad, i.e. if you map its results you can clearly see a pattern; sadly, I don't know how to draw a map in C++ or Java.

Also, just out of interest, what about C#?