home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / std_unix / volume.19 / text0082.txt < prev    next >
Encoding:
Internet Message Format  |  1990-05-17  |  6.8 KB

  1. From: Doug Gwyn <uunet!smoke.brl.mil!gwyn>
  2.  
  3. In article <1990Apr17.225128.7324@ico.isc.com> >From: Jeffrey S. Haemer <jsh@usenix.org>
  4. >       Watch .1b like a hawk, though.  Any new functionality, slipped into
  5. >       supplements and appendices, carries the same risks as riders on
  6. >       congressional bills; ...
  7. >       I recommend resisting any effort to add functionality for which there
  8. >       aren't existing implementations in wide use, and about which there
  9. >       isn't already general consensus.
  10.  
  11. It would also be nice if people didn't specify conformance to 1003.1b
  12. just because it's there; for example, it's not clear to me that it
  13. would need to be incorporated into any FIPS.  There were good reasons
  14. for leaving out of 1003.1 many of the facilities that are likely to
  15. creep in as part of 1003.1b, and therefore the additions should not
  16. be picked up automatically.  Just because something is a standard
  17. does not mean that it should be required, especially if it interferes
  18. with long-term improvements in the computing environment (which is
  19. what the USENIX Watchdog Committee is most concerned with).
  20.  
  21. >       Parenthetically, I'll admit to being mystified by the dim view some
  22. >       folks take of the UPE.  I actually put programmer portability above
  23. >       program portability, since, when I go looking for new jobs I can't
  24. >       take our software with me, but do want to be sure that I can still use
  25. >       vi.
  26.  
  27. It seems most unlikely to me that you have the option of specifying
  28. IEEE 1003.2 conformance when you interview with a prospective employer.
  29. I believe that the main point of these standards is to attain improved
  30. portability for applications.
  31.  
  32. Besides, why should I have to support both "vi" and "emacs" on my systems
  33. when we're all using "sam" instead?  It gains me NOTHING (because imported
  34. software is not going to require these interactive facilities) and costs
  35. me a bunch.
  36.  
  37. >       In short, we who do ports will have to keep track of how to invoke the
  38. >       C compiler on each of our target machines; .2 will not have enhanced
  39. >       portability in this area of our work.
  40.  
  41. Presumably, if your code follows the C standard as well as IEEE 1003.2,
  42. you'd simply invoke "c89" without K&R1 flags.  If you insist on K&R1 C,
  43. you're already outside the scope of standards.  I think it's true that
  44. one won't know exactly what to expect when invoking "cc", but that is
  45. already the case.  "c89" should (if 1003.2 gets the spec right) obtain
  46. predictable (i.e., standard!) behavior, which will be an improvement.
  47.  
  48. >       ...  Dot three isn't always popular; one hears
  49. >       complaints that they come up with interpretations that seem contrary
  50. >       to the intention of the original standards committees.
  51.  
  52. The most serious problem that I've heard of in this regard is that the
  53. NIST-supplied 1003.1 conformance test suite insists on seeing error
  54. returns in cases where the clear intent of 1003.1 was to permit
  55. extensions.  1003.1 specifies two categories of errors:  those that
  56. are required to be reported WHEN THE CONDITION OCCURS, and those that
  57. are required to be reported WHEN THE CONDITION IS DETECTED.  The
  58. distinction is that the latter case covers such things as feeding an
  59. invalid pointer to a function for a buffer address, a case where many
  60. implementations cannot guarantee reliable detection of all possible
  61. abuses (at least, not without an intolerable penalty in execution speed).
  62. In neither case is it generally required that an error occur, if the
  63. implementation is able to provide support for an extension.  For
  64. example, suppose an implementation permitted cross-device hard links.
  65. That would be a nice extension (assuming it could be done well), and
  66. there is no reason to take 1003.1 as forbidding such extensions.
  67.  
  68. >       The threads subgroup (1003.4A) has attempted to kill the .4 ballot by
  69. >       a block vote for rejection.  One correspondent says they are doing
  70. >       this because .4 is no good without threads.
  71.  
  72. I'd like to hear an explanation of this assertion.  Certainly, for
  73. years we've been developing real-time applications without support
  74. for threads.  They seem like separable issues to me.
  75.  
  76. >       ... and a commitment to a direction ISO
  77. >       intends to take for all its standards:  language independence.
  78.  
  79. Something is not right here, because clearly ISO standards for
  80. programming languages themselves cannot be language-independent.
  81. Perhaps the actual ISO position is that AVOIDABLE language dependence
  82. should be avoided?  I'd like to take the point of view that some
  83. languages are unsuitable for the kind of systems programming that
  84. C was designed for, and it makes no sense to include such languages
  85. when you're talking about systems-programming interfaces.  Does there
  86. really have to be a BASIC binding (or at least support for one) for
  87. 1003.4, for example?  I would think not..
  88.  
  89. >      ....  Adding these new
  90. >      functions would require that the vendor's FORTRAN compiler actu-
  91. >      ally handle REALs.  Think about that.
  92.  
  93. Using Berkeley's term, it's a "lame" argument!  If one wants a full
  94. Fortran compiler, he specifies conformance to the Fortran standard.
  95. If one wants support for the POSIX system interface, he specifies
  96. 1003.1 (or 1003.9) conformance.  And so forth.  It is silly to
  97. expect a standard to accomplish some standardization purpose for
  98. which it was never intended.
  99.  
  100. Note that there are numerous standard C language features that are
  101. not exercised by the 1003.1 C language binding.  In fact, specifying
  102. 1003.1 (C binding flavor) does not guarantee that you even get a C
  103. compiler, much less one that conforms to the C standard.  (For that,
  104. you need to also specify conformance to the C standard.)  Nobody
  105. thought that that was a problem; why is it any different for Fortran?
  106.  
  107. >       At the last USENIX, in Washington D.C., Jim Isaak, the SEC chair,
  108. >       explained to the well-attended standards BOF that there is really no
  109. >       easy way to dissolve a committee.  If volunteers show up to staff the
  110. >       working group, follow the IEEE rules, and eventually circulate a bal-
  111. >       lot that passes, they've created an IEEE standard.
  112.  
  113. I think the important thing to recognize is that just because a
  114. standard exists (particularly an IEEE standard, many of which have
  115. in the past been of interest only to small special-interest groups)
  116. does not mean that purchasers have to specify compliance with it.
  117. In particular, it should by no means be automatic that ISO and NIST
  118. promote any and all IEEE standards at the IS and FIPS level.  Only
  119. when there is demonstrable long-term benefit that outweighs the
  120. drawbacks would it be rational to do so.  I think a case could be
  121. made for 1003.1 and 1003.1a, maybe one or two of the other
  122. forthcoming POSIX standards, but certainly not for all of them.
  123.  
  124. Maybe the thing to do is to lean on Roger Martin, to get him to
  125. take it easy on pushing unwanted standards as FIPS.
  126.  
  127. Volume-Number: Volume 19, Number 85
  128.  
  129.