Write Great Code - Vols I-II

Posted By: maxand
Write Great Code - Vols I-II

Randall Hyde, Write Great Code, Volume 1: Understanding the Machine
ISBN-10 1593270038 | 2004 | CHM | 8.4 Mb uncompressed

Volume I teaches important concepts of machine organization in a language-independent fashion. Volume II teaches ways to write high-level language code to help the compiler produce high-quality machine code. By Randall Hyde, author of "The Art Of Assembly Language".
Today's programmers are often narrowly trained because the industry moves too fast. That's where this new series from Randall Hyde (author of The Art of Assembly Language) comes in. This, the first of four volumes, teaches important concepts of machine organization in a language-independent fashion, giving programmers what they need to know to write great code in any language, without the usual overhead of learning assembly language to master this topic. The Write Great Code series will help programmers make wiser choices with respect to programming statements and data types when writing software.

Volume I: Table of Contents

Chapter 1: What You Need to Know to Write Great Code
Chapter 2: Numeric Representation
Chapter 3: Binary Arithmetic and Bit Operations
Chapter 4: Floating Point Representation
Chapter 5: Character Representation
Chapter 6: Memory Organization and Access
Chapter 7: Composite Data Types and Memory Objects
Chapter 8: Boolean Logic and Digital Design
Chapter 9: CPU Architecture
Chapter 10: Instruction Set Architecture
Chapter 11: Memory Architecture and Organization
Chapter 12: Input and Output (I/O)
Chapter 13: Thinking Low-Level, Writing High-Level
Appendix A: ASCII Character Set

Write Great Code - Vols I-II

Randall Hyde, Write Great Code, Volume 2: Thinking Low-Level, Writing High-Level
ISBN-10 1593270658 | 2006 | PDF | 4.4 Mb uncompressed

It's a critical lesson that today's computer science students aren't always being taught: How to carefully choose their high-level language statements to produce efficient code. Write Great Code, Volume 2: Thinking Low-Level, Writing High-Level shows software engineers what too many college and university courses don't - how compilers translate high-level language statements and data structures into machine code. Armed with this knowledge, they will make informed choices concerning the use of those high-level structures and help the compiler produce far better machine code - all without having to give up the productivity and portability benefits of using a high-level language.

Table of Contents:

Chapter 1: Thinking Low-Level, Writing High-Level
Chapter 2: Shouldn't You Learn Assembly Language?
Chapter 3: 80x86 Assembly for the HLL Programmer
Chapter 4: PowerPC Assembly for the HLL Programmer
Chapter 5: Compiler Operation and Code Generation
Chapter 6: Tools for Analyzing Compiler Output
Chapter 7: Constants and High-Level Languages
Chapter 8: Variables in a High-Level Language
Chapter 9: Array Data Types
Chapter 10: String Data Types
Chapter 11: Pointer Data Types
Chapter 12: Record, Union, and Class Data Types
Chapter 13: Arithmetic and Logical Expressions
Chapter 14: Control Structures and Programatic Decisions
Chapter 15: Iterative Control Structures
Chapter 16: Functions and Procedures
Chapter 17: Engineering Software
Appendix: A Brief Comparison of the 80x86 and PowerPC CPU Families

Home page:

Download includes source code for Vol I and Appendixes A and B for Vol II.

Volume III is currently being written and Volume IV is in the design stage, see home page.

Download links to 2-volume set (13 Mb):

passwd: randallhyde

Mirrors welcome.