I'm just saying one [...] not back in the C era.
You are confusing "may" with "must".
If one "may" fully qualify names, for whatever reason, it isn't bad at all.
If one "must" fully qualify names, the namespaces are being used solely as a prefix. All the advantages of namespaces are lost. There is no difference between one prefix notation and the other. The source may only use ':' instead of '_'.
Which is more readable?
std__copy(std__istream_iterator<std__string>(std__cin), std__istream_iterator<std__string>(), std__ostream_iterator<std__string>(std__cout, " "));
// using directives
copy(istream_iterator<string>(cin), istream_iterator<string>(), ostream_iterator<string>(cout, " "));