Re: [YANG] so many naming scopes

"tom.petch" <cfinss@dial.pipex.com> Wed, 09 January 2008 16:42 UTC

Return-path: <yang-bounces@ietf.org>
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1JCe0O-0003lB-9f; Wed, 09 Jan 2008 11:42:16 -0500
Received: from yang by megatron.ietf.org with local (Exim 4.43) id 1JCe0N-0003l5-9x for yang-confirm+ok@megatron.ietf.org; Wed, 09 Jan 2008 11:42:15 -0500
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1JCe0N-0003kx-0H for yang@ietf.org; Wed, 09 Jan 2008 11:42:15 -0500
Received: from mk-outboundfilter-1.mail.uk.tiscali.com ([212.74.114.37]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1JCe0L-000547-ET for yang@ietf.org; Wed, 09 Jan 2008 11:42:14 -0500
X-Trace: 15790713/mk-outboundfilter-1.mail.uk.tiscali.com/PIPEX/$MX-ACCEPTED/pipex-infrastructure/62.241.163.6
X-SBRS: None
X-RemoteIP: 62.241.163.6
X-IP-MAIL-FROM: cfinss@dial.pipex.com
X-IP-BHB: Once
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: Ao8CAGmIhEc+8aMG/2dsb2JhbACqBA
Received: from astro.systems.pipex.net ([62.241.163.6]) by smtp.pipex.tiscali.co.uk with ESMTP; 09 Jan 2008 16:42:11 +0000
Received: from pc6 (1Cust78.tnt30.lnd3.gbr.da.uu.net [62.188.122.78]) by astro.systems.pipex.net (Postfix) with SMTP id 47E27E00009A; Wed, 9 Jan 2008 16:41:56 +0000 (GMT)
Message-ID: <012701c852d5$ff6ffc60$0601a8c0@pc6>
From: "tom.petch" <cfinss@dial.pipex.com>
To: "Phil Shafer" <phil@juniper.net>
References: <200801082230.m08MUP3O095222@idle.juniper.net>
Subject: Re: [YANG] so many naming scopes
Date: Wed, 9 Jan 2008 16:22:21 +0100
MIME-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 6.00.2800.1106
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106
X-Spam-Score: -100.0 (---------------------------------------------------)
X-Scan-Signature: 50a516d93fd399dc60588708fd9a3002
Cc: yang@ietf.org
X-BeenThere: yang@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
Reply-To: "tom.petch" <cfinss@dial.pipex.com>
List-Id: YANG modeling Language for NETCONF <yang.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/yang>, <mailto:yang-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/yang>
List-Post: <mailto:yang@ietf.org>
List-Help: <mailto:yang-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/yang>, <mailto:yang-request@ietf.org?subject=subscribe>
Errors-To: yang-bounces@ietf.org

----- Original Message -----
From: "Phil Shafer" <phil@juniper.net>
To: "tom.petch" <cfinss@dial.pipex.com>
Cc: "Bert Wijnen - IETF" <bertietf@bwijnen.net>et>; "Andy Bierman"
<ietf@andybierman.com>om>; <yang@ietf.org>
Sent: Tuesday, January 08, 2008 11:30 PM
Subject: Re: [YANG] so many naming scopes


> "tom.petch" writes:
> >There are languages where no word is reserved, where the same symbol(word)
can
> >be used for label, type, module etc.  XML is arguable worse with the ability
to
> >start a fresh namespace on alternate lines.  These belong in the bin.
>
> That's a very strong statement, given that the motivation for
> avoiding reserved words is typically future proofing.  Don't paint
> it as a universally bad feature.
>
> For example, if I use "action" as a leaf in my model and the next
> version of YANG adds a feature that uses "action" as a keyword, my
> model is broken and needs repair.
>
> Many languages reserve unused keywords just on the odds they will
> need them in the future, but they are seldom right.  By keeping the
> namespace of user-defined stuff out of the namespace of keywords,
> YANG avoids this issue entirely.  As the number of modules defined
> in YANG approaches the number that are defined in SMI, this will be
> an important language feature.
>
Yes, I expressed myself strongly, perhaps as a result of spending time in 2007
with XML documents where there was widespread use of an element named <element>
as well as one named <attribute>; I wish that XML had reserved those words:-(  I
accept that it is a trade off, and devising a language without reserved words is
an achievement; but I find it costs usability when eg you can have labels such
as 'if' and 'then' and variables such as 'for' and 'case'.  I mean, it is sort
of obvious, you are writing this small simple program that will only ever have
one case construct so it is natural to name the associated variable 'case'.

If a language has concepts which are widely written about in English - perhaps
container, leaf, index, key would qualify - then I would prefer those to be
reserved, else someone someday will use them.

Tom Petch

> Thanks,
>  Phil



_______________________________________________
YANG mailing list
YANG@ietf.org
https://www1.ietf.org/mailman/listinfo/yang