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

Reply via email to