"Leandro Lucarella" <l...@llucax.com.ar> wrote in message news:20100803004718.gw3...@llucax.com.ar... > Walter Bright, el 2 de agosto a las 16:12 me escribiste: >> dsimcha wrote: >> >It just seems like common sense to me that a module system (and a >> >language in >> >general) should do what you mean as long as there's no ambiguity about >> >what you >> >mean (without forcing you to specify things redundantly, such as by >> >using >> >qualified names), but not guess what you mean when there is ambiguity. >> >Is there >> >any other language that gets this right? >> >> As far as I know, no other language does this right. >> >> While it seems common sense in retrospect, coming up with it took a >> while. D1 is close, but D2 shines. >> >> Rob Pike (of Go fame) says Go doesn't allow function overloading >> because of the confusion it causes. That's understandable given >> C++'s uncontrollable overloading and open namespaces. D2 doesn't >> have that problem. > > For me the problem with D is dependency control. You don't know what > symbol come from which module. Yes, I know you can do explicit > dependencies in D with static and selective imports, the same you can do > the inverse in other languages with the import module.*-like syntax, but > I think D got the default wrong, I prefer explicit by default. >
Personally, I would find that to save a couple minutes once in a while, and be a PITA most of the time. I'd find that to be a poor tradeoff.