Is it just me, or is the TLD in the Java package naming convention pretty extraneous? I mean, if you -did- have namespace collision between com.example.package
and org.example.package
, without the TLD, then with the TLD you have confusion anyway. Why trade-off confusion for namespace collision? Surely the compiler spitting out an error/warning is better than it prancing merrily along trying to compile a program someone imported the wrong package for?
Just my two cents on the convention. Frankly you're not really going to have namespace collision between org. and com. anyway as it's pretty unlikely two identically-named java packages are going to be written by two companies with the same domain but different tlds.