Alan Kay' answer on What 's the best book for self-studying computer architecture and programming from the bottom up

By | 2019-09-19 | including 1 item |
I’m in London for a few months more and away from my main library, so I can’t list the books I’ve found in the past. I can say that none of them lived up to the corresponding book in molecular biology: “The Molecular Biology of the Cell” by Bruce Alberts, et al.
read more on qr.ae
#1  Molecular Biology of the Cell
Book / 9780815341055 / Bruce Alberts, et al.  / November 16, 2007 / 1
Over a 1000+ pages, this takes the reader from elementary chemistry all the way through how life works, in enough well written detail to be understandable. There are still a few supplementary books that help a lot (for example: “Cell Biology By The Numbers” by Philips and Milo). I think this would be OK for the current question. Since I haven’t looked for a few years, my plan here is to buy and read all the suggestions made by the other answerers, and hope that a few good answers turn up. I will then report on them. What I’d like to see is a book that starts with the many ways to make logic gates — as Danny Hillis’ “The Pattern in the Stone” does — and then moves to abstractions — such as the “stick diagrams” in Mead and Conway’s “Introduction to VLSI Systems” to sketch out simple memories, addressing schemes, data paths, etc. for something like a simple RISC architecture. The control for this could be a simple microcode (and later more microcode could be added in a separate memory). We want to get to software as quickly as possible so the hardware design here can be a lot of fun to choose just what will help SW without itself getting too tricky. Then we could “bootstrap a bootstrapping system” — could be a simple virtual machine in which symbolic processing to make a language could be done. And this could be used to write an operating system kernel that is expressed as the basic level objects in a protected object-based system. From here it would be easy to show how a modern UI and end-user tools could be made in a few thousand lines of code. This gets at the essence of the “chain of being” without having to delve into the needless and enormous complications of modern hardware and software, most of which is quite superfluous to both understanding and even most practical usage.