wiki-archive/twiki/temp-gjr/BDI/SDD/ProblemOfResolvingIdentifie...

155 lines
7.6 KiB
Plaintext

head 1.7;
access;
symbols;
locks; strict;
comment @# @;
1.7
date 2009.11.25.03.14.35; author GarryJolleyRogers; state Exp;
branches;
next 1.6;
1.6
date 2009.11.20.02.45.27; author LeeBelbin; state Exp;
branches;
next 1.5;
1.5
date 2007.03.06.17.30.00; author TWikiGuest; state Exp;
branches;
next 1.4;
1.4
date 2004.05.28.17.40.00; author GregorHagedorn; state Exp;
branches;
next 1.3;
1.3
date 2003.10.03.05.17.00; author BobMorris; state Exp;
branches;
next 1.2;
1.2
date 2003.09.28.04.15.00; author BobMorris; state Exp;
branches;
next 1.1;
1.1
date 2003.09.26.12.12.00; author BobMorris; state Exp;
branches;
next ;
desc
@none
@
1.7
log
@none
@
text
@%META:TOPICINFO{author="GarryJolleyRogers" date="1259118875" format="1.1" version="1.7"}%
%META:TOPICPARENT{name="BDI.SDD_"}%
---+!! %TOPIC%
In my experience, in all programming languages, novices (like us in the Schema design enterprise) usually find it easier to proliferate identifiers than to let the context distinguish two uses of the same identifier. Sometimes in a program itself you want to use the same identifier from a different context from the one in the current context. Such a situation needs a notation for resolving this conflict which is technically known as the _scope_ of the identifier. One such notation is a kind of scope hierarchy separated by periods. So for example, in Java you might have two declarations
<verbatim>
Descriptions.Taxon theTaxon; //an object whose structure is defined in Descriptions
Terminology.Taxon theTaxonName; //an object whose structure is defined in Terminology
</verbatim>
which would allow you to have a data type named Taxon in two contexts and use objects of those types in a single context.
The issue appears particularly with data type names, as opposed to data object names. This issue arose because Main.KevinThiele raised the issue in ClosedTopicTaxonNamesInResources of whether Taxon could be used both for a Taxon name and a Taxon description, with context dictating the result. He wasn't discussing a data _type_, (XML prohibits two types , but not two elements, having the same identifier as their name, so there is no syntactical reason not to use a single identifier, Taxon. However, in a _discussion_, the context might not clear, and I favored using two identifiers Taxon and <nop>TaxonName to aid discussion. The alternative would be to introduce a scope resolution notation, which I find needless complexity here.
In this particular case--- Taxon vs. <nop>TaxonName ---those of us who are also taxonomically challenged appreciate the distinction being signalled. And, I hope, there will ultimately be a lot of computer scientists hacking this stuff so the rest of you can get on with the science. So I will not be alone in needing reminder about the distinction.
-- Main.BobMorris - 26 Sep 2003
@
1.6
log
@none
@
text
@d1 2
a2 2
%META:TOPICINFO{author="LeeBelbin" date="1258685127" format="1.1" reprev="1.6" version="1.6"}%
%META:TOPICPARENT{name="BDI.SDD"}%
d15 1
a15 1
-- Main.BobMorris - 26 Sep 2003
@
1.5
log
@Added topic name via script
@
text
@d1 2
a4 2
%META:TOPICINFO{author="GregorHagedorn" date="1085766000" format="1.0" version="1.4"}%
%META:TOPICPARENT{name="WebHome"}%
@
1.4
log
@none
@
text
@d1 2
@
1.3
log
@none
@
text
@d1 3
a3 3
%META:TOPICINFO{author="BobMorris" date="1065158220" format="1.0" version="1.3"}%
%META:TOPICPARENT{name="TaxonNamesInResources"}%
In my experience, in all programming languages -- InstanceDocumentsAreReallyPrograms -- novices (like us in the Schema design enterprise) usually find it easier to proliferate identifiers than to let the context distinguish two uses of the same identifier. Sometimes in a program itself you want to use the same identifier from a different context from the one in the current context. Such a situation needs a notation for resolving this conflict which is technically known as the _scope_ of the identifier. One such notation is a kind of scope hierarchy separated by periods. So for example, in Java you might have two declarations
d10 1
a10 1
The issue appears particularly with data type names, as opposed to data object names. This issue arose because Main.KevinThiele raised the issue in TaxonNamesInResources of whether Taxon could be used both for a Taxon name and a Taxon description, with context dictating the result. He wasn't discussing a data _type_, (XML prohibits two types , but not two elements, having the same identifier as their name, so there is no syntactical reason not to use a single identifier, Taxon. However, in a _discussion_, the context might not clear, and I favored using two identifiers Taxon and <nop>TaxonName to aid discussion. The alternative would be to introduce a scope resolution notation, which I find needless complexity here.
@
1.2
log
@none
@
text
@d1 1
a1 1
%META:TOPICINFO{author="BobMorris" date="1064722500" format="1.0" version="1.2"}%
d3 1
a3 1
In my experience, in all programming languages --InstanceDocumentsAreReallyPrograms-- novices (like us in the Schema design enterprise) usually find it easier to proliferate identifiers than to let the context distinguish two uses of the same identifier. Sometimes in a program itself you want to use the same identifier from a different context from the one in the current context. Such a situation needs a notation for resolving this conflict which is technically known as the _scope_ of the identifier. One such notation is a kind of scope hierarchy separated by periods. So for example, in Java you might have two declarations
d10 1
a10 1
The issue appears particularly with data type names, as opposed to data object names. This issue arose because Main.KevinThiele raised the issue in TaxonNamesInResources of whether Taxon could be used both for a Taxon name and a Taxon description, with context dictating the result. He wasn't discussing a data _type_, (XML prohibits two types , but not two elements having the same identifier as their name, so there is no syntactical reason not to use a single identifier, Taxon. However, in a _discussion_, the context might not clear, and I favored using two identifiers Taxon and <nop>TaxonName to aid discussion. The alternative would be to introduce a scope resolution notation, which I find needless complexity here.
@
1.1
log
@none
@
text
@d1 1
a1 1
%META:TOPICINFO{author="BobMorris" date="1064578320" format="1.0" version="1.1"}%
d3 1
a3 1
In my experience, in all programming languages (and InstanceDocumentsAreReallyPrograms), novices (like us in the Schema design enterprise) usually find it easier to proliferate identifiers than to let the context distinguish two uses of the same identifier. Sometimes in a program itself you want to use the same identifier from a different context from the one in the current context. Such a situation needs a notation for resolving this conflict which is technically known as the _scope_ of the identifier. One such notation is a kind of scope hierarchy separated by periods. So for example, in Java you might have two declarations
d10 1
a10 1
The issue appears particularly with data type names, as opposed to data object names. This issue arose because Main.KevinThiele raised the issue in TaxonNamesInResources of whether Taxon could be used both for a Taxon name and a Taxon description, with context dictating the result. He wasn't discussing a data _type_, (XML prohibits two types , but not two elements having, having the same identifier as their name), so there is no syntactical reason not to use a single identifier, Taxon. However, in a _discussion_, the context might not clear, and I favored using two identifiers Taxon and <nop>TaxonName to aid discussion. The alternative would be to introduce a scope resolution notation, which I find needless complexity here.
@