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

Add to Wish List
Ready to Ship!
Check Store Stock


Las Vegas:

Distribution Center:

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

Learn what really happens when your code runs on the machine and you’ll learn to craft better, more efficient code!

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.

What 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.

Table of contents:


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


Author: Jonathan E. Steinhart

August 2019, 504 pp.

ISBN-13: 9781593279707

Write Your Own Review
Only registered users can write reviews. Please Sign in or create an account
We found other products you might like!