The Secret Life of Programs

The Secret Life of Programs

Understand Computers -- Craft Better Code
by Jonathan E. Steinhart
August 2019, 504 pp.
ISBN-13: 
9781593279707

Look Inside!

The Secret Life of ProgramsThe Secret Life of ProgramsThe Secret Life of ProgramsThe Secret Life of ProgramsThe Secret Life of Programs

Download Chapter 1: The Internal Language of Computers

The thing works like this.

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.

Author Bio 

Jonathan E. Steinhart has designed graphics hardware and software, and built CAD systems, graphics workstations, circuit simulators, power plants, and languages for integrated circuit design. He has consulted for Apple, Intel, Sun, Welch-Allyn, Lulu, and many others.

Table of contents 

Introduction

Chapter 1: The Internal Language of Computers
Chapter 2: Combinatorial Logic
Chapter 3: Sequential Logic
Chapter 4: Computer Anatomy
Chapter 5: Computer Architecture
Chapter 6: Communications Breakdown
Chapter 7: Organizing Data
Chapter 8: Language Processing
Chapter 9: The Web Browser
Chapter 10: Application and System Programming
Chapter 11: Shortcuts and Approximations
Chapter 12: Deadlocks and Race Conditions
Chapter 13: Security
Chapter 14: Machine Intelligence
Chapter 15: Real-World Considerations

View the detailed Table of Contents
View the Index

Reviews 

“Amazing . . . I highly recommend it if you don't have a very 'computer science' background, like me.”
—Tony Messias, tonysm.com

“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.”
—Ben Miller, Goodreads Reviewer

“This book is amazing. I bought it to refresh my programming basics for courses I teach programming on industrial PLC computers, from beginner to expert. It delves into so much more. Humorous and informative. I highly recommend.”
—Gil Cabrera, Amazon Reviewer

“If you are just learning to code, or if you are a developer who wants a deeper understanding of how your code interacts with the machine, highly recommend!”
—Carmen H. Andoh, @carmatrocity

“If you are looking for a wonderfully complete tour through how a computer actually works from first principles all the way through running a piece of software, The Secret Life of Programs from @nostarch is the way to go.”
—Nick Maxwell, @CodiferousCoder

Updates 

View the latest errata.