Python は Perl や Ruby に比べて大規模プログラムが容易に作れるという利点が
あります。また、小さなスクリプトを大きなプログラムに育てることがやりやすい
ということも Python の特徴です。 Python で大規模プログラムが作りやすいの
は次の理由に拠ります。

ソースファイルごとに名前空間が割り当てられる。
対話モードで関数を一つずつをテストすることが出来る。
if __name__=='__main__' 以下にファイルごとのテストコードを書くことが出来る。
Perl や Ruby では名前空間を分けるための宣言をわざわざ書かなければいけません。
Python では1ファイル1名前空間と割り切り、
ファイル名を名前空間名とすることによって名前の衝突を上手に回避しています。

というわけで、なぜrubyは1ファイル1名前空間という仕様を
つけくわえなかったのでしょうか?

あっ、テッペイって自殺しちゃうのかな