Write Great Code, Volume 2

Write Great Code, Volume 2

Thinking Low-Level, Writing High-Level
by Randall Hyde
March 2006, 640 pp.

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.

Author Bio 

Randall Hyde is the author of The Art of Assembly Language, one of the most highly recommended resources on assembly, and Write Great Code, Volume 1. He is also the co-author of The Waite Group's MASM 6.0 Bible. He has written for Dr. Dobb's Journal and Byte, as well as professional journals. His website is available here.

Table of contents 

Write Great Code, Volume 2: Brief 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 Programmatic Decisions
Chapter 15: Iterative Control Structures
Chapter 16: Functions and Procedures

Engineering Software
Appendix: A Brief Comparison of the 80x86 and PowerPC CPU Families

Online Appendix A: The Minimal 80x86 Instruction Set
Online Appendix B: The Minimal PowerPC Instruction Set


"Set aside some money and buy this book, or get a friend to buy it and get it from them while still in the store. When you get home, read it TWICE so that you master what is in these pages. Then read it again."
DevCity, September 24, 2006 (Read more)

Sample chapter reprinted
LinuxWorld, August 24, 2006 (Read more)

"The cost and the benefits descriptions of the different programming statements is this book's value . . . While the author claims not to 'teach anything revolutionary,' high-level programmers beyond novice should consider Randall Hyde's opinions."
Unix Review, August 26, 2006 (Read more)

Contributed article by Randall Hyde entitled, "The Fallacy of Premature Optimization"
ACM Ubiquity, June 27, 2006 (Read more)

"This is one of those books that most serious software developers should have sitting on their shelves."
Duffbert's Random Musings, June 25, 2006 (Read more)

"This second volume in the series describes methods for choosing high-level language (HLL) statements to create the most efficient machine code when using a modern optimizing compiler."
Book News, June 2006 (Read more)

"What I did like about this book is the plethora of options that are presented."
Electronic Design, June 6, 2006 (Read more)

"Exceeds its goal of helping developers pay more attention to application performance . . . a must for any high-level application developer."
Free Software Magazine, May 9, 2006 (Read more)

Book excerpt posted; "As a high-level-language programmer, if you want to know what's really going on with your programs, you need to spend a little time learning assembly language—and you won't find an easier introduction."
DevX, April 14, 2006 (Read more)

"It would be an understatement to say [Hyde] has a good handle on this subject . . . Readers who are experienced developers with a genuine interest in writing quality code will get a lot out of this book."
WithAT, April 14, 2006 (Read more)

"This is a good book. A very very good book. Frankly, I'm blown away at the quality of writing."
Toronto Ruby User Group, February 22, 2006 (Read more)