The Atom Consists of Protons, Neutrons and Electrons

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Wed Feb 6 08:06:21 PST 2013


On 2/6/13 12:47 AM, Zach the Mystic wrote:
> At first I was upset.

I feared so.

> Then I responded in greater detail.

I'm glad you did!

> There's a degree to which the phase of development D is in seriously
> affects the developers' willingness to try new things. And the concern
> that some dark corner of the suggested enhancements will limit their
> usefulness is certainly legitimate. For my part, I'm ready to commend
> the fate of this proposal to a higher power, be it human or divine.
[snip]

So you think you stumbled upon a great idea, one that deserves being 
pursued. So then push it until it breaks, you break, or the others break 
:o).

One possible angle is that everybody has missed that particular point in 
fifty years of language design. I believe this has happened, but is very 
rare so you need a stronger argument than that.

I noticed that a good thing to do is prove or at least argue that the 
feature has a positive impact on a desirable objective. For example, 
there's this great quote by Bob Martin that goes like "all software 
engineering techniques address at the core dependency management". That 
goes a lot about languages, too, so if you show that your technique 
improves dependencies then it's a net win.

Consider e.g. "final switch" as a simple example. When we introduced it, 
the argument was that it improves modularity by making compilation fail 
whenever new members are added to the enum, thus forcing appropriate 
code updates. Thus, modularity is improved. So it would be great to find 
such an objective criterion and show how your feature makes good steps 
toward that.


Andrei


More information about the Digitalmars-d mailing list