On Sep 13, 2004, at 6:38 AM, Timm Murray wrote:

On Sunday 12 September 2004 10:08 pm, Jeff Clites wrote:
<>
I'd say that the language-level namespaces should get nice reverse-DNS
names, like ["com.perl.perl5"], or whatever's appropriate.

No, no, no, no. Bad Java programmer! :)

Ha, it's actually one of the few things I like about Java....

The reverse-DNS namespace sounds great until you realize that not everyone has
a domain name. One could imagine some developer whittling away a toy
language and hosting off Geocities/Tripod/whatever without having a proper
domain name. Or even an programmer who doesn't have an Internet presence for
their language at all (lots of academic languages are like this). And what
do you do if your domain name changes? Worse, what do you do if someone
steals your domain name?


Sun tried using reverse-DNS namespaces for Java, and in my experiance, it
causes too many problems for edge cases.

Well this issues is, from my perspective, that the only reason anyone needs namespaces at all is that humans want nice short symbol names like "invert()", and order to keep people from conflicting is to have a distinguishing prefix. But that doesn't help unless you can keep the prefixes from clashing, and the only ways to do that are to either have ugly randomly-generated prefixes, which nobody would like, or to explicitly coordinate, via a registry, and DNS is already one such registry. It's not perfect, but all of the above problems are avoidable. (That is, I don't need to have network access at all--I just need to _register_ a domain name, and keep the registration up-to-date. Or, find a domain-owner who's willing to let me user a subdomain--could be along the lines of edu.whatever-university.project-name. And of course this only matters if I'm planning to distribute my software.) That's certainly better than starting with no coordination at all, and forcing people to have to deal with potential conflicts for everything.


JEff



Reply via email to