It can be easier and cleaner to wrap implementation functions in a class than to maintain declarations for them all or put them in an unnatural order to make it compile.
But why would you put functions in a namespace if they're not shared with other source files? (That is, if they're all static (file-local) functions then why do they need to be in a namespace?)

And if they are shared with other source files, then why wouldn't you put declarations for all functions in a header file? And even if they're not in a namespace you would run into the same issue with regard to using a function before it's declared. So namespaces are not the real issue here.

Edit: I missed the "implementation functions" part, but my previous logic still applies re: using a function before it's declared, whether it's in a namespace or not.

Quote Originally Posted by upload View Post
I have reviewed code where there is an excessive use of namespace and the whole thing ends up messy.
Sure, excessive use of any language feature can make code messy.

Quote Originally Posted by upload View Post
Actually the idea is to use basic syntax and not overuse the additional features that comes with every new c++ standards,
Namespaces were added to C++ in 1995. That was 28 years ago. That's the year Windows 95 came out. Movies like Toy Story and Apollo 13 came out that year too. Mac OS X hadn't come out yet. Let that sink in. 28 years is an eternity in computer time and far more than long enough to get used to a "new" or "additional" language feature.

And the idea of using only the "basic syntax" of C++ sounds like a "one-dimensional C programmer" who can't understand the purpose of namespaces and what sort of problems they solve.

Quote Originally Posted by upload View Post
there are certain projects that are hard to read and almost illegible for that reason.
Sure, blame the tool rather than the programmers who overuse it. See also "excessive use of any language feature can make code messy".

Methinks you have a grudge against a language feature you don't quite understand (a feature that's been a part of the language since perhaps before most programmers in the workforce were even born, and almost surely before most programmers started learning the language) and want to blame it for poor programming practices.