Topic: Don't say CONSTNESS, say CONSTANCY!


Author: damian@cs.monash.edu.au (Damian Conway)
Date: 1995/06/05
Raw View
In <D9B2zn.3nq@ucc.su.OZ.AU> maxtal@Physics.usyd.edu.au (John Max Skaller) writes:

> Inventing new words is one thing -- abusing existing
>ones in another.  I abhor the trend of people talking
>about "inheriting" a class. The verb is _derive_.
>You derive from a class.  As a consequence you inherit its _attributes_.

> I have inherited my mothers brown eyes because I am
>derived from her. I have no desire to inherit her  :-)

Of course, you might also be perfectly happy to inherit _from_ her. :-)

damian
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  who: Damian Conway                 email: damian@bruce.cs.monash.edu.au
where: Dept. Computer Science        phone: +61-3-565-5184
       Monash University               fax: +61-3-565-5146
       Clayton 3168                  quote: "A pessimist is never disappointed."
       AUSTRALIA





Author: kennedy@kennedy.bridgewater.ne.hcc.com
Date: 1995/06/02
Raw View
In <3poc98$fs4$1@mhadg.production.compuserve.com>, David Byrden <100101.2547@CompuServe.COM> writes:
>C++ authors and documentors are beginning to use the
>made-up word 'constness' to describe an aspect of class
>behaviour.
>
>Let me point out that there is an existing, elegant
>and perfectly good English word, Constancy.

One sees your point, God knows, but surely "const-ness" (with the hyphen) has
the advantage of being unambiguously a reference to the behavior associated
with the keyword "const".  To give a trivial example:

int example () {
   int const x = 1;
   int  y = 2;
   return x + y;
}

In this instance, both x and y possess the property of constancy, but only x
has const-ness.

I was planning to go on with the further senses of "perpetuity" and "fidelity"
that have attached themselves to "constancy", but I find the syllable "const"
is beginning to ring phaticly in my head, as frequently happens in discussions
of this kind.






Author: glover@hikimi.cray.com (Roger Glover)
Date: 1995/06/03
Raw View
CAUTION:  This is a first posting by a newbie/lurker.  If that
bothers you, please go on to the next message.

WARNING:  I do occasionally post e-mails that flame me without
justification.

> In <3poc98$fs4$1@mhadg.production.compuserve.com>, David Byrden <100101.2547@CompuServe.COM> writes:
> >C++ authors and documentors are beginning to use the
> >made-up word 'constness' to describe an aspect of class
> >behaviour.
> >
> >Let me point out that there is an existing, elegant
> >and perfectly good English word, Constancy.

In article <1995Jun2.165714.15785@hcc.com>, kennedy@kennedy.bridgewater.ne.hcc.com writes:
> One sees your point, God knows, but surely "const-ness" (with the hyphen) has
> the advantage of being unambiguously a reference to the behavior associated
> with the keyword "const".  To give a trivial example:
>
> int example () {
>    int const x = 1;
>    int  y = 2;
>    return x + y;
> }
>
> In this instance, both x and y possess the property of constancy, but only x
> has const-ness.

Computer science has a wise tradition of borrowing existing terms
from mathematics (among other sources), including terms such as
"variable," "function," and "algorithm."  The same could apply in
this case.  In mathematics, an entity which is fixed by design or
definition is called a "constant," and has the property of
"constancy."  An entity which remains unchanged by a given
transformation is called an "invariant," and has the property of
"invariance."  All constants are invariants, but not all invariants
are constants.

Such is the case here:  "x" has constancy (and, hence, invariance),
and "y" has invariance (but not constancy).


In other news ...
It was also suggested by jimk@lysander.wx.ll.mit.edu (James Knowles)
in article <JIMK.95May23114722@lysander.wx.ll.mit.edu>:

:> 'constancy' is too absolute, too reassuring.
:> To me, 'constness' means 'uh,oh...better find
:> out exactly where const has been sprinkled
:> about this time'.
:> I could only satisfy the dictionary
:> definition of constancy by splattering 'const'
:> before, after, and during a function declaration,
:> data member, etc.  I don't know the solution to
:> all this (ie, what the next world language is);
:> I just know associating the word 'constancy'
:> with software engineering concepts nowadays
:> can give a sense of false security....

The "dictionary" (common usage) definition of constancy is subject to
such abuse, just like the "dictionary" definitions of variable and
function.  The mathematical definition is not, because it is context
specific.  In linear algebra, an "N-by-N identity matrix" has
variable size (varies according to N) but constant content (1 on the
diagonal, 0 off the diagonal).

So let me suggest that this false sense of security can be alleviated
simply by using the terms in proper context:

 const int *w; // "a pointer with 'value' constancy",
   //   or "a pointer to constant int"
 int *const x; // "a pointer with 'reference' constancy,"
   //   or "a constant pointer to int"
 int **const y; // "a pointer to pointer, with 'reference' constancy,"
   // //                   ^^ note the picky syntax :^)
   //   or "a constant pointer to pointer to int"
 int *const *z; // "a pointer to pointer with 'reference' constancy,"
   // //                   ^  note the picky syntax :^)
   //   or "a pointer to constant pointer to int"
 int my_class::my_fun (X &x) const { ... };
   // "a member function with 'class data' constancy" (?)
   //   or "a 'class data' constant member function"  (?)


----------------------------------------------- Roger Glover
XXXX\ \ / \ /XXX  \ / \ X   \ /\\\  X///X /\\\  Cray Research, Inc.
/ \ / \/ /\ / \ / \X /\ X  \  / \   X\  \ X     DISCLAIMER HAIKU:
//X/  X\\\X //X/  X \ X X\\   / \   X/X \ X \\\   C R I may not
/ \   X///X / \/  X//XX X  \  / \   X  \\ X   \   Share these opinions with me
/ \   X   X /\\\/ X   X X///X /XXX/ X///X /XXX/   This is not my fault





Author: ruiter@ruls41.LeidenUniv.nl (Jan-Peter de Ruiter)
Date: 1995/05/26
Raw View
David Byrden (100101.2547@CompuServe.COM) wrote:
: C++ authors and documentors are beginning to use the
: made-up word 'constness' to describe an aspect of class
: behaviour.

: Let me point out that there is an existing, elegant
: and perfectly good English word, Constancy.
:
: D Byrden

Psychologists are beginning to use the made-up word
'anal-retentive' to describe an aspect of human behaviour.

Let me point out that there is an existing, elegant,
and perfectly good English word, Neurotic.

JP





Author: maxtal@Physics.usyd.edu.au (John Max Skaller)
Date: 1995/05/28
Raw View
In article <3poc98$fs4$1@mhadg.production.compuserve.com>,
David Byrden  <100101.2547@CompuServe.COM> wrote:
>C++ authors and documentors are beginning to use the
>made-up word 'constness' to describe an aspect of class
>behaviour.
>
>Let me point out that there is an existing, elegant
>and perfectly good English word, Constancy.

 Inventing new words is one thing -- abusing existing
ones in another.  I abhor the trend of people talking
about "inheriting" a class. The verb is _derive_.
You derive from a class.  As a consequence you inherit its _attributes_.

 I have inherited my mothers brown eyes because I am
derived from her. I have no desire to inherit her  :-)

--
        JOHN (MAX) SKALLER,         INTERNET:maxtal@suphys.physics.su.oz.au
 Maxtal Pty Ltd,
        81A Glebe Point Rd, GLEBE   Mem: SA IT/9/22,SC22/WG21
        NSW 2037, AUSTRALIA     Phone: 61-2-566-2189





Author: jimk@lysander.wx.ll.mit.edu ( James Knowles )
Date: 1995/05/23
Raw View
In article <3poc98$fs4$1@mhadg.production.compuserve.com> David Byrden <100101.2547@CompuServe.COM> writes:

   From: David Byrden <100101.2547@CompuServe.COM>
   Newsgroups: comp.lang.c++,comp.std.c++
   Date: 21 May 1995 21:45:12 GMT
   Organization: via CompuServe Information Service

   C++ authors and documentors are beginning to use the
   made-up word 'constness' to describe an aspect of class
   behaviour.

   Let me point out that there is an existing, elegant
   and perfectly good English word, Constancy.

   D Byrden

------------------------------------------

   Yes, but a dyed-in-the-wool jargonist would
   say "well, what if constness doesn't always
   mean constancy?"(UH-OH!).  This gets to the heart of
   arcane systems (like C++) and the arcane
   jargon (like constness) they generate. Similar
   things happening during the early radio years
   and car years, leaving a trail of peculiar
   pseudo-words.  Many of the words disappeared
   when the weird devices they described disappeared.
   The reason I accept 'constness' myself is that the word
   constancy cannot completely cover all the many
   odd combinations involving the const buzzword.

   'constancy' is too absolute, too reassuring.
   To me, 'constness' means 'uh,oh...better find
   out exactly where const has been sprinkled
   about this time'.
   I could only satisfy the dictionary
   definition of constancy by splattering 'const'
   before, after, and during a function declaration,
   data member, etc.  I don't know the solution to
   all this (ie, what the next world language is)
   ; I just know associating the word 'constancy'
   with software engineering concepts nowadays
   can give a sense of false security....

------------------------------------------





Author: David Byrden <100101.2547@CompuServe.COM>
Date: 1995/05/21
Raw View
C++ authors and documentors are beginning to use the
made-up word 'constness' to describe an aspect of class
behaviour.

Let me point out that there is an existing, elegant
and perfectly good English word, Constancy.

D Byrden





Author: Todd Short <tshort@baynetworks.com>
Date: 1995/05/23
Raw View
David Byrden <100101.2547@CompuServe.COM> wrote:
>C++ authors and documentors are beginning to use the
>made-up word 'constness' to describe an aspect of class
>behaviour.
>
>Let me point out that there is an existing, elegant
>and perfectly good English word, Constancy.
>
>D Byrden

"const", "enum" and many other words did not exist until
computer users, authors and documentors "made" them up
and made them part of the language.

Maybe if the term was "constant", would "constancy" be
used. But it's not.

Many terms have been invented by computer users/authors/
documentor, "diskette", "internet", "software". Not long
not long ago, it wasn't considered acceptable to label
oneself as a "computer programmer", because some government
agencies didn't accept it.

We are not the French Language Authority (or whatever the
agency is called), which recently caused a brou-ha-ha over
the use of "anglais" words being used on TV, radio, and other
official "French" things.

Doesn't CIS charge people for every Internet message they
receive?

Oops, can't talk to you, "Byrden" isn't in the dictionary
(but my name is).

--
-Todd Short
// NOW:   tshort@wellfleet.com
// LATER: tshort@baynetworks.com
// "One if by land, two if by sea, three if by the internet".






Author: rhawkins@iastate.edu (Rick Hawkins)
Date: 1995/05/23
Raw View
In article <3poc98$fs4$1@mhadg.production.compuserve.com>,
David Byrden  <100101.2547@CompuServe.COM> wrote:
>C++ authors and documentors are beginning to use the
>made-up word 'constness' to describe an aspect of class
>behaviour.

>Let me point out that there is an existing, elegant
>and perfectly good English word, Constancy.

This achieved, can you now persuade my fellow lawyers that there is no
such word as "impliedly?"

:)


--
R E HAWKINS
rhawkins@iastate.edu