DIP10005: Dependency-Carrying Declarations is now available for community feedback
Andrei Alexandrescu via Digitalmars-d
digitalmars-d at puremagic.com
Fri Dec 30 18:13:19 PST 2016
On 12/30/16 7:34 PM, Chris Wright wrote:
> On Fri, 30 Dec 2016 23:49:23 +0000, Andrei Alexandrescu wrote:
>> The main win, which indeed is not emphasized enough, is better
>> encapsulation. Walter pointed that out, and I will redo the DIP to put
>> that front and center.
>
> Encapsulation is an abstraction over several concrete benefits. We're not
> horribly constrained in time or cognitive effort, so we can talk about
> the concrete benefits instead of the abstraction.
Framing things this way would be really ignorant. DIP1005 can't be in
the business of arguing that encapsulation is good by means of examples.
First off, there is no undeniable proof that encapsulation is
advantageous and not even simple obvious examples; encapsulation has had
many opponents, most notably Fred Brooks (the author of "The Mythical
Man-Month"), who used a process specifically antithetic to encapsulation
in the development of IBM System/360 and OS/360. Far as I recall Fred
ultimately ceded the point that encapsulation is superior, but IIRC that
was after 2000. I have no doubt there are competent folks out there who
think encapsulation is a crock.
So it would be goofy if DIP1005 took the onus to show the advantages of
improved encapsulation by means of concrete examples (such don't exist
outside of large-scale projects for any kind of encapsulation). What
DIP1005 can do is show to someone who already believes that
encapsulation is good, that the proposed feature improves encapsulation.
Andrei
More information about the Digitalmars-d
mailing list