実際に開発してみれば、名前が被らないようにするってのは
大変なことだってわかる。
開発人数多いし、他人が作ったライブラリ使うし。

で、それがわからんのは、実戦経験がないから、
実戦経験があるとしたら、いつも1000行未満の
使い捨ての小さいプログラムを書いてるだけの人だろう。

動的言語が大規模アプリには向かないと言われるのはそのため。