From: mheaney@ni.net (Matthew Heaney)
Subject: Re: Two simple language questions (plural types)
Date: 1998/01/10
Date: 1998-01-10T00:00:00+00:00 [thread overview]
Message-ID: <mheaney-ya023680001001981110500001@news.ni.net> (raw)
In-Reply-To: dewar.884450142@merv
In article <dewar.884450142@merv>, dewar@merv.cs.nyu.edu (Robert Dewar) wrote:
>For my tastes, I find the use of plurals to be highly (almost deliberately)
>confusing.
>
>Here the variable color is said to be something to do with colors, which
>to me strongly implies that it is a set of colors or somesuch.
Hallelujah! Robert, once again you bring order to chaos. I completely
agree that plural names should be used to denote, well, plural objects -
aggregates of some kind. For example, if I have a color object that stores
the value of a single color, then of course the singular declaration
The_Color : Color;
is preferred. If I see
The_Color : Colors;
well then my instinct is to assume that The_Color is an aggregate of some
kind, and I would expect to see references like
... The_Color (1) ...
(assumes it's an array).
I generally do this sort of thing:
type Color is ...
type Color_Array is array (Positive range <>) of Color;
type Color_Stack is ...
type Color_Set is ...
I usually name array objects with a plural name, because, well, it's a
plural object:
Colors : Color_Array;
I don't buy the argument that we should compare Ada text to English text.
The text of a computer program has its own idioms (including the one
described above), so a comparison to natural languge is not appropriate.
Do not use a plural name for a singular type. If you're not convinced,
read the RM:
Integer is not called Integers.
Float is not called Floats.
Address is not called Addresses.
File_Type is not called File_Types.
File_Mode is not called File_Modes.
In fact, I'd like someone to point out anywhere in the RM where a plural
name is used for a singular object. Why don't Ada programmers use the
idioms in the Ada RM? It's VERY CONFUSING when you don't.
Please, do not use a plural name for a type whose instances denote a single
value.
--------------------------------------------------------------------
Matthew Heaney
Software Development Consultant
<mailto:matthew_heaney@acm.org>
(818) 985-1271
next prev parent reply other threads:[~1998-01-10 0:00 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
1998-01-07 0:00 Two simple language questions Chip Richards
1998-01-07 0:00 ` Matthew Heaney
1998-01-10 0:00 ` Two simple language questions (plural types) Michael F Brenner
1998-01-10 0:00 ` Robert Dewar
1998-01-10 0:00 ` Matthew Heaney [this message]
1998-01-10 0:00 ` Robert Dewar
1998-01-12 0:00 ` Anonymous
1998-01-12 0:00 ` Matthew Heaney
1998-01-12 0:00 ` Brian Rogoff
1998-01-13 0:00 ` Robert Dewar
1998-01-13 0:00 ` Distinguishing type names from other identifiers Nick Roberts
1998-01-13 0:00 ` Matthew Heaney
1998-01-14 0:00 ` Stephen Leake
1998-01-24 0:00 ` Matthew Heaney
1998-01-15 0:00 ` Anonymous
1998-01-24 0:00 ` Matthew Heaney
1998-01-24 0:00 ` Martin M Dowie
1998-01-24 0:00 ` Martin M Dowie
1998-01-24 0:00 ` Pred Nick Roberts
1998-01-25 0:00 ` Distinguishing type names from other identifiers Matthew Heaney
1998-01-15 0:00 ` Aaro Koskinen
1998-01-17 0:00 ` Martin M Dowie
1998-01-17 0:00 ` Martin M Dowie
1998-01-25 0:00 ` Matthew Heaney
1998-01-25 0:00 ` Brian Rogoff
[not found] ` <n5rs5FAStOz0Ew2+@dowie-cs.demon.co.uk>
1998-01-26 0:00 ` Brian Rogoff
1998-01-27 0:00 ` Martin M Dowie
1998-01-27 0:00 ` Brian Rogoff
1998-01-27 0:00 ` Matthew Heaney
1998-01-28 0:00 ` Brian Rogoff
1998-01-28 0:00 ` Matthew Heaney
1998-01-29 0:00 ` Brian Rogoff
1998-01-30 0:00 ` Mats Weber
1998-01-28 0:00 ` Martin M Dowie
1998-01-12 0:00 ` Two simple language questions (plural types) Brian Rogoff
1998-01-11 0:00 ` Brian Rogoff
1998-01-07 0:00 ` Two simple language questions Robert Dewar
1998-01-07 0:00 ` Tucker Taft
1998-01-07 0:00 ` Dale Stanbrough
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox