I really enjoyed reading How Software Works: The Magic Behind Encryption, CGI, Search Engines, and Other Everyday Technologies. The author, V. Anton Spraul, also wrote Think Like A Programmer, which I reviewed three years ago. This book, like the older one, is not a “how-to” book in the sense of learning syntax, grammar, or other programming language-specific information. This is a conceptual book, one that explains the details of what software does algorithmically when performing tasks that seem like magic. The goal is to walk the reader through the most commonly used processes in software, but without using a single line of programming code.
Granted, some of the explanations of the processes are simplified, but these high-level descriptions are clear and accurate. They will be useful to anyone who is curious and wants to understand from a conceptual level, rather than only from a language-specific detail level. This is not a book about implementation, rather one about understanding.
Topics covered include encryption, passwords, web security, movie CGI and video game graphics, data compression, search, concurrency, and route mapping. While the topics are not necessarily connected in the sense that every chapter leads into another or builds on the one previous to it, all the topics covered are incredibly common things that each of us has witnessed being done on a computer. Even better, each is covered with a clear writing style and using explanations that are smooth and unladen with unnecessary jargon. Vocabulary is introduced as appropriate, but a novice could pick up the book and find the prose comprehensible and the topics presented in a way that requires no prior knowledge.
I am impressed. If the topic interests you, you will enjoy and benefit from the book.