5 ms·
The phrase "POSIX.2" is archaic. If POSIX is IEEE Std 1003, then "POSIX.1" is IEEE Std 1003.1, "POSIX.2" is IEEE Std 1003.2, and so on. In the first revisions
by LukeShu 6y ago
The phrase "POSIX.2" is archaic. If POSIX is IEEE Std 1003, then "POSIX.1" is IEEE Std 1003.1, "POSIX.2" is IEEE Std 1003.2, and so on.
In the first revisions, 1003.1 specified "Core Services" (mostly the C language stuff), and 1003.2 specified "Shell and Utilities". But when the Austin Group formed in 1997, they decided to roll the shell and utilities in to 1003.1. There no longer is a .2; it's been deprecated by 1003.1-2001 and all revisions since then.
- chasil 6y agoIf POSIX.2 is archaic, then would you call POSIX job control precambrian? This reminds me of the stagnation of CMD.EXE, the origins of which appear to lie with OS/2.
- LukeShu 6y agoSure POSIX job control is old and janky, but it's still in modern POSIX.1, as it has been for 20 years now; while POSIX.2 has been dead for 20 years now.
- chasil 6y agoThe userland behavior of POSIX is separate from the C API. While I haven't read the latest standards, the only way to specifically address the userland is with "POSIX.2" (which is how the wiki does it). If there is a better way to say it, then the wiki should be updated.
- chasil 6y agoAlso, "The New Kornshell" (by Korn) has the following commentary in the "About this book" section: "ksh is intended to conform to the Shell Language Standard developed by the IEEE POSIX 1003.2 Shell and Utilities Language Committee." What term better describes the purview of that committee (alone) than POSIX.2?
- LukeShu 6y ago"The New Kornshell" (2nd ed) was published in 1995, when POSIX.2 was a thing, and there was a separate "Shell and Utilities Language Committee". In 1997, that committee (the 1003.2 committee) merged with several other committees (including the 1003.1 committee) to form a unified committee called the "Austin Group". The Austin Group publishes a their work as a combined 1003.1; there is no longer a separate 1003.2 standard or committee. There are still several other separate "1003.x" standards+committees for languages other than C and Shell that did not become part of the Austin Group (such as 1003.5 for the POSIX Ada interface). But 1003.2 is no longer one of those separate standards+committees. If Korn were to write that sentence today, he might instead write "ksh is intended to conform to the Shell Language Standard developed by the Austin Group and published as IEEE POSIX 1003.1 Volume 3."
- chasil 6y agoLet me ask you another question. If I was to write another article, "Breaking the chains of POSIX," where do you think I should focus? POSIX job control was a soft target, and I had imagined my next focus to be the "local" keyword in shell functions. Do you have suggestion on a better weakness in POSIX to encourage improvement? Microsoft's powershell is evolving, and the POSIX shell is ossified. I think the POSIX shell standard must evolve to remain competitive. If you agree, where should this improvement be encouraged?
- LukeShu 6y ago> The userland behavior of POSIX is separate from the C API. Yes, the C API is specified in IEEE 1003.1 volume 2 ("System Interfaces", abbreviated as "XSH"), and since 2001 the userland behavior is specified in IEEE 1003.1 volume 3 ("Shell and Utilities", abbreviated as "XCU"). (Volume 1 is "Base Definitions"/"XBD" and volume 4 is "Rationale"/"XRAT"). > the only way to specifically address the userland is with "POSIX.2" The way to specifically address the shell and utilities is to refer to the volume within POSIX.1; you can do this by number ("Volume 3"), by name ("the Shell and Utilities volume"), or by abbreviation ("XCU"). > If there is a better way to say it, then the wiki should be updated. Yes it should. Which wiki are you referring to?
- chasil 6y agoThis is the wiki section that isolates the shell & utilities best: https://en.wikipedia.org/wiki/POSIX#Parts_before_1997 https://en.wikipedia.org/wiki/POSIX#Parts_before_1997 In all the others, it is combined with the C API, and other OS standards.
- LukeShu 6y agoYes, that section of the article is discussing historical POSIX prior to 1997. The next section discusses the forming of the Austin Group and from then on only talks about 1003.1. The only place that article uses the phrase "POSIX.2" is to refer to the historical 1003.2-1992 (that "1992" is a year, if that's not clear).
- JdeBP 6y agoCMD was based upon COMMAND, which in turn has roots in CCP.