From: Lew on
Jim Janney wrote:
>> The canonical immutable class, java.lang.String, isn't annotated as
>> immutable.
>

markspace wrote:
> Hmmm:
>
> "Basic, canonic, canonical: reduced to the simplest and most significant
> form possible without loss of generality, e.g., "a basic story line"; "a
> canonical syllable pattern.""
>

More like "prototypical".

> Not sure if String is "canonical" here.  Maybe "ubiquitous" is more what
> you're after.  Or possibly I just misunderstand what you mean.
>

String is the most basic immutable class in the API.

--
Lew
From: Peter Duniho on
markspace wrote:
> Jim Janney wrote:
>
>> The canonical immutable class, java.lang.String, isn't annotated as
>> immutable.
>
> Hmmm:
>
> "Basic, canonic, canonical: reduced to the simplest and most significant
> form possible without loss of generality, e.g., "a basic story line"; "a
> canonical syllable pattern.""
>
> Not sure if String is "canonical" here. Maybe "ubiquitous" is more what
> you're after. Or possibly I just misunderstand what you mean.

Maybe your dictionary is simply more restrictive in its definition of
"canonical" than others, and than common usage.

Found at http://dictionary.reference.com/browse/canonical:

"(of a form or pattern) characteristic, general or basic" �
java.lang.String seems to me to be of a characteristic pattern wrt
immutability.

"Conforming to orthodox or well-established rules or patterns" � again,
the String class conforms to well-established rules of immutability

The word "canon" derives ultimately from the Greek "kanon" (akin
to the English "cane") referring to a reed. Reeds were used for
measurement, and in Latin and later Greek the word "canon" meant
a rule or a standard.

It seems to me that, within the JDK, the String class is a good example
to be used as a standard against which other immutable classes may be
measured.

Of course, the real question is whether there was anything in Jim's post
that caused genuine confusion. It seems to me that his point was simply
that the one class in Java that everyone is familiar with and might use
as a primary example of an immutable class is not in fact annotated as
immutable.

I don't see how his use of the word "canonical" in any way interferes
with that understanding. Even if he did misuse it (and I'm not saying
he did), how have we in any way added to the useful content of this
Java-specific newsgroup by questioning, discussing, or debating that
usage? :p

Pete
From: Jim Janney on
markspace <nospam(a)nowhere.com> writes:

> Jim Janney wrote:
>
>> The canonical immutable class, java.lang.String, isn't annotated as
>> immutable.
>
>
> Hmmm:
>
> "Basic, canonic, canonical: reduced to the simplest and most
> significant form possible without loss of generality, e.g., "a basic
> story line"; "a canonical syllable pattern.""
>
> Not sure if String is "canonical" here. Maybe "ubiquitous" is more
> what you're after. Or possibly I just misunderstand what you mean.

I just liked the way it sounds.

--
Jim Janney
From: Jim Janney on
Peter Duniho <NpOeStPeAdM(a)NnOwSlPiAnMk.com> writes:

> markspace wrote:
>> Jim Janney wrote:
>>
>>> The canonical immutable class, java.lang.String, isn't annotated as
>>> immutable.
>>
>> Hmmm:
>>
>> "Basic, canonic, canonical: reduced to the simplest and most
>> significant form possible without loss of generality, e.g., "a basic
>> story line"; "a canonical syllable pattern.""
>>
>> Not sure if String is "canonical" here. Maybe "ubiquitous" is more
>> what you're after. Or possibly I just misunderstand what you mean.
>
> Maybe your dictionary is simply more restrictive in its definition of
> "canonical" than others, and than common usage.
>
> Found at http://dictionary.reference.com/browse/canonical:
>
> "(of a form or pattern) characteristic, general or basic" —
> java.lang.String seems to me to be of a characteristic pattern wrt
> immutability.
>
> "Conforming to orthodox or well-established rules or patterns" —
> again, the String class conforms to well-established rules of
> immutability
>
> The word "canon" derives ultimately from the Greek "kanon" (akin
> to the English "cane") referring to a reed. Reeds were used for
> measurement, and in Latin and later Greek the word "canon" meant
> a rule or a standard.
>
> It seems to me that, within the JDK, the String class is a good
> example to be used as a standard against which other immutable classes
> may be measured.
>
> Of course, the real question is whether there was anything in Jim's
> post that caused genuine confusion. It seems to me that his point was
> simply that the one class in Java that everyone is familiar with and
> might use as a primary example of an immutable class is not in fact
> annotated as immutable.
>
> I don't see how his use of the word "canonical" in any way interferes
> with that understanding. Even if he did misuse it (and I'm not saying
> he did), how have we in any way added to the useful content of this
> Java-specific newsgroup by questioning, discussing, or debating that
> usage? :p

It's a Friday afternoon. We may as well bicker :-)

The canonical definition of canonical is of course to be found at

http://www.dourish.com/goodies/jargon.html

--
Jim Janney
From: Eric Sosman on
On 7/16/2010 2:27 PM, Lew wrote:
> [...]
>
> String is the most basic immutable class in the API.

More basic than Object?

--
Eric Sosman
esosman(a)ieee-dot-org.invalid