home *** CD-ROM | disk | FTP | other *** search
- From: nazgul@alphalpha.com (Kee Hinckley)
-
- In article <387@usenix.ORG> From: <jsh@usenix.org>
- >To help you think about the problem, here's the way you'll have to
- >write the "hello, world" koan using the X/OPEN interfaces:
- ....
- > (void)setlocale(LC_ALL, "");
- > catd = catopen("hello", 0); /* error checking omitted for brevity */
- > printf(catgets(catd, 1, 1,"hello, world\n"));
- ....
- >and using the alternative, proposed UniForum interfaces:
- ....
- > (void)setlocale(LC_ALL, "");
- > (void)textdomain("hello");
- > printf(gettext("hello, world\n"));
- ....
- >I suppose if I had my druthers, I'd like to see a standard interface
- >that goes even farther than the UniForum proposal: one that adds a
- ....
- > (void)setlocale(LC_ALL, ""); /* inescapable, required by ANSI C */
- > printf("hello, world\n");
- ....
- >but that would still be untested innovation.
-
- First of all, I don't think that either of these add enough of value to the
- X/Open standard to make it worthwhile for those of using it to switch.
- The use of strings as an index into the catalog though is definitely a BAD IDA.
-
- Why? A number of reasons. First of all it's ethnocentric. You've just told
- every Easterner/MiddleEasterner that the default language is English. Secondly
- it's inefficent to and a pain to implement. Thirdly it can produce results
- which are just plain wrong. I have different places in my application where
- the English string is currently the same. Using these schemes it would always
- look up the same item in the catalog. However in a different language the
- string might well be different, but there would be no way of changing it one place
- and not the other.
-
- BTW. Where can I get a specification of the Uniforum proposal (and comment
- on it)?
-
- The complexity of the X/Open stuff is easily hidden on a per application basis.
- Anytime I want to reference a string in my application all I have to say
- is MC(foo), where foo is #defined appropriately.
-
- Where I *do* see room for improvement is in the definition of the catalog
- file itself. There is currently no specification for generating include
- files or anything else, and hand numbering the strings is a royal pain.
-
- If you consider the X/Open form:
-
- $set 1 OmUA
- $ #To
- 1 To:
- $ #From
- 2 From:
- $ #Subject
- 3 Subject:
-
- (where '$ ' is a comment). I've written a parser that
- treats comments beginning with '#' as special and allows
- '#' instead of the number. Thus
-
- $set 1 OmUA
- $ #To
- # To:
- $ #From
- # From:
- $ #Subject
- # Subject:
-
- generates
-
- #ifndef __msgsH
- #define __msgsH
-
- #define SETOmUA 1
- #define OmUATo 1
- #define OmUAFrom 2
- #define OmUASubject 3
-
- #endif
-
- It would be nice to be able to rely on this kind of functionality.
-
- --
- Alphalpha Software, Inc. | motif-request@alphalpha.com
- nazgul@alphalpha.com |-----------------------------------
- 617/646-7703 (voice/fax) | Proline BBS: 617/641-3722
-
- I'm not sure which upsets me more; that people are so unwilling to accept
- responsibility for their own actions, or that they are so eager to regulate
- everyone else's.
-
- Volume-Number: Volume 20, Number 90
-
-