Mac OSX installer for dmd

Leandro Lucarella luca at llucax.com.ar
Mon Aug 2 17:47:18 PDT 2010


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.

With this default, I think complaining when no symbol from an imported
module is used would be better to avoid extra unneeded dependencies. But
I suggested that before and you don't like it.

Too bad.

-- 
Leandro Lucarella (AKA luca)                     http://llucax.com.ar/
----------------------------------------------------------------------
GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145  104C 949E BFB6 5F5A 8D05)
----------------------------------------------------------------------
no longer afraid of the dark or midday shadows
nothing so ridiculously teenage and desperate,
nothing so childish - at a better pace,
slower and more calculated,
no chance of escape,


More information about the Digitalmars-d mailing list