Re:Why do we need modules at all? (2011)
by dkersten on Tuesday August 27, 2019 @08:32AM
(#20808864)
> There are namespaces, you just don't see them. That's why there's python and python3, cmake and cmake2 (IIRC) etc.
That's a versioning issue, that would happen with namespaces too. You'll have to disambiguate somehow and if a version number is the natural way, then that's the natural way regardless of if a single name or namespaced.
Keeping the next incompatible version as a separate thing (eg python vs python3, instead of continuing python but with semvers saying that 3.0 breaks 2.x compatibility) is actually a good idea. It leads to fragmentation, sure, but it makes dealing with the different versions easier IMHO and incompatible versions may as well be totally different things anyway.
> With functions it's worse. In a flat namespace you will inevitably run into a problem of two people coming up with the same name.
That's a versioning issue, that would happen with namespaces too. You'll have to disambiguate somehow and if a version number is the natural way, then that's the natural way regardless of if a single name or namespaced.
Keeping the next incompatible version as a separate thing (eg python vs python3, instead of continuing python but with semvers saying that 3.0 breaks 2.x compatibility) is actually a good idea. It leads to fragmentation, sure, but it makes dealing with the different versions easier IMHO and incompatible versions may as well be totally different things anyway.
> With functions it's worse. In a flat namespace you will inevitably run into a problem of two people coming up with the same name.
Yes, completely agree!