3 ms·
>why are you Unix people making a POSIX standard which covers the shell command language, if you're going to insist on one reference implementation being used o
by Sir_Cmpwn 11y ago
>why are you Unix people making a POSIX standard which covers the shell command language, if you're going to insist on one reference implementation being used on everyone? Just dump the source code listing of that into a document, add a few comments here and there, and call it the standard.
Any shell that isn't compatible with the _reference_ implementation of that shell is flawed.
- kazinator 11y agoThe POSIX standard that came into effect in 1990 doesn't contain or assert any reference implementation. A reference implementation accompanying a document can be at odds with the specification. If a document says that a reference implementation shall be held correct if there is any discrepancy, then specification is greatly diminished in value. It's obviously just a best effort to describe the reference implementation, and not a forceful standard. What if a buffer overflow is discovered in the reference implementation? Everyone must have the same one to be compatible?
- Sir_Cmpwn 11y agoWell, your comments are valid. To be fair, though, if Microsoft was truly aiming to be compatible, they'd implement POSIX and you could use whatever shell implementation you wanted to.
- kazinator 11y agoBut that environment would have to provide a shell that users would need in order to build whatever shell they want. In the discussed scenario, it appears Microsoft were working with the MKS vendor, relying on them to provide compatibility. Microsoft eventually bought something called OpenNT in the late 1990's and renamed it Interix. Microsoft also had their own licensed and branded AT&T Unix called Xenix in the 1980's: https://en.wikipedia.org/wiki/Xenix https://en.wikipedia.org/wiki/Xenix They helped make Unix popular: Xenix had the biggest installed base among Unixes. In the mid 1990's, I visited a computer animation school which had a classroom for learning Unix. It was equipped with some vanilla PC box which ran Microsoft Xenix, and about a dozen terminals attached to it. Students would sit at these terminals and follow the instructor along, running shell commands, editing with vi and so on.