Now, I don't understand this at all...
All the development of the Random stuff in all languages has nothing of random whatsoever. Perhaps *some* people like to seed the generator with the clock time, but most *real* developers *known to me* usually choose the seed deterministically, in order to reproduce the sequence, until the program is ready to run in the end-user environment.
I suspect that developers requiring a good source of randomness for security would disagree with you. Not to say that there aren't lots of good reasons for having a deterministic pseudo-random generator too (eg. random test generation), but let's not say that one is more important than the other. However, the current System.Random doesn't provide a good interface for those requiring true randomness. You have to reseed all the time, and the implementation is pretty weedy (seeding from /dev/random where available would be better). The Random library *could* be split into its pure and IO-ish parts. It's probably only worth doing if someone were to undertake a redesign/rewrite of the library. Cheers, Simon PS. why on earth did I let myself get dragged into this thread? I have no interest in it whatsoever :-S