The Secret Life of Programs Understand Computers Craft Better Code 1st Edition by Jonathan E. Steinhart – Ebook PDF Instant Download/DeliveryISBN: 1593279714, 9781593279714
Full download The Secret Life of Programs Understand Computers Craft Better Code 1st Edition after payment.

Product details:
ISBN-10 : 1593279714
ISBN-13 : 9781593279714
Author: Jonathan E. Steinhart
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.
The Secret Life of Programs Understand Computers Craft Better Code 1st Table of contents:
1 THE INTERNAL LANGUAGE OF COMPUTERS
What Is Language?
Written Language
The Bit
Logic Operations
Representing Integers Using Bits
Representing Real Numbers
Binary-Coded Decimal System
Easier Ways to Work with Binary Numbers
Naming Groups of Bits
Representing Text
Using Characters to Represent Numbers
Representing Colors
Summary
2 COMBINATORIAL LOGIC
The Case for Digital Computers
A Short Primer on Electricity
Building Hardware for Bits
Logic Gates
Building More Complicated Circuits
Summary
3 SEQUENTIAL LOGIC
Representing Time
Memory Organization and Addressing
Block Devices
Flash Memory and Solid State Disks
Error Detection and Correction
Hardware vs. Software
Summary
4 COMPUTER ANATOMY
Memory
Input and Output
The Central Processing Unit
Instruction Set
The Final Design
RISC vs. CISC Instruction Sets
Graphics Processing Units
Summary
5 COMPUTER ARCHITECTURE
Basic Architectural Elements
Procedures, Subroutines, and Functions
Stacks
Interrupts
Relative Addressing
Memory Management Units
Virtual Memory
System and User Space
Memory Hierarchy and Performance
Coprocessors
Arranging Data in Memory
Running Programs
Memory Power
Summary
6 COMMUNICATIONS BREAKDOWN
Low-Level I/O
Networking
Analog in the Digital World
Human Interface Devices
Summary
7 ORGANIZING DATA
Primitive Data Types
Arrays
Bitmaps
Strings
Compound Data Types
Singly Linked Lists
Dynamic Memory Allocation
More Efficient Memory Allocation
Garbage Collection
Doubly Linked Lists
Hierarchical Data Structures
Storage for the Masses
Databases
Indices
Moving Data Around
Vectored I/O
Object-Oriented Pitfalls
Sorting
Making a Hash of Things
Efficiency vs. Performance
Summary
8 LANGUAGE PROCESSING
Assembly Language
High-Level Languages
Structured Programming
Lexical Analysis
From Words to Sentences
The Language-of-the-Day Club
Parse Trees
Interpreters
Compilers
Optimization
Be Careful with Hardware
Summary
9 THE WEB BROWSER
Markup Languages
Uniform Resource Locators
HTML Documents
The Document Object Model
Cascading Style Sheets
XML and Friends
JavaScript
jQuery
SVG
HTML5
JSON
Summary
10 APPLICATION AND SYSTEM PROGRAMMING
Guess the Animal Version 1: HTML and JavaScript
Guess the Animal Version 2: C
Summary
11 SHORTCUTS AND APPROXIMATIONS
Table Lookup
Integer Methods
Recursive Subdivision
More Math Avoidance
Somewhat Random Things
Summary
12 DEADLOCKS AND RACE CONDITIONS
What Is a Race Condition?
Shared Resources
Processes and Threads
Locks
Browser JavaScript
Asynchronous Functions and Promises
Summary
13 SECURITY
Overview of Security and Privacy
Cryptography
Software Hygiene
Summary
14 MACHINE INTELLIGENCE
Overview
Machine Learning
Artificial Intelligence
Big Data
Summary
15 REAL-WORLD CONSIDERATIONS
The Value Proposition
How We Got Here
The Programming Environment
Development Methodologies
Project Design
Project Development
Be Stylish
Fix, Don’t Re-create
Summary
People also search for The Secret Life of Programs Understand Computers Craft Better Code 1st:
the secret life of programs
the secret life of programs review
the secret life of programs pdf
the secret life of the brain pbs
secret life of programs
Tags: The Secret Life, Programs, Understand Computers, Craft Better, Jonathan Steinhart


