Omittable parens is an evil

Manfred_Nowak svv1999 at hotmail.com
Sun Jul 20 07:06:34 PDT 2008


Nick Sabalausky wrote:

> distrinction between "invoked"/"not invoked"

The need for such a distinction is unclear to me, because it seems to 
be dependent on the level of abstraction one is able to tolerate.

Example:
`int a; a= 1;' can be imagined as writing the value `1' on some peace 
of paper labeled `a'.

Under this abstraction one need not care about the physical quality 
or location of the paper or the writing utensil---or some agent 
watching that peace of paper and starting some strange action on 
detecting the value 1.


I.e., although there might be some actions going on, when one assigns 
a value to a variable, they are moot.


Please note, that it is the habit of thinking, that makes `f' passive 
and `f()' active. Digital Mars D introduces indeed a change of 
paradigm into this habit, by peeling off that hiding cover of 
abstraction.

It should stay this way. The only shortcoming I see, is that there is 
no element in the language that expresses the wish to have no actions 
on using some identifier, which is similar to the wish to have some 
constant values.

But I doubt that one really wants to code: `T a; a#= 1;' or similar 
to express that one does not want anything executed, even if T 
represents a class with overloaded opAssign.

-manfred


-- 
Maybe some knowledge of some types of disagreeing and their relation 
can turn out to be useful:
http://blog.createdebate.com/2008/04/07/writing-strong-arguments/



More information about the Digitalmars-d mailing list