
(This is getting waaaaayyy off-topic, so I'll stop after this post.) On 02/13/2016 12:31 PM, Joachim Durchholz wrote:
Unfortunately, the Scala people seem to be tiring of the long names and are regressing towards just using top-level names like "play" and "argonaut" and such... :/
I think that's mostly exceptions for the really-well-known frameworks. Similar to the "java.*" and "javax.*" namespaces. I can understand why they prefer "play.*" over "com.playframework.*", but I don't really get why they say "argonaut.*" instead of "io.argonaut.*". Weird.
Unfortunately it's not only famous/popular frameworks... but upon reconsideration, actually, I think the problem may be imports being "scoped" in a good-in-theory-but-bad-in-practice way. The issue usually is an inability to refer to things with short names because you have clashing imports. (I won't expand in the interest of brevity. This is off-topic enough already :).)
OT3H it's not a really serious problem. The DNS as namespace means you have a spot that's guaranteed to be free for your code, and as long as nobody uses a TLD for his package root, it's all fine. Things could become ugly for the Play framework is somebody registers "play" as a new TLD. It would be a clearly a problem for the Play framework, not for the DNS, so at least the responsibilities for fixing the problem will be easy to assign. Or maybe the Playframework guys will get a chance at reserving whatever .play domains would collide with their package names, it's quite possible they'd get heard during the sunrise period of a hypothetical new .play TLD.
Well, reserving a name is kind of precondition, but *expiry* of domains could also be bad -- arguably *worse*. I think the main benefit isn't really tied to domain names per se, but that fact that people/companies *tend to* pick names that are slightly different as top-level/next-level/next-level so conflicts would be rare *in practice* even if there wasn't a "have-a-domain-name" requirement -- which in fact there *isn't*; it's still just a convention in Java, but it *is* pervasively followed. Regards,