Eu não entendo por que o Java usa o inverso de um nome de domínio (provavelmente hipotético) como o nome de um pacote, enquanto na maioria das vezes não há conexão entre o nome de domínio que algumas pessoas usam e os produtos que possuem. Muitos desenvolvedores nem sequer têm domínio.
Quais são os motivos desta convenção de nomenclatura, se houver?
com.louisrhys.xxx.yyy
se é ou não seu proprietáriolouisrhys.com
Respostas:
Exclusividade global. Se todos, ou pelo menos desenvolvedores sérios que distribuem seu código além de projetos internos, seguirem essa convenção, nunca acontecerá que você tenha conflitos de nome ao adicionar outra biblioteca de terceiros ao seu projeto. Lembre-se de que o Java foi propagado inicialmente como uma solução para implantação de código em qualquer lugar, a qualquer hora (por meio de applets e carregamento de classe remoto pela Internet).
fonte
Java was initially propagated as a solution for code deployment anywhere, anytime
Ao contrário do que Java é agora? Não conheço você, mas ainda assim utilizo com sucesso o Java WebStart para implantar código do lado do cliente em milhares de PCs em uma rede interna. Isso torna "Liberar mais cedo, liberar frequentemente" muito menos doloroso para todos.Como a Wikipedia diz sobre o assunto,
fonte
Encontrei dois documentos publicados pela Oracle que discutem a nomeação de pacotes. Há a página Nomeando um Pacote nos Tutoriais Java e a seção Pacotes da Especificação da Linguagem Java .
O objetivo principal desta convenção é tentar minimizar os conflitos entre pacotes publicados por diferentes organizações.
fonte