‘Programming from the ground up’ the main idea of this one is to teach programming in a bottom up way, so very low level.
it’s mostly about teaching (linux) assembly to beginners, so in a way it is just learning a new language. But it’s mainly about understanding low level how a computer works, like registers, kernel calls, how function calls are handled, all for beginners. It’s really easy to pick up.
Knowing those fundamentals can go a long way in understanding other computing concepts.
Others that come to mind are :
- Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
- A Philosophy of Software Design
- Software Architecture: The Hard Parts"
You could give helix a try, feature/functionality wise it’s almost vim, but with 0 config needed and all commands easily discoverable which is closer to nano.
As someone who really tried to get into modal editors, both emacs and vim, for years, it was the first one where i was reasonably fast after a short time and it was easy to discover the keybindings.