Hot Best Seller

The Secret Life of Programs: Understand Computers -- Craft Better Code

Availability: Ready to download

A primer on the underlying technologies that allow computer programs to work. Covers topics like computer hardware, combinatorial logic, sequential logic, computer architecture, computer anatomy, and Input/Output. Many coders are unfamiliar with the underlying technologies that make their programs run. But why should you care when your code appears to work? Because you want A primer on the underlying technologies that allow computer programs to work. Covers topics like computer hardware, combinatorial logic, sequential logic, computer architecture, computer anatomy, and Input/Output. Many coders are unfamiliar with the underlying technologies that make their programs run. But why should you care when your code appears to work? Because you want it to run well and not be riddled with hard-to-find bugs. You don't want to be in the news because your code had a security problem. Lots of technical detail is available online but it's not organized or collected into a convenient place. In The Secret Life of Programs, veteran engineer Jonathan E. Steinhart explores--in depth--the foundational concepts that underlie the machine. Subjects like computer hardware, how software behaves on hardware, as well as how people have solved problems using technology over time. You'll learn:   •  How the real world is converted into a form that computers understand, like bits, logic, numbers, text, and colors   •  The fundamental building blocks that make up a computer including logic gates, adders, decoders, registers, and memory   •  Why designing programs to match computer hardware, especially memory, improves performance   •  How programs are converted into machine language that computers understand   •  How software building blocks are combined to create programs like web browsers   •  Clever tricks for making programs more efficient, like loop invariance, strength reduction, and recursive subdivision   •  The fundamentals of computer security and machine intelligence   •  Project design, documentation, scheduling, portability, maintenance, and other practical programming realities. Learn what really happens when your code runs on the machine and you'll learn to craft better, more efficient code.


Compare

A primer on the underlying technologies that allow computer programs to work. Covers topics like computer hardware, combinatorial logic, sequential logic, computer architecture, computer anatomy, and Input/Output. Many coders are unfamiliar with the underlying technologies that make their programs run. But why should you care when your code appears to work? Because you want A primer on the underlying technologies that allow computer programs to work. Covers topics like computer hardware, combinatorial logic, sequential logic, computer architecture, computer anatomy, and Input/Output. Many coders are unfamiliar with the underlying technologies that make their programs run. But why should you care when your code appears to work? Because you want it to run well and not be riddled with hard-to-find bugs. You don't want to be in the news because your code had a security problem. Lots of technical detail is available online but it's not organized or collected into a convenient place. In The Secret Life of Programs, veteran engineer Jonathan E. Steinhart explores--in depth--the foundational concepts that underlie the machine. Subjects like computer hardware, how software behaves on hardware, as well as how people have solved problems using technology over time. You'll learn:   •  How the real world is converted into a form that computers understand, like bits, logic, numbers, text, and colors   •  The fundamental building blocks that make up a computer including logic gates, adders, decoders, registers, and memory   •  Why designing programs to match computer hardware, especially memory, improves performance   •  How programs are converted into machine language that computers understand   •  How software building blocks are combined to create programs like web browsers   •  Clever tricks for making programs more efficient, like loop invariance, strength reduction, and recursive subdivision   •  The fundamentals of computer security and machine intelligence   •  Project design, documentation, scheduling, portability, maintenance, and other practical programming realities. Learn what really happens when your code runs on the machine and you'll learn to craft better, more efficient code.

53 review for The Secret Life of Programs: Understand Computers -- Craft Better Code

  1. 4 out of 5

    Łukasz Słonina

    Interesting position, mainly for programmers starting their carieers, but it would be also valueable for more experienced developers. Very good beginning (theory, hardware) then last chapters are just theory, author perspective on software engineering.

  2. 5 out of 5

    Fairul

    way too tedious. It started ok and then most of the stuff explained here seems to be unfocused and convoluted. I have to google most of them myself since the author explaination either "does not focus to the previous item discussed" or "he only explain it in one sentence". I think author explaination need some more work as i mostly struggle to get by. I actually find myself dragging along while drooling and thinking what the hell is he talking about. The example also seems incomplete and present way too tedious. It started ok and then most of the stuff explained here seems to be unfocused and convoluted. I have to google most of them myself since the author explaination either "does not focus to the previous item discussed" or "he only explain it in one sentence". I think author explaination need some more work as i mostly struggle to get by. I actually find myself dragging along while drooling and thinking what the hell is he talking about. The example also seems incomplete and presented in a hard to understand way i guess the book is only suitable to people with at least 90% knowledge of what he talked about or atleast a com science student. Not for a beginner or self taught programmer at all. or maybe i am just stupid noob.

  3. 5 out of 5

    John

    There is a lot to try and grab onto in this book. It is also not the easiest of reads. This is because of how much information is packed into it. I have seen reviews that consider this as reasonable for beginning computer science and programming students. There are places I could understand that. And I have to admit that even the parts that were difficult, I gleaned some new understandings. As someone who is trying to learn programming on my own, this might not have been the best first choice fo There is a lot to try and grab onto in this book. It is also not the easiest of reads. This is because of how much information is packed into it. I have seen reviews that consider this as reasonable for beginning computer science and programming students. There are places I could understand that. And I have to admit that even the parts that were difficult, I gleaned some new understandings. As someone who is trying to learn programming on my own, this might not have been the best first choice for understanding computer science fundamentals, but it was still useful. I have an appreciation of the complexity of computing and an extended list of things that I need to further study. Favorite chapter: Security.

  4. 5 out of 5

    Daniel

    I read the paper back version of The secret life of programs. I am giving it a 5 out of 5 because I enjoyed it a lot. If I remember right The secret life of programs takes the reader from the building blocks of a computer logic games and Boolean algebra through programming and security. The whole book was fascinating to me. I only wish I understood what I was reading. I will have to read the book again. Hopefully. Two of my favorite chapters were the chapter about Security and the chapter about wh I read the paper back version of The secret life of programs. I am giving it a 5 out of 5 because I enjoyed it a lot. If I remember right The secret life of programs takes the reader from the building blocks of a computer logic games and Boolean algebra through programming and security. The whole book was fascinating to me. I only wish I understood what I was reading. I will have to read the book again. Hopefully. Two of my favorite chapters were the chapter about Security and the chapter about what programs to learn after reading the book. I hope I have that right. If you want to learn lots of cool information about computers I think you will like The secret life of programs.

  5. 5 out of 5

    Marco Neves

    The usefulness of this book decreases as the book progresses. The initial chapters are good references to some basic topics in computer science, like numeric bases frequently used, memory usage or logic gates. But as the book progresses, the topics become more complex and are explained more and more lightly to become just small summaries of the topics, often without even the multiple dimensions of the topic or basic presentation of the multiple approaches to the topic. It would be better to leave The usefulness of this book decreases as the book progresses. The initial chapters are good references to some basic topics in computer science, like numeric bases frequently used, memory usage or logic gates. But as the book progresses, the topics become more complex and are explained more and more lightly to become just small summaries of the topics, often without even the multiple dimensions of the topic or basic presentation of the multiple approaches to the topic. It would be better to leave some of the topics out and expand more on the topics left as it is done in the initial chapters.

  6. 4 out of 5

    Sean Edwards

    Enjoyable book that looks at computers from binary and logic gates up to software development theory. Most of the topics are covered only briefly, but it was enough to get me to do further research online on certain topics. There are some parts in this book that my eyes simply glazed over because I didn't have a clue what was being talked about, but they weren't frequent enough to ruin my enjoyment. If you're new to programming/computer science, this book is a good read to get your feet wet and Enjoyable book that looks at computers from binary and logic gates up to software development theory. Most of the topics are covered only briefly, but it was enough to get me to do further research online on certain topics. There are some parts in this book that my eyes simply glazed over because I didn't have a clue what was being talked about, but they weren't frequent enough to ruin my enjoyment. If you're new to programming/computer science, this book is a good read to get your feet wet and will act as a jumping off point for a variety of topics in the field.

  7. 5 out of 5

    Ben Miller

    This book was truly a good companion to the start of my CS degree. It gave me background in the computer engineering sphere and a solid foundation in many CS topics, and I am already starting to experience many of the lessons this book gives. This also sets you up well to explore the topics you are more interested in.

  8. 4 out of 5

    Saul Rubio

    Best book to read in the first semesters of Computer Science

  9. 4 out of 5

    Marco Campos

  10. 5 out of 5

    Michael

  11. 4 out of 5

    Kevin

  12. 5 out of 5

    No Starch Press

  13. 4 out of 5

    Matthew Clarke

  14. 4 out of 5

    Jangsea Park

  15. 5 out of 5

    Manuel Arruda

  16. 4 out of 5

    William Oliveira

  17. 4 out of 5

    Marc

  18. 4 out of 5

    Todd

  19. 5 out of 5

    Carl

  20. 4 out of 5

    Michael

  21. 4 out of 5

    Ben Jammin'

  22. 4 out of 5

    Denghui Wang

  23. 4 out of 5

    Oliver Taylor

  24. 5 out of 5

    Dale Alleshouse

  25. 4 out of 5

    Brad

  26. 4 out of 5

    Thomas R Burrell

  27. 5 out of 5

    Dan Drake

  28. 4 out of 5

    Anti

  29. 5 out of 5

    Wallis Chan

  30. 4 out of 5

    Harry

  31. 4 out of 5

    Sunder

  32. 5 out of 5

    Matt Newman

  33. 5 out of 5

    Talel

  34. 5 out of 5

    Joshua Sandeman

  35. 4 out of 5

    Benjamin Finley

  36. 4 out of 5

    Dmitry Marcautan

  37. 5 out of 5

    Ethan

  38. 4 out of 5

    Xavier

  39. 5 out of 5

    Tarun Vangani

  40. 5 out of 5

    Tom

  41. 4 out of 5

    Jeff

  42. 4 out of 5

    Arpit Srivastava

  43. 5 out of 5

    Jan

  44. 5 out of 5

    Muminur

  45. 5 out of 5

    Anna Crawford

  46. 4 out of 5

    Carsten

  47. 4 out of 5

    Andrew

  48. 4 out of 5

    Miguel Caetano

  49. 5 out of 5

    Doug Yasso

  50. 4 out of 5

    Naqbi

  51. 5 out of 5

    Shredline

  52. 4 out of 5

    Heath L LAwson

  53. 4 out of 5

    Lucas

Add a review

Your email address will not be published. Required fields are marked *

Loading...