We use software every day to perform all kinds of magical, powerful tasks. It's the force behind stunning CGI graphics, safe online shopping, and speedy Google searches. Software drives the modern world, but its inner workings remain a mystery to many.How Software Works explains how computers perform common-yet-amazing tasks that we take for granted every day.Inside you'll –How data is encrypted–How passwords are used and protected–How computer graphics are created–How video is compressed for streaming and storage–How data is searched (and found) in huge databases–How programs can work together on the same problem without conflict–How data travels over the InternetHow Software Works breaks down these processes with patient explanations and intuitive diagrams so that anyone can understand—no technical background is required, and you won't be reading through any code. In plain English, you'll examine the intricate logic behind the technologies you constantly use but never understood.If you've ever wondered what really goes on behind your computer screen, How Software Works will give you fascinating look into the software all around you.
{I'd like to give a big thank you to my good friend Martin for giving me a copy of this book and for making it possible for me to indulge my curiosity.}
'Science fiction author Arthur C. Clarke wrote that “any sufficiently advanced technology is indistinguishable from magic.” If we don’t know how something works, then it might as well be explained by supernatural forces. By that standard, we live in an age of magic'.
I've always been vaguely interested in how software works but I never really gave into my curiosity for everyday technologies. Now I have the perfect opportunity to learn something new (and hope it sticks), fulfil my new year's reading resolution of expanding my reading horizon and try to read something educational and informative that'll helping me to see the world in a new light. It might take me months to read this book as I dip in and out of it at my own leisure, but I'll get there in the end.
'Anyone can learn how software works. All you need is curiosity. Whether you’re a casual fan of technology, a programmer in the making, or someone in between, this book is for you'.
Some of the topics were better stretched out than others but all in all, it's a pretty good introduction to how some of the most commonly used everyday software technologies operate on the inside.
This book covers ‘the most commonly used processes in software’ and is aimed at the ‘casual fan of technology, a programmer in the making, or someone in between....’
Within a 200 page book, it would not have been possible to cover every possible application, so the contents include the following -
Passwords; Web security; CGI; Video game graphics; Data compression; Search; Concurrency; Map routes. These topics were selected by the author as being ‘those that are most central to our daily lives’.
Each topic is broken down into the basic principles, followed by a much more detailed technical overview.
A typical approach is the chapter on data compression. This starts off with a bit of history, then follows a description of general compression techniques (Huffman encoding for example), and then in some detail, how .jpeg and High-Def video files are compressed.
Quite how the author consistently manages to avoid references to any programming languages, or even a single line of code, is a remarkable achievement in itself.
If you want to learn more about things like temporal compression, rendering techniques, RSA encryption, 3D CGI and a whole lot more, and are relatively comfortable with some maths, then this book is for you.
For such a well-structured, well-written book there were a surprising lack of sources, references and further reading, however there is a good index.
A highly enjoyable read into the inner workings behind these applications we take for granted, and a good all round publication.
I mean, it's pretty basic, but it does give a good overview of the various topics covered inside it. I feel like the binary search section could've used a bit more on binary search trees, because otherwise it's kinda like "why can you do this? how do you know where to look?" etc. Really, I just wish I'd had this at the beginning of the semester when I had to learn this stuff, but with less friendly materials.
A weird mix of low-level implementation information and high-level hand-waving that doesn't really seem to be a good fit for any level of algorithmic sophistication. Grokking Algorithms is much better for newbies or laypeople. More advanced readers should probably be reading specialized books for the topics presented in the book.
Exceptional introduction to encryption, security and hashing. A definite 'AWESOME' read for anyone who wants to know whats under the hood of classic software.
uma leitura um pouco mais difícil do que eu esperava - o que é razoável, na verdade, porque não basta apenas ler sobre algoritmos e matemática: a forma de entender realmente como funciona é pondo em prática por conta própria
Definitely worth a peek if you're reeeeeally interested in how software like encryption algorithms and route mapping programs work. Lots of math... lots of terminology. I wouldn't recommend it unless you have an interest in how gaming graphics are produced or you just need to know how a Google search works. Overall, very well written, the author did a fairly good job of avoiding technical jargon, although some of it could not be avoided. This is a technical manual. Non-fiction at its best and driest.
Good overview overall! This wouldn't have been an easy book to write. The author really does a solid job being informative without dragging the reader through pedantic details. So into more visual books about technology, I would like to see something more visually oriented like those.