comp.lang.ada
 help / color / mirror / Atom feed
From: Maciej Sobczak <see.my.homepage@gmail.com>
Subject: Re: Factory Pattern
Date: Fri, 27 Jul 2007 06:07:48 -0700
Date: 2007-07-27T06:07:48-07:00	[thread overview]
Message-ID: <1185541668.089363.258220@q75g2000hsh.googlegroups.com> (raw)
In-Reply-To: <f8b786$qpo$1@jacob-sparre.dk>

On 27 Lip, 00:31, "Randy Brukardt" <ra...@rrsoftware.com> wrote:

> > In the case-insensitive programming language I would
> > expect that changing the "case" of one character in the identifier
> > will not change its semantics. How Ada guarantees this for Unicode?
>
> It uses the Unicode-defined case mapping tables.

> If you really care how these things are defined, check out the standard
> clauses 2.1 and 2.3.

Thank you for pointing this.

> > Sorry, I don't call it "well-designed".
>
> Well, that's your choice, but it would be better informed if you understood
> the rules in question first.

Yes, with the rules as described in ARM no such problems should arise,
at least with the use of tools that are part of the langauge
implementation (compiler or interpreter or whatever).

Still, I don't share the motivation for introducing such support into
the language. There are two reasons for this:

1. The programming language does not exist in a vacuum and the typical
software development process involves many more tools than just a
compiler. Text editor might be useful as well, not mentioning
countless utilities for automated text processing. They are not
covered by ARM and do not have to follow its rules. This makes it more
difficult to work with code that liberally uses Unicode or case-
agnostic naming - and can be an additional source of mistakes. This
additional burden and the risk of mistakes is against the Ada spirit
(as I understant it).

2. There is no way to escape English and Latin1 character set anyway.
Not only Ada is very rich in reserved words, there are also tons of
names in the standard library. All these are English and Latin1. In
addition, there are third-party libraries, code is moved from one
project to another, projects are published, companies merge, etc. This
means that a programmer wanting to use her hieroglyphs in the Ada
program cannot be consistent with any convention. I, for example, find
it very disturbing when I see in a single line of code two names in
different languages and all the companies and projects I've been
involved in prohibit(ed) such mixes without exceptions - note that I'm
not a native English speaker, so such rules relate to me directly.
Interestingly, using localized identifier names does not increase
readability of the program! Again, not Ada spirit (as I understand
it).

OK, let's better write some more Latin1 code with standard naming
convention... ;-)

--
Maciej Sobczak
http://www.msobczak.com/




  reply	other threads:[~2007-07-27 13:07 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-07-25 18:19 Factory Pattern shaunpatterson
2007-07-25 18:28 ` Martin
2007-07-25 18:51 ` Dmitry A. Kazakov
2007-07-25 21:06   ` Georg Bauhaus
2007-07-25 19:27 ` Matthew Heaney
2007-07-26  0:51 ` Jeffrey R. Carter
2007-07-26  6:44   ` Maciej Sobczak
2007-07-26  8:40     ` Georg Bauhaus
2007-07-26  9:53       ` Dmitry A. Kazakov
2007-07-26 11:01         ` Georg Bauhaus
2007-07-26 13:02           ` Maciej Sobczak
2007-07-26 13:44             ` Dmitry A. Kazakov
2007-07-26 14:58             ` Georg Bauhaus
2007-07-26 22:31             ` Randy Brukardt
2007-07-27 13:07               ` Maciej Sobczak [this message]
2007-07-27 14:23                 ` shaunpatterson
2007-07-27 22:23                 ` Randy Brukardt
2007-07-28 18:56                   ` Maciej Sobczak
2007-07-29  7:54                   ` Maciej Sobczak
2007-07-29  8:53                     ` Dmitry A. Kazakov
2007-07-29 10:53                     ` Georg Bauhaus
2007-07-26 16:58         ` Adam Beneschan
2007-07-29 11:38         ` Manuel Gomez
2007-07-27 10:16     ` Jeffrey R. Carter
2007-07-27 12:47       ` Maciej Sobczak
2007-08-26  7:18         ` David Thompson
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox