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