Talk:Lions' Commentary on UNIX 6th Edition, with Source Code
|WikiProject Books||(Rated Start-class)|
Legality issues not explained
The article doesn't explain itself very well. Was the publication of Unix source code 1) Authorised by bell labs ? 2) Not authorised or 3) Initially authorized but later rescinded ? What effect did this have on the legality (in the United States and elsewhere) on publishing and circulating the book. Were initial publication but not subsequent reprints permitted ? Could libraries stock/lend old copies ? What is the legal status now and have electronic versions appeared ? 188.8.131.52 (talk) 23:12, 30 October 2015 (UTC)
AT&T Bell Labs lawyers didn't authorize it (and never liked UNIX getting licensed before), but Ritchie, Thompson & other technical folks really wanted to see it get out there, and knew John, who did 3 sabbaticals at Bell Labs, first ~1978, i.e., he was on good terms with them. While lawyers were hassling him, we used his books for internal Bell Labs operating systems courses :-) We liked the idea that UNIX source code would permeate universities.
The Computer History Museum has bound copies of the 2 books, which I donated. They weren't my original copies, which I'd lent and never gotten back, but sometime during 1990s, before John's death in 1998, I visited him and he was kind enough to replace them, as well as sign them for me.JohnMashey (talk) 00:10, 6 July 2017 (UTC)
Simple "but" high quality code
The "You're not expected to understand this" snippet includes a '=&' operator, which seems to be in the cited text too. This isn't a real C operator; can anyone confirm whether that was in the book too? — Preceding unsigned comment added by 184.108.40.206 (talk) 21:34, 28 April 2017 (UTC)
Originally, "=&" was a legal C operator. My January 15, 1974 "C Reference Manual" (Dennis Ritchie) has it, along with "=+", "=-" etc. Those forms were still there in Brian Kernighan's May 6, 1974 "Programming in C: A Tutorial", which notes (p.25) that spaces are critical: x = -10 sets X to -10, x =- 10 subtracts 10 from x, as does x=-10. Brian wrote "This is quite contrary to the experience of most programmers." and "Newer versions of various compilers are courteous enough to warn you about the ambiguity." UNIX V6 was released outside Bell in 1975 and of course was written earlier.
By Ritchie's May 1, 1977 "C Reference Manual" (p.11) he wrote "Notice that the representation of the compound assignment operators has changed, formerly the "=" came first and the other operator came second (without any space). The compiler continues to accept the previous notation." I don't recall exactly when the new form was first accepted, but its use clearly removed the ambiguity and the old form disappeared.JohnMashey (talk) 00:34, 6 July 2017 (UTC)