home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / std_unix / volume.20 / text0117.txt < prev    next >
Encoding:
Internet Message Format  |  1990-08-02  |  3.5 KB

  1. From:  Doug Gwyn (VLD/VMB) <gwyn@BRL.MIL>
  2.  
  3. [ This was originally written as a letter to Dominic, but Doug
  4. agreed it would make a good comp.std.unix posting.  -mod ]
  5.  
  6. While I don't have any real problem with your use of quotations from
  7. my net posting, I do have a couple of comments on other things you said:
  8.  
  9.     The ballot also produced a number of suggestions in the area
  10.     of internationalization, such as how to handle (and indeed,
  11.     how to refer to) wide, or multi-byte, characters.
  12.  
  13. For 1003.1, this is pretty straightforward.  The C requirements on such
  14. character encodings are such that mbc strings can still be handled as
  15. uninterpreted NUL-terminated arrays of char.  In the default "C" locale,
  16. a certain minimum set of characters must be represented, which permits
  17. the construction of portable filename strings.  Even in the "C" locale,
  18. other characters are permitted, so for example a command-line argument
  19. containing "funny characters" can be used directly as an argument to
  20. open() etc.  I know that there are various vendor approaches that make
  21. locales more visible to the operating system, but after all this is UNIX
  22. we're talking about, and one of the main lessons of UNIX is that the
  23. operating system can be designed to be happily oblivious to the uses to
  24. which people put the information that it manages according to simple rules.
  25.  
  26. I first got involved in "internationalization" issues when I attended a
  27. BOF meeting at which the "expert" who was giving the presentation was
  28. explaining how complex the character set issues were, and when I said
  29. that I didn't see any inherent complexity was berated for my naivety.
  30. Years later, after studying the issues and conversing with the folks
  31. actively working in the field, I still maintain that simple solutions
  32. are possible.  Unfortunately, vendors such as H-P started out with
  33. complicated schemes and have continue to think in those terms.  This
  34. rubbed off on X3J11 when the multibyte character approach was adopted,
  35. which has the obvious problem that anyone programming for an
  36. international environment MUST change from traditional use of C strings
  37. to mbc arrays in his applications.  The Japanese recognize this as an
  38. essential feature of their "long char" proposal, which X3J11 did NOT
  39. intend the mbc approach to be -- however, the fundamental need for
  40. library support using any such approach has now led to the Japanese
  41. requesting that such changes be made for the ISO C standard.  I think
  42. the arguments I used for my alternative proposal to address these very
  43. concerns are being borne out, in spades.
  44.  
  45.     Returning to the matter of the programming language used for
  46.     bindings, it is true that AT&T-derived UNIX implementations
  47.     prefer a diet of C data types.  However, it certainly was an
  48.     aim of 1003.1 to allow hosted POSIX implementations, which
  49.     might well be riding on underlying operating systems with
  50.     entirely different tastes.
  51.  
  52. To the contrary, we discussed this very matter in 1003.1 and decided
  53. that, while we did not wish to preclude layered implementations, we
  54. would not make any compromises to accommodate them.  Very definitely
  55. our goal was to develop standards for genuine UNIX variants, not to
  56. provide a "Software Tools" style of Portable Operating System evironment.
  57.  
  58. We used the same argument when we decided that NFS was simply going to
  59. have to be ruled non-compliant.  UNIX applications rely on certain
  60. semantics of the file system that NFS did not properly support, and we
  61. decided that it would be a disservice to UNIX applications to remove
  62. the requirement that these useful semantics be preserved.
  63.  
  64. Volume-Number: Volume 20, Number 115
  65.  
  66.