[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Why would anyone want opacity?




     Return-Path: <blume@CS.Princeton.EDU>
     To: gjr@martigny.ai.mit.edu
     Cc: rrrs-authors@martigny.ai.mit.edu
     Subject: Re: Why would anyone want opacity?
     In-Reply-To: Your message of "Thu, 9 May 96 14:02:20 -0400"
     References: <199605091814.OAA24640@fs.CS.Princeton.EDU>
     X-Mailer: Mew version 1.03 on Emacs 19.28.1
     Mime-Version: 1.0
     Content-Type: Text/Plain; charset=us-ascii
     Date: Thu, 09 May 1996 14:51:15 -0400
     From: Matthias Blume <blume@CS.Princeton.EDU>

     From: "Guillermo J. Rozas" <gjr@martigny.ai.mit.edu>
     Subject: Re: Why would anyone want opacity?
     Date: Thu, 9 May 96 14:02:20 -0400

     > I guess the real difference is that I do not view at all our job as
     > making the _task of programming/coding effectively_ easier, but
     > instead as making the _task of thinking about processes and
     > algorithms_ easier.  This is a clear corollary of really believeing
     > that the primary purpose of a programming language is to communicate
     > between humans precise process development information, and only
     > incidentally to make computers carry out some actions.
     > 
     > Strong checking of types and abstractions may (I don't believe
     > it but I won't be as adamant) help train effective coders and keep
     > them "on the good path".  I am quite certain that it just gets in the
     > way of _thinking_ about processes and algorithms.

     And I am quite certain (and this is from own experience -- I am a
     convert on this issue!), that strong typing and abstraction *help*
     thinking about processes and algorithms.  I have been arguing this for
     a while now, and others have supported my view.  Maybe it doesn't work
     for everybody.  But at least in my case I know that I simply *refused*
     to accept it for a long time, and only when the evidence became
     overwhelming I finally admitted it to be a truth. (subjectively, of
     course)

     -Matthias

I don't see how ENFORCEMENT of a restriction, such as strong typing,
has anything to do with thinking.  ENFORCEMENT is a management tool.
I have no objection to optional mechanisms that advise or warn you
that you are violating some restriction that you want to impose on
yourself to aid your thinking, but I strongly object to you REQUIRING
me to abide by your intellectual crutches.  I would not impose my
crutches on you!