&gt; what difference does it make if it&#x27;s a global or namespaces?<p>I feel that it&#x27;s often easier to remember short unique name like str2int than long, deceivingly reasonable name like: System.Web.Script.Serialization.JavaScriptSerializer.Serialize<p>I agree though that array_uniq is same as Array::uniq<p>&gt; why polluting global namespaces is a bad thing.<p>Why is that bad for language wide utility functions?<p>I though global is bad mostly in your own custom code or you application specific libraries because it&#x27;s accessible from everywhere which hides the dependencies (no to mention global mutable state which makes &quot;action at distance&quot; prevalent).