For me, this book finally told the human story behind so many CLI commands and ideas I'd been using for decades.
https://www.amazon.com/UNIX-History-Memoir-Brian-Kernighan/d...
https://www.amazon.com/UNIX-History-Memoir-Brian-Kernighan/d...
Relatedly: Brian Kernighan's Unix: A History and a Memoir was an enjoyable read.
https://www.amazon.com/UNIX-History-Memoir-Brian-Kernighan/d... (not an affiliate link).
https://www.amazon.com/UNIX-History-Memoir-Brian-Kernighan/d...
"i decided that it was close to a time sharing system, just lacking an exec call, a shell, an editor, and an assembler. (no compilers) the exec call was trivial and the other 3 were done in 1-week each" ... "in mid to late 1969" - Ken Thompson [1]
[0] https://en.wikipedia.org/wiki/Comparison_of_command_shells
[1] Page 34, UNIX: A History and a memoir - Brian Kernighan. https://www.amazon.com/UNIX-History-Memoir-Brian-Kernighan/d...
https://www.amazon.com/UNIX-History-Memoir-Brian-Kernighan/d...
https://www.amazon.com/Brian-W-Kernighan/dp/1695978552/ref=s...
I came away with a much clearer picture of how these systems were developed, and I am a little better on the command line for understanding the original philosophy better as well.
https://www.amazon.com/UNIX-History-Memoir-Brian-Kernighan/d...
[1] https://www.amazon.com/UNIX-History-Memoir-Brian-Kernighan/d...
I love reading about the development of early programming languages and computing environments, but I was surprised to find how helpful it is for deepening my understanding of things I use every day. It's amazing to me that tools like grep, which I use without a second thought, were written in the 1960s and 1970s and the code behind them hasn't been changed all that much.
https://www.amazon.com/UNIX-History-Memoir-Brian-Kernighan/d...
Australia: A$11.99 [my local site] https://www.amazon.com.au/dp/B07ZQHX3R1/
or US$8.20 https://www.amazon.com/dp/B07ZQHX3R1/
vs printed book US$18 https://www.amazon.com/dp/1695978552
Unix was an effort to take Multics, an operating system that had gotten too modular, and integrate the good parts into a more unified whole (book recommendation: https://www.amazon.com/UNIX-History-Memoir-Brian-Kernighan/d...).
Even though there were some benefits to the modularity of Multics (apparently you could unload and replace hardware in Multics servers without reboot, which was unheard of at the time), it was also its downfall. Multics was eventually deemed over-engineered and too difficult to work with. It couldn't evolve fast enough with the changing technological landscape. Bell Labs' conclusion after the project was shelved was that OSs were too costly and too difficult to design. They told engineers that no one should work on OSs.
Ken Thompson wanted a modern OS so he disregarded these instructions. He used some of the expertise he gained while working on Multics and wrote Unix for himself (in three weeks, in assembly). People started looking over Thompson's shoulder being like "Hey what OS are you using there, can I get a copy?" and the rest is history.
Brian Kernighan described Unix as "one of" whatever Multics was "multiple of". Linux eventually adopted a similar architecture.
More here: https://benoitessiambre.com/integration.html